about summary refs log tree commit diff
path: root/app/views/disputes/strikes/show.html.haml
blob: 3dcb19016e62f379fbae635fcd44e623e7aca70e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
- 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('admin.accounts.approve'), approve_admin_disputes_appeal_path(@appeal), method: :post, class: 'button' if can?(:approve, @appeal)
    = link_to t('admin.accounts.reject'), 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}"

      - unless @strike.text.blank?
        = Formatter.instance.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.rules-list
            - @strike.report.rules.each do |rule|
              %li= 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
                  = link_to short_account_status_url(@strike.target_account, status_id), class: 'emojify' do
                    = one_line_preview(status)

                    - status.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
                  %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
                  ·
                  = 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
        = admin_account_link_to @strike.target_account, path: can?(:show, @strike.target_account) ? admin_account_path(@strike.target_account_id) : ActivityPub::TagManager.instance.url_for(@strike.target_account)
    .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)
    - 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{ datetime: @appeal.created_at.iso8601, title: l(@appeal.created_at) }
          - if @appeal.created_at.today?
            = t('admin.report_notes.today_at', time: l(@appeal.created_at, format: :time))
          - else
            = 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