diff --git a/app/views/statuses/_og_image.html.haml b/app/views/statuses/_og_image.html.haml
index 1f7f57f1562..075202d6ce4 100644
--- a/app/views/statuses/_og_image.html.haml
+++ b/app/views/statuses/_og_image.html.haml
@@ -1,5 +1,6 @@
+-# locals(status:, account:)
+
- if status.non_sensitive_with_media? || (status.with_media? && Setting.preview_sensitive_media)
- - player_card = false
- status.ordered_media_attachments.each do |media|
- if media.image?
= opengraph 'og:image', full_asset_url(media.file.url(:original))
@@ -10,7 +11,6 @@
- if media.description.present?
= opengraph 'og:image:alt', media.description
- elsif media.video? || media.gifv?
- - player_card = true
= opengraph 'og:image', full_asset_url(media.file.url(:small))
= opengraph 'og:image:type', 'image/png'
- unless media.file.meta.nil?
@@ -28,7 +28,6 @@
= opengraph 'twitter:player:width', media.file.meta.dig('original', 'width')
= opengraph 'twitter:player:height', media.file.meta.dig('original', 'height')
- elsif media.audio?
- - player_card = true
= opengraph 'og:image', full_asset_url(account.avatar.url(:original))
= opengraph 'og:image:width', '400'
= opengraph 'og:image:height', '400'
@@ -40,7 +39,7 @@
= opengraph 'twitter:player:stream:content_type', media.file_content_type
= opengraph 'twitter:player:width', '670'
= opengraph 'twitter:player:height', '380'
- - if player_card
+ - if status.ordered_media_attachments.any?(&:larger_media_format?)
= opengraph 'twitter:card', 'player'
- else
= opengraph 'twitter:card', 'summary_large_image'