21 lines
523 B
Ruby
21 lines
523 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Admin::Trends::StatusesHelper
|
||
|
def one_line_preview(status)
|
||
|
text = begin
|
||
|
if status.local?
|
||
|
status.text.split("\n").first
|
||
|
else
|
||
|
Nokogiri::HTML(status.text).css('html > body > *').first&.text
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return '' if text.blank?
|
||
|
|
||
|
html = Formatter.instance.send(:encode, text)
|
||
|
html = Formatter.instance.send(:encode_custom_emojis, html, status.emojis, prefers_autoplay?)
|
||
|
|
||
|
html.html_safe # rubocop:disable Rails/OutputSafety
|
||
|
end
|
||
|
end
|