about summary refs log tree commit diff
path: root/app/helpers/admin/trends/statuses_helper.rb
blob: d16e3dd1219efe4f67e446f5f0ddfc3e96a4f3aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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