catstodon/app/views/admin/reports/index.html.haml

80 lines
3.3 KiB
Text

- content_for :page_title do
= t('admin.reports.title')
.filters
.filter-subset
%strong= t('admin.reports.status')
%ul
%li= filter_link_to t('admin.reports.unresolved'), resolved: nil
%li= filter_link_to t('admin.reports.resolved'), resolved: '1'
.filter-subset
%strong= t('admin.reports.target_origin')
%ul
%li= filter_link_to t('admin.accounts.location.all'), target_origin: nil
%li= filter_link_to t('admin.accounts.location.local'), target_origin: 'local'
%li= filter_link_to t('admin.accounts.location.remote'), target_origin: 'remote'
= form_with url: admin_reports_url, method: :get, class: :simple_form do |form|
.fields-group
- ReportFilter::KEYS.each do |key|
= form.hidden_field key, value: params[key] if params[key].present?
- %i(by_target_domain).each do |key|
.input.string.optional
= form.text_field key,
value: params[key],
class: 'string optional',
placeholder: I18n.t("admin.reports.#{key}")
.actions
%button.button= t('admin.accounts.search')
= link_to t('admin.accounts.reset'), admin_reports_path, class: 'button negative'
- @reports.group_by(&:target_account_id).each_value do |reports|
- target_account = reports.first.target_account
.report-card
.report-card__profile
= account_link_to target_account, '', path: admin_account_path(target_account.id)
.report-card__profile__stats
= link_to t('admin.reports.account.notes', count: target_account.targeted_moderation_notes.count), admin_account_path(target_account.id)
%br/
- if target_account.suspended?
%span.red= t('admin.accounts.suspended')
- elsif target_account.silenced?
%span.red= t('admin.accounts.silenced')
- elsif target_account.user&.disabled?
%span.red= t('admin.accounts.disabled')
- else
%span.neutral= t('admin.accounts.no_limits_imposed')
.report-card__summary
- reports.each do |report|
.report-card__summary__item
.report-card__summary__item__reported-by
- if report.account.instance_actor?
= site_hostname
- elsif report.account.local?
= admin_account_link_to report.account
- else
= report.account.domain
.report-card__summary__item__content
= link_to admin_report_path(report) do
.one-line= report.comment.presence || t('admin.reports.comment.none')
%span.report-card__summary__item__content__icon{ title: t('admin.accounts.statuses') }
= material_symbol('comment')
= report.status_ids.size
%span.report-card__summary__item__content__icon{ title: t('admin.accounts.media_attachments') }
= material_symbol('photo_camera')
= report.media_attachments_count
- if report.forwarded?
·
= t('admin.reports.forwarded_to', domain: target_account.domain)
.report-card__summary__item__assigned
- if report.assigned_account.present?
= admin_account_link_to report.assigned_account
- else
\-
= paginate @reports