- content_for :header_tags do = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' = javascript_pack_tag 'public', async: true, crossorigin: 'anonymous' - content_for :page_title do = t('admin.reports.report', id: @report.id) - content_for :heading_actions do - if @report.unresolved? = link_to t('admin.reports.mark_as_resolved'), resolve_admin_report_path(@report), method: :post, class: 'button' - else = link_to t('admin.reports.mark_as_unresolved'), reopen_admin_report_path(@report), method: :post, class: 'button' .report-header .report-header__card .account-card .account-card__header = image_tag @report.target_account.header.url, alt: '' .account-card__title .account-card__title__avatar = image_tag @report.target_account.avatar.url, alt: '' .display-name %bdi %strong.emojify.p-name= display_name(@report.target_account, custom_emojify: true) %span = acct(@report.target_account) = fa_icon('lock') if @report.target_account.locked? - if @report.target_account.note.present? .account-card__bio.emojify = Formatter.instance.simplified_format(@report.target_account, custom_emojify: true) .account-card__actions .account-card__counters .account-card__counters__item = friendly_number_to_human @report.target_account.statuses_count %small= t('accounts.posts', count: @report.target_account.statuses_count).downcase .account-card__counters__item = friendly_number_to_human @report.target_account.followers_count %small= t('accounts.followers', count: @report.target_account.followers_count).downcase .account-card__counters__item = friendly_number_to_human @report.target_account.following_count %small= t('accounts.following', count: @report.target_account.following_count).downcase .account-card__actions__button = link_to t('admin.reports.view_profile'), admin_account_path(@report.target_account_id), class: 'button' .report-header__details.report-header__details--horizontal .report-header__details__item .report-header__details__item__header %strong= t('admin.accounts.joined') .report-header__details__item__content %time.time-ago{ datetime: @report.target_account.created_at.iso8601, title: l(@report.target_account.created_at) }= l @report.target_account.created_at .report-header__details__item .report-header__details__item__header %strong= t('accounts.last_active') .report-header__details__item__content - if @report.target_account.last_status_at.present? %time.time-ago{ datetime: @report.target_account.last_status_at.to_date.iso8601, title: l(@report.target_account.last_status_at.to_date) }= l @report.target_account.last_status_at .report-header__details__item .report-header__details__item__header %strong= t('admin.accounts.strikes') .report-header__details__item__content = @report.target_account.previous_strikes_count .report-header__details .report-header__details__item .report-header__details__item__header %strong= t('admin.reports.created_at') .report-header__details__item__content %time.formatted{ datetime: @report.created_at.iso8601 } .report-header__details__item .report-header__details__item__header %strong= t('admin.reports.reported_by') .report-header__details__item__content - if @report.account.instance_actor? = site_hostname - elsif @report.account.local? = admin_account_link_to @report.account - else = @report.account.domain .report-header__details__item .report-header__details__item__header %strong= t('admin.reports.status') .report-header__details__item__content - if @report.action_taken? = t('admin.reports.resolved') - else = t('admin.reports.unresolved') - unless @report.target_account.local? .report-header__details__item .report-header__details__item__header %strong= t('admin.reports.forwarded') .report-header__details__item__content - if @report.forwarded? = t('simple_form.yes') - else = t('simple_form.no') - if !@report.action_taken_by_account.nil? .report-header__details__item .report-header__details__item__header %strong= t('admin.reports.action_taken_by') .report-header__details__item__content = admin_account_link_to @report.action_taken_by_account - else .report-header__details__item .report-header__details__item__header %strong= t('admin.reports.assigned') .report-header__details__item__content - if @report.assigned_account.nil? = t 'admin.reports.no_one_assigned' - else = admin_account_link_to @report.assigned_account — - if @report.assigned_account != current_user.account = table_link_to 'user', t('admin.reports.assign_to_self'), assign_to_self_admin_report_path(@report), method: :post - elsif !@report.assigned_account.nil? = table_link_to 'trash', t('admin.reports.unassign'), unassign_admin_report_path(@report), method: :post %hr.spacer %h3= t 'admin.reports.category' %p= t 'admin.reports.category_description_html' = react_admin_component :report_reason_selector, id: @report.id, category: @report.category, rule_ids: @report.rule_ids&.map(&:to_s), disabled: @report.action_taken? - if @report.comment.present? %p= t('admin.reports.comment_description_html', name: content_tag(:strong, @report.account.username, class: 'username')) .report-notes .report-notes__item = image_tag @report.account.avatar.url, class: 'report-notes__item__avatar' .report-notes__item__header %span.username = link_to display_name(@report.account), admin_account_path(@report.account_id) %time{ datetime: @report.created_at.iso8601, title: l(@report.created_at) } - if @report.created_at.today? = t('admin.report_notes.today_at', time: l(@report.created_at, format: :time)) - else = l @report.created_at.to_date .report-notes__item__content = simple_format(h(@report.comment)) %hr.spacer/ %h3 = t 'admin.reports.statuses' %small.section-skip-link = link_to '#actions' do = fa_icon 'angle-double-down' = t('admin.reports.skip_to_actions') %p = t 'admin.reports.statuses_description_html' — = link_to safe_join([fa_icon('plus'), t('admin.reports.add_to_report')]), admin_account_statuses_path(@report.target_account_id, report_id: @report.id), class: 'table-action-link' = form_for(@form, url: batch_admin_account_statuses_path(@report.target_account_id, report_id: @report.id)) do |f| .batch-table .batch-table__toolbar %label.batch-table__toolbar__select.batch-checkbox-all = check_box_tag :batch_checkbox_all, nil, false .batch-table__toolbar__actions - if !@statuses.empty? && @report.unresolved? = f.button safe_join([fa_icon('times'), t('admin.statuses.batch.remove_from_report')]), name: :remove_from_report, class: 'table-action-link', type: :submit .batch-table__body - if @statuses.empty? = nothing_here 'nothing-here--under-tabs' - else = render partial: 'admin/reports/status', collection: @statuses, locals: { f: f } - if @report.unresolved? %hr.spacer/ %p#actions= t 'admin.reports.actions_description_html' = render partial: 'admin/reports/actions' - unless @action_logs.empty? %hr.spacer/ %h3= t 'admin.reports.action_log' .report-notes = render @action_logs %hr.spacer/ %h3= t 'admin.reports.notes.title' %p= t 'admin.reports.notes_description_html' .report-notes = render @report_notes = simple_form_for @report_note, url: admin_report_notes_path do |f| = f.input :report_id, as: :hidden .field-group = f.input :content, placeholder: t('admin.reports.notes.placeholder'), rows: 6 .actions - if @report.unresolved? = f.button :button, t('admin.reports.notes.create_and_resolve'), name: :create_and_resolve, type: :submit - else = f.button :button, t('admin.reports.notes.create_and_unresolve'), name: :create_and_unresolve, type: :submit = f.button :button, t('admin.reports.notes.create'), type: :submit