about summary refs log tree commit diff
path: root/app/views/admin
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/admin')
-rw-r--r--app/views/admin/account_moderation_notes/_account_moderation_note.html.haml15
-rw-r--r--app/views/admin/accounts/show.html.haml49
-rw-r--r--app/views/admin/reports/_account.html.haml2
-rw-r--r--app/views/admin/reports/_status.html.haml26
-rw-r--r--app/views/admin/reports/show.html.haml6
-rw-r--r--app/views/admin/statuses/index.html.haml52
6 files changed, 72 insertions, 78 deletions
diff --git a/app/views/admin/account_moderation_notes/_account_moderation_note.html.haml b/app/views/admin/account_moderation_notes/_account_moderation_note.html.haml
index 6761a4319..432fb79a6 100644
--- a/app/views/admin/account_moderation_notes/_account_moderation_note.html.haml
+++ b/app/views/admin/account_moderation_notes/_account_moderation_note.html.haml
@@ -1,10 +1,7 @@
-%tr
-  %td
+.speech-bubble
+  .speech-bubble__bubble
     = simple_format(h(account_moderation_note.content))
-  %td
-    = account_moderation_note.account.acct
-  %td
-    %time.formatted{ datetime: account_moderation_note.created_at.iso8601, title: l(account_moderation_note.created_at) }
-      = l account_moderation_note.created_at
-  %td
-    = link_to t('admin.account_moderation_notes.delete'), admin_account_moderation_note_path(account_moderation_note), method: :delete if can?(:destroy, account_moderation_note)
+  .speech-bubble__owner
+    = admin_account_link_to account_moderation_note.account
+    %time.formatted{ datetime: account_moderation_note.created_at.iso8601 }= l account_moderation_note.created_at
+    = table_link_to 'trash', t('admin.account_moderation_notes.delete'), admin_account_moderation_note_path(account_moderation_note), method: :delete if can?(:destroy, account_moderation_note)
diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml
index 7312618ee..ed8190af5 100644
--- a/app/views/admin/accounts/show.html.haml
+++ b/app/views/admin/accounts/show.html.haml
@@ -2,7 +2,7 @@
   = @account.acct
 
 .table-wrapper
-  %table.table
+  %table.table.inline-table
     %tbody
       %tr
         %th= t('admin.accounts.username')
@@ -36,14 +36,20 @@
           %th= t('admin.accounts.email')
           %td
             = @account.user_email
-            - if @account.user_confirmed?
-              = fa_icon('check')
             = table_link_to 'edit', t('admin.accounts.change_email.label'), admin_account_change_email_path(@account.id) if can?(:change_email, @account.user)
         - if @account.user_unconfirmed_email.present?
           %th= t('admin.accounts.unconfirmed_email')
           %td
             = @account.user_unconfirmed_email
         %tr
+          %th= t('admin.accounts.email_status')
+          %td
+            - if @account.user&.confirmed?
+              = t('admin.accounts.confirmed')
+            - else
+              = t('admin.accounts.confirming')
+              = table_link_to 'refresh', t('admin.accounts.resend_confirmation.send'), resend_admin_account_confirmation_path(@account.id), method: :post if can?(:confirm, @account.user)
+        %tr
           %th= t('admin.accounts.login_status')
           %td
             - if @account.user&.disabled?
@@ -73,17 +79,17 @@
 
       %tr
         %th= t('admin.accounts.follows')
-        %td= @account.following_count
+        %td= number_to_human @account.following_count
       %tr
         %th= t('admin.accounts.followers')
-        %td= @account.followers_count
+        %td= number_to_human @account.followers_count
       %tr
         %th= t('admin.accounts.statuses')
-        %td= link_to @account.statuses_count, admin_account_statuses_path(@account.id)
+        %td= link_to number_to_human(@account.statuses_count), admin_account_statuses_path(@account.id)
       %tr
         %th= t('admin.accounts.media_attachments')
         %td
-          = link_to @account.media_attachments.count, admin_account_statuses_path(@account.id, { media: true })
+          = link_to number_to_human(@account.media_attachments.count), admin_account_statuses_path(@account.id, { media: true })
           = surround '(', ')' do
             = number_to_human_size @account.media_attachments.sum('file_file_size')
       %tr
@@ -120,11 +126,12 @@
       = link_to t('admin.accounts.perform_full_suspension'), admin_account_suspension_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button' if can?(:suspend, @account)
 
 - if !@account.local? && @account.hub_url.present?
-  %hr
+  %hr.spacer/
+
   %h3 OStatus
 
   .table-wrapper
-    %table.table
+    %table.table.inline-table
       %tbody
         %tr
           %th= t('admin.accounts.feed_url')
@@ -148,11 +155,12 @@
         = link_to t('admin.accounts.unsubscribe'), unsubscribe_admin_account_path(@account.id), method: :post, class: 'button negative' if can?(:unsubscribe, @account)
 
 - if !@account.local? && @account.inbox_url.present?
-  %hr
+  %hr.spacer/
+
   %h3 ActivityPub
 
   .table-wrapper
-    %table.table
+    %table.table.inline-table
       %tbody
         %tr
           %th= t('admin.accounts.inbox_url')
@@ -167,24 +175,15 @@
           %th= t('admin.accounts.followers_url')
           %td= link_to @account.followers_url, @account.followers_url
 
-%hr
-%h3= t('admin.accounts.moderation_notes')
+%hr.spacer/
+
+= render @moderation_notes
 
 = simple_form_for @account_moderation_note, url: admin_account_moderation_notes_path do |f|
   = render 'shared/error_messages', object: @account_moderation_note
 
-  = f.input :content
+  = f.input :content, placeholder: t('admin.reports.notes.placeholder'), rows: 6
   = f.hidden_field :target_account_id
 
   .actions
-  = f.button :button, t('admin.account_moderation_notes.create'), type: :submit
-
-.table-wrapper
-  %table.table
-    %thead
-      %tr
-        %th
-        %th= t('admin.account_moderation_notes.account')
-        %th= t('admin.account_moderation_notes.created_at')
-    %tbody
-      = render @moderation_notes
+    = f.button :button, t('admin.account_moderation_notes.create'), type: :submit
diff --git a/app/views/admin/reports/_account.html.haml b/app/views/admin/reports/_account.html.haml
index 22b7a0861..9ac161c9c 100644
--- a/app/views/admin/reports/_account.html.haml
+++ b/app/views/admin/reports/_account.html.haml
@@ -15,5 +15,5 @@
           .account__avatar{ style: "background-image: url(#{account.avatar.url}); width: #{size}px; height: #{size}px; background-size: #{size}px #{size}px" }
         %span.display-name
           %bdi
-            %strong.display-name__html.emojify= display_name(account)
+            %strong.display-name__html.emojify= display_name(account, custom_emojify: true)
           %span.display-name__account @#{account.acct}
diff --git a/app/views/admin/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml
index 137609539..5e174f312 100644
--- a/app/views/admin/reports/_status.html.haml
+++ b/app/views/admin/reports/_status.html.haml
@@ -3,26 +3,30 @@
     = f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id
   .batch-table__row__content
     .status__content><
-      - unless status.spoiler_text.blank?
+      - unless status.proper.spoiler_text.blank?
         %p><
-          %strong= Formatter.instance.format_spoiler(status)
+          %strong> Content warning: #{Formatter.instance.format_spoiler(status.proper)}
 
-      = Formatter.instance.format(status)
+      = Formatter.instance.format(status.proper, custom_emojify: true)
 
-    - unless status.media_attachments.empty?
-      - if status.media_attachments.first.video?
-        - video = status.media_attachments.first
-        = react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, width: 610, height: 343, inline: true
+    - unless status.proper.media_attachments.empty?
+      - if status.proper.media_attachments.first.video?
+        - video = status.proper.media_attachments.first
+        = react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: status.proper.sensitive? && !current_account&.user&.setting_display_sensitive_media, width: 610, height: 343, inline: true
       - else
-        = react_component :media_gallery, height: 343, sensitive: status.sensitive? && !current_account&.user&.setting_display_sensitive_media, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
+        = react_component :media_gallery, height: 343, sensitive: status.proper.sensitive? && !current_account&.user&.setting_display_sensitive_media, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.proper.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
 
     .detailed-status__meta
       = link_to TagManager.instance.url_for(status), class: 'detailed-status__datetime', target: stream_link_target, rel: 'noopener' do
         %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
       ·
-      = fa_visibility_icon(status)
-      = t("statuses.visibilities.#{status.visibility}")
-      - if status.sensitive?
+      - if status.reblog?
+        = fa_icon('retweet fw')
+        = t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(status.proper.account))
+      - else
+        = fa_visibility_icon(status)
+        = t("statuses.visibilities.#{status.visibility}")
+      - if status.proper.sensitive?
         ·
         = fa_icon('eye-slash fw')
         = t('stream_entries.sensitive_content')
diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml
index 38e47e6ca..ac2dec7ec 100644
--- a/app/views/admin/reports/show.html.haml
+++ b/app/views/admin/reports/show.html.haml
@@ -72,7 +72,11 @@
 .speech-bubble
   .speech-bubble__bubble= simple_format(@report.comment.presence || t('admin.reports.comment.none'))
   .speech-bubble__owner
-    = admin_account_link_to @report.account
+    - if @report.account.local?
+      = admin_account_link_to @report.account
+    - else
+      = @report.account.domain
+      %br/
     %time.formatted{ datetime: @report.created_at.iso8601 }
 
 - unless @report.statuses.empty?
diff --git a/app/views/admin/statuses/index.html.haml b/app/views/admin/statuses/index.html.haml
index 9747a92cf..704ce1dbb 100644
--- a/app/views/admin/statuses/index.html.haml
+++ b/app/views/admin/statuses/index.html.haml
@@ -1,10 +1,7 @@
 - content_for :page_title do
   = t('admin.statuses.title')
-
-.back-link
-  = link_to admin_account_path(@account.id) do
-    %i.fa.fa-chevron-left.fa-fw
-    = t('admin.statuses.back_to_account')
+  \-
+  = "@#{@account.acct}"
 
 .filters
   .filter-subset
@@ -12,33 +9,26 @@
     %ul
       %li= link_to t('admin.statuses.no_media'), admin_account_statuses_path(@account.id, current_params.merge(media: nil)), class: !params[:media] && 'selected'
       %li= link_to t('admin.statuses.with_media'), admin_account_statuses_path(@account.id, current_params.merge(media: true)), class: params[:media] && 'selected'
+  .back-link{ style: 'flex: 1 1 auto; text-align: right' }
+    = link_to admin_account_path(@account.id) do
+      %i.fa.fa-chevron-left.fa-fw
+      = t('admin.statuses.back_to_account')
+
+%hr.spacer/
+
+= form_for(@form, url: admin_account_statuses_path(@account.id)) do |f|
+  = hidden_field_tag :page, params[:page]
+  = hidden_field_tag :media, params[:media]
 
-- if @statuses.empty?
-  .accounts-grid
-    = render 'accounts/nothing_here'
-- else
-  = form_for(@form, url: admin_account_statuses_path(@account.id)) do |f|
-    = hidden_field_tag :page, params[:page]
-    = hidden_field_tag :media, params[:media]
-    .batch-form-box
-      .batch-checkbox-all
+  .batch-table
+    .batch-table__toolbar
+      %label.batch-table__toolbar__select.batch-checkbox-all
         = check_box_tag :batch_checkbox_all, nil, false
-      = f.select :action, Form::StatusBatch::ACTION_TYPE.map{|action| [t("admin.statuses.batch.#{action}"), action]}
-      = f.submit t('admin.statuses.execute'), data: { confirm: t('admin.reports.are_you_sure') }, class: 'button'
-      .media-spoiler-toggle-buttons
-        .media-spoiler-show-button.button= t('admin.statuses.media.show')
-        .media-spoiler-hide-button.button= t('admin.statuses.media.hide')
-    - @statuses.each do |status|
-      .account-status{ data: { id: status.id } }
-        .batch-checkbox
-          = f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id
-        .activity-stream.activity-stream-headless
-          .entry= render 'stream_entries/simple_status', status: status
-        .account-status__actions
-          - unless status.media_attachments.empty?
-            = link_to admin_account_status_path(@account.id, status, current_params.merge(status: { sensitive: !status.sensitive })), method: :patch, class: 'icon-button nsfw-button', title: t("admin.reports.nsfw.#{!status.sensitive}") do
-              = fa_icon status.sensitive? ? 'eye' : 'eye-slash'
-          = link_to admin_account_status_path(@account.id, status), method: :delete, class: 'icon-button trash-button', title: t('admin.reports.delete'), data: { confirm: t('admin.reports.are_you_sure') }, remote: true do
-            = fa_icon 'trash'
+      .batch-table__toolbar__actions
+        = f.button safe_join([fa_icon('eye-slash'), t('admin.statuses.batch.nsfw_on')]), name: :nsfw_on, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+        = f.button safe_join([fa_icon('eye'), t('admin.statuses.batch.nsfw_off')]), name: :nsfw_off, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+        = f.button safe_join([fa_icon('trash'), t('admin.statuses.batch.delete')]), name: :delete, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+    .batch-table__body
+      = render partial: 'admin/reports/status', collection: @statuses, locals: { f: f }
 
 = paginate @statuses