.strike-card - unless strike.none_action? %p= t "user_mailer.warning.explanation.#{strike.action}", instance: Rails.configuration.x.local_domain - if strike.text.present? = linkify(strike.text) - if strike.report && !strike.report.other? %p %strong= t('user_mailer.warning.reason') = t("user_mailer.warning.categories.#{strike.report.category}") - if strike.report.violation? && strike.report.rule_ids.present? %ul.strike-card__rules - strike.report.rules.each do |rule| %li %span.strike-card__rules__text= rule.text - if strike.status_ids.present? && !strike.status_ids.empty? %p %strong= t('user_mailer.warning.statuses') .strike-card__statuses-list - status_map = strike.statuses.includes(:application, :media_attachments).index_by(&:id) - strike.status_ids.each do |status_id| .strike-card__statuses-list__item - if (status = status_map[status_id.to_i]) .one-liner .emojify= one_line_preview(status) - status.ordered_media_attachments.each do |media_attachment| %abbr{ title: media_attachment.description } = material_symbol 'link' = media_attachment.file_file_name .strike-card__statuses-list__item__meta = link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', rel: 'noopener' do %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) - unless status.application.nil? ยท = status.application.name - else .one-liner= t('disputes.strikes.status', id: status_id) .strike-card__statuses-list__item__meta = t('disputes.strikes.status_removed')