You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
1.7 KiB
19 lines
1.7 KiB
- content_for :header_tags do |
|
= render_initial_state |
|
= javascript_pack_tag 'public', crossorigin: 'anonymous' |
|
|
|
:ruby |
|
meta = @media_attachment.file.meta || {} |
|
|
|
- if @media_attachment.video? |
|
= react_component :video, src: @media_attachment.file.url(:original), preview: @media_attachment.thumbnail.present? ? @media_attachment.thumbnail.url : @media_attachment.file.url(:small), frameRate: meta.dig('original', 'frame_rate'), blurhash: @media_attachment.blurhash, width: 670, height: 380, editable: true, detailed: true, inline: true, alt: @media_attachment.description, media: [ActiveModelSerializers::SerializableResource.new(@media_attachment, serializer: REST::MediaAttachmentSerializer)].as_json do |
|
%video{ controls: 'controls' } |
|
%source{ src: @media_attachment.file.url(:original) } |
|
- elsif @media_attachment.gifv? |
|
= react_component :media_gallery, height: 380, standalone: true, autoplay: true, media: [ActiveModelSerializers::SerializableResource.new(@media_attachment, serializer: REST::MediaAttachmentSerializer).as_json] do |
|
%video{ autoplay: 'autoplay', muted: 'muted', loop: 'loop' } |
|
%source{ src: @media_attachment.file.url(:original) } |
|
- elsif @media_attachment.audio? |
|
= 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: meta.dig('colors', 'background'), foregroundColor: meta.dig('colors', 'foreground'), accentColor: meta.dig('colors', 'accent'), width: 670, height: 380, fullscreen: true, alt: @media_attachment.description, duration: meta.dig(:original, :duration) do |
|
%audio{ controls: 'controls' } |
|
%source{ src: @media_attachment.file.url(:original) }
|
|
|