12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- - content_for :header_tags do
- = render_initial_state
- = javascript_pack_tag 'public', crossorigin: 'anonymous'
- - content_for :body_classes, 'player'
- :ruby
- meta = @media_attachment.file.meta || {}
- - if @media_attachment.video?
- = react_component :video,
- alt: @media_attachment.description,
- blurhash: @media_attachment.blurhash,
- detailed: true,
- editable: true,
- frameRate: meta.dig('original', 'frame_rate'),
- height: 380,
- inline: true,
- media: [ActiveModelSerializers::SerializableResource.new(@media_attachment, serializer: REST::MediaAttachmentSerializer)].as_json,
- preview: @media_attachment.thumbnail.present? ? @media_attachment.thumbnail.url : @media_attachment.file.url(:small),
- src: @media_attachment.file.url(:original),
- width: 670 do
- %video{ controls: 'controls' }
- %source{ src: @media_attachment.file.url(:original) }
- - elsif @media_attachment.gifv?
- = react_component :media_gallery,
- autoplay: true,
- height: 380,
- media: [ActiveModelSerializers::SerializableResource.new(@media_attachment, serializer: REST::MediaAttachmentSerializer).as_json],
- standalone: true do
- %video{ autoplay: 'autoplay', muted: 'muted', loop: 'loop' }
- %source{ src: @media_attachment.file.url(:original) }
- - elsif @media_attachment.audio?
- = react_component :audio,
- accentColor: meta.dig('colors', 'accent'),
- alt: @media_attachment.description,
- backgroundColor: meta.dig('colors', 'background'),
- duration: meta.dig(:original, :duration),
- foregroundColor: meta.dig('colors', 'foreground'),
- fullscreen: true,
- height: 380,
- poster: @media_attachment.thumbnail.present? ? @media_attachment.thumbnail.url : @media_attachment.account.avatar_static_url,
- src: @media_attachment.file.url(:original),
- width: 670 do
- %audio{ controls: 'controls' }
- %source{ src: @media_attachment.file.url(:original) }
|