From c3465f699e345e6909271a3159293783df0f0891 Mon Sep 17 00:00:00 2001 From: "chr v1.x" Date: Thu, 27 Dec 2018 04:15:39 -0800 Subject: Add local followers page to admin account UI (#9610) * Add local followers page to admin account UI For moderation, I often find myself wondering who, locally, is following a remote user. Currently, to see this, I have to go back to the web UI, paste in their full handle, click their profile, and go to the "Followers" tab (plus, this information is incidental, and if mastodon ever decides to resolve all of the follower information, there will be no place local followers are shown). This PR adds a new page which is accessible via the "following" count on the admin's account view page, which shows the local followers. (It has filter parameters for account location to indicate that only local followers are shown, and leave room for expansion if mastodon ever decides to store the entire remote follow list). * Normalize en.yml --- app/views/admin/accounts/show.html.haml | 4 +++- app/views/admin/followers/index.html.haml | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 app/views/admin/followers/index.html.haml (limited to 'app/views') diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index 226aef732..47cf41073 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -89,7 +89,9 @@ %td= number_to_human @account.following_count %tr %th= t('admin.accounts.followers') - %td= number_to_human @account.followers_count + %td + = number_to_human @account.followers_count + = link_to t('admin.accounts.followers_local', local: number_to_human(@account.local_followers_count)), admin_account_followers_path(@account.id) %tr %th= t('admin.accounts.statuses') %td= link_to number_to_human(@account.statuses_count), admin_account_statuses_path(@account.id) diff --git a/app/views/admin/followers/index.html.haml b/app/views/admin/followers/index.html.haml new file mode 100644 index 000000000..baf34bc95 --- /dev/null +++ b/app/views/admin/followers/index.html.haml @@ -0,0 +1,29 @@ +- content_for :header_tags do + = javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous' + +- content_for :page_title do + = t('admin.followers.title', acct: @account.acct) + +.filters + .filter-subset + %strong= t('admin.accounts.location.title') + %ul + %li= link_to t('admin.accounts.location.local'), admin_account_followers_path(@account.id), class: '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.followers.back_to_account') + +.table-wrapper + %table.table + %thead + %tr + %th= t('admin.accounts.username') + %th= t('admin.accounts.role') + %th= t('admin.accounts.most_recent_ip') + %th= t('admin.accounts.most_recent_activity') + %th + %tbody + = render partial: 'admin/accounts/account', collection: @followers.map{|a| a.account} + += paginate @followers -- cgit