- 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