Set oEmbed author to content when video is present
Discord won't show post content when a video is attached. This essentially copies what FixTweet does to work around that.
This commit is contained in:
parent
c85a1b83b3
commit
ac7e36cdd3
2 changed files with 9 additions and 2 deletions
|
@ -18,7 +18,7 @@ module StatusesHelper
|
|||
end
|
||||
end
|
||||
|
||||
def media_summary(status)
|
||||
def attachment_types(status)
|
||||
attachments = { image: 0, video: 0, audio: 0 }
|
||||
|
||||
status.ordered_media_attachments.each do |media|
|
||||
|
@ -31,6 +31,12 @@ module StatusesHelper
|
|||
end
|
||||
end
|
||||
|
||||
attachments
|
||||
end
|
||||
|
||||
def media_summary(status)
|
||||
attachments = attachment_types(status)
|
||||
|
||||
text = attachments.to_a.reject { |_, value| value.zero? }.map { |key, value| I18n.t("statuses.attached.#{key}", count: value) }.join(' · ')
|
||||
|
||||
return if text.blank?
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
class OEmbedSerializer < ActiveModel::Serializer
|
||||
include RoutingHelper
|
||||
include StatusesHelper
|
||||
include ActionView::Helpers::TagHelper
|
||||
|
||||
attributes :type, :version, :author_name,
|
||||
|
@ -17,7 +18,7 @@ class OEmbedSerializer < ActiveModel::Serializer
|
|||
end
|
||||
|
||||
def author_name
|
||||
object.account.display_name.presence || object.account.username
|
||||
(attachment_types(object)[:video]).positive? ? status_description(object) : (object.account.display_name.presence || object.account.username)
|
||||
end
|
||||
|
||||
def author_url
|
||||
|
|
Loading…
Reference in a new issue