chinwagsocial/app/views/disputes/strikes/show.html.haml
2023-10-03 15:00:40 +02:00

126 lines
5.5 KiB
Text

- content_for :page_title do
= t('disputes.strikes.title', action: t(@strike.action, scope: 'disputes.strikes.title_actions'), date: l(@strike.created_at.to_date))
- content_for :heading_actions do
- if @appeal.persisted?
= link_to t('disputes.strikes.approve_appeal'), approve_admin_disputes_appeal_path(@appeal), method: :post, class: 'button' if can?(:approve, @appeal)
= link_to t('disputes.strikes.reject_appeal'), reject_admin_disputes_appeal_path(@appeal), method: :post, class: 'button button--destructive' if can?(:reject, @appeal)
- if @strike.overruled?
%p.hint
%span.positive-hint
= fa_icon 'check'
= ' '
= t 'disputes.strikes.appeal_approved'
- elsif @appeal.persisted? && @appeal.rejected?
%p.hint
%span.negative-hint
= fa_icon 'times'
= ' '
= t 'disputes.strikes.appeal_rejected'
.report-header
.report-header__card
.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 }
= fa_icon 'link'
= media_attachment.file_file_name
.strike-card__statuses-list__item__meta
= link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', rel: 'noopener noreferrer' 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')
.report-header__details
.report-header__details__item
.report-header__details__item__header
%strong= t('disputes.strikes.created_at')
.report-header__details__item__content
%time.formatted{ datetime: @strike.created_at.iso8601, title: l(@strike.created_at) }= l(@strike.created_at)
.report-header__details__item
.report-header__details__item__header
%strong= t('disputes.strikes.recipient')
.report-header__details__item__content
= link_to @strike.target_account.username, can?(:show, @strike.target_account) ? admin_account_path(@strike.target_account_id) : ActivityPub::TagManager.instance.url_for(@strike.target_account), class: 'table-action-link'
.report-header__details__item
.report-header__details__item__header
%strong= t('disputes.strikes.action_taken')
.report-header__details__item__content
- if @strike.overruled?
%del= t(@strike.action, scope: 'user_mailer.warning.title')
- else
= t(@strike.action, scope: 'user_mailer.warning.title')
- if @strike.report && can?(:show, @strike.report)
.report-header__details__item
.report-header__details__item__header
%strong= t('disputes.strikes.associated_report')
.report-header__details__item__content
= link_to t('admin.reports.report', id: @strike.report.id), admin_report_path(@strike.report), class: 'table-action-link'
- if @appeal.persisted?
.report-header__details__item
.report-header__details__item__header
%strong= t('disputes.strikes.appeal_submitted_at')
.report-header__details__item__content
%time.formatted{ datetime: @appeal.created_at.iso8601, title: l(@appeal.created_at) }= l(@appeal.created_at)
%hr.spacer/
- if @appeal.persisted?
%h3= t('disputes.strikes.appeal')
.report-notes
.report-notes__item
= image_tag @appeal.account.avatar.url, class: 'report-notes__item__avatar'
.report-notes__item__header
%span.username
= link_to @appeal.account.username, can?(:show, @appeal.account) ? admin_account_path(@appeal.account_id) : short_account_url(@appeal.account)
%time.relative-formatted{ datetime: @appeal.created_at.iso8601 }
= l @appeal.created_at.to_date
.report-notes__item__content
= simple_format(h(@appeal.text))
- elsif can?(:appeal, @strike)
%h3= t('disputes.strikes.appeals.submit')
= simple_form_for(@appeal, url: disputes_strike_appeal_path(@strike)) do |f|
.fields-group
= f.input :text, wrapper: :with_label, input_html: { maxlength: 500 }
.actions
= f.button :button, t('disputes.strikes.appeals.submit'), type: :submit