diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-14 03:39:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-14 03:39:10 +0200 |
commit | 2bbf987a0a352a36ef0cc7f06fe366b60593e89c (patch) | |
tree | 09cc297d12db8fe3ea7bc174e6a1ddaddc10e841 /app/views/stream_entries/_detailed_status.html.haml | |
parent | af00220d795670e10bc8c7378837c4a5a287b556 (diff) |
Redesign video player (#4911)
* Redesign video player * Use new video player on static public pages too * Use media gallery component on static public pages too * Pause video when hiding it * Full-screen sizing on WebKit * Add aria labels to video player buttons * Display link card on public status page * Fix fullscreen from modal sizing issue * Remove contain: strict property to fix fullscreen from columns
Diffstat (limited to 'app/views/stream_entries/_detailed_status.html.haml')
-rw-r--r-- | app/views/stream_entries/_detailed_status.html.haml | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/app/views/stream_entries/_detailed_status.html.haml b/app/views/stream_entries/_detailed_status.html.haml index 466087b6a..dd9456260 100644 --- a/app/views/stream_entries/_detailed_status.html.haml +++ b/app/views/stream_entries/_detailed_status.html.haml @@ -19,17 +19,14 @@ %a.status__content__spoiler-link{ href: '#' }= t('statuses.show_more') .e-content{ lang: status.language, style: "display: #{status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }= Formatter.instance.format(status) - - unless status.media_attachments.empty? + - if !status.media_attachments.empty? - if status.media_attachments.first.video? - .video-player - = render partial: 'stream_entries/content_spoiler', locals: { sensitive: status.sensitive? } - %video.u-video{ src: status.media_attachments.first.file.url(:original), loop: true } + - video = status.media_attachments.first + %div{ data: { component: 'Video', props: Oj.dump(src: video.file.url(:original), preview: video.file.url(:small), sensitive: status.sensitive?, width: 670, height: 380) }} - else - .detailed-status__attachments - = render partial: 'stream_entries/content_spoiler', locals: { sensitive: status.sensitive? } - .status__attachments__inner - - status.media_attachments.each do |media| - = render partial: 'stream_entries/media', locals: { media: media } + %div{ data: { component: 'MediaGallery', props: Oj.dump(height: 380, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }) }} + - elsif status.preview_cards.first + %div{ data: { component: 'Card', props: Oj.dump('maxDescription': 160, card: ActiveModelSerializers::SerializableResource.new(status.preview_cards.first, serializer: REST::PreviewCardSerializer).as_json) }} .detailed-status__meta %data.dt-published{ value: status.created_at.to_time.iso8601 } |