diff options
author | David Yip <yipdw@member.fsf.org> | 2018-03-18 20:21:17 -0500 |
---|---|---|
committer | David Yip <yipdw@member.fsf.org> | 2018-03-18 20:21:17 -0500 |
commit | ab04be2f84132e6b6a83ca86cbabf2cdf13f5894 (patch) | |
tree | 589ed30bd629a305a28eeb5a458fa0f83945eca3 /app/helpers | |
parent | 6a6f680d98d114e3bb26e414ad7e3787a62bd129 (diff) | |
parent | f02411da404f730e3c05dc7dca1ac0f2d631315e (diff) |
Merge remote-tracking branch 'origin/master' into gs-master
Conflicts: config/i18n-tasks.yml
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/stream_entries_helper.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app/helpers/stream_entries_helper.rb b/app/helpers/stream_entries_helper.rb index 54b92bdf4..3992432db 100644 --- a/app/helpers/stream_entries_helper.rb +++ b/app/helpers/stream_entries_helper.rb @@ -29,6 +29,35 @@ module StreamEntriesHelper [prepend_str, account.note].join(' · ') end + def media_summary(status) + attachments = { image: 0, video: 0 } + + status.media_attachments.each do |media| + if media.video? + attachments[:video] += 1 + else + attachments[:image] += 1 + end + end + + text = attachments.to_a.reject { |_, value| value.zero? }.map { |key, value| t("statuses.attached.#{key}", count: value) }.join(' · ') + + return if text.blank? + + t('statuses.attached.description', attached: text) + end + + def status_text_summary(status) + return if status.spoiler_text.blank? + t('statuses.content_warning', warning: status.spoiler_text) + end + + def status_description(status) + components = [[media_summary(status), status_text_summary(status)].reject(&:blank?).join(' · ')] + components << status.text if status.spoiler_text.blank? + components.reject(&:blank?).join("\n\n") + end + def stream_link_target embedded_view? ? '_blank' : nil end |