1
0

player.html.haml 1.6 KB

12345678910111213141516
  1. - content_for :header_tags do
  2. = render_initial_state
  3. = javascript_pack_tag 'public', crossorigin: 'anonymous'
  4. - if @media_attachment.video?
  5. = react_component :video, src: @media_attachment.file.url(:original), preview: @media_attachment.thumbnail.present? ? @media_attachment.thumbnail.url : @media_attachment.file.url(:small), blurhash: @media_attachment.blurhash, width: 670, height: 380, editable: true, detailed: true, inline: true, alt: @media_attachment.description do
  6. %video{ controls: 'controls' }
  7. %source{ src: @media_attachment.file.url(:original) }
  8. - elsif @media_attachment.gifv?
  9. = react_component :media_gallery, height: 380, standalone: true, autoplay: true, media: [ActiveModelSerializers::SerializableResource.new(@media_attachment, serializer: REST::MediaAttachmentSerializer).as_json] do
  10. %video{ autoplay: 'autoplay', muted: 'muted', loop: 'loop' }
  11. %source{ src: @media_attachment.file.url(:original) }
  12. - elsif @media_attachment.audio?
  13. = react_component :audio, src: @media_attachment.file.url(:original), poster: @media_attachment.thumbnail.present? ? @media_attachment.thumbnail.url : @media_attachment.account.avatar_static_url, backgroundColor: @media_attachment.file.meta.dig('colors', 'background'), foregroundColor: @media_attachment.file.meta.dig('colors', 'foreground'), accentColor: @media_attachment.file.meta.dig('colors', 'accent'), width: 670, height: 380, fullscreen: true, alt: @media_attachment.description, duration: @media_attachment.file.meta.dig(:original, :duration) do
  14. %audio{ controls: 'controls' }
  15. %source{ src: @media_attachment.file.url(:original) }