Add admin setting to disable followers count
parent
0cd367e295
commit
a1c56fcef1
|
@ -29,6 +29,7 @@ module Admin
|
|||
preview_sensitive_media
|
||||
custom_css
|
||||
profile_directory
|
||||
hide_followers_count
|
||||
).freeze
|
||||
|
||||
BOOLEAN_SETTINGS = %w(
|
||||
|
@ -41,6 +42,7 @@ module Admin
|
|||
show_known_fediverse_at_about_page
|
||||
preview_sensitive_media
|
||||
profile_directory
|
||||
hide_followers_count
|
||||
).freeze
|
||||
|
||||
UPLOAD_SETTINGS = %w(
|
||||
|
|
|
@ -37,7 +37,7 @@ class FollowerAccountsController < ApplicationController
|
|||
|
||||
def collection_presenter
|
||||
options = { type: :ordered }
|
||||
options[:size] = @account.followers_count
|
||||
options[:size] = @account.followers_count unless Setting.hide_followers_count
|
||||
if params[:page].present?
|
||||
ActivityPub::CollectionPresenter.new(
|
||||
id: account_followers_url(@account, page: params.fetch(:page, 1)),
|
||||
|
|
|
@ -61,7 +61,7 @@ module StreamEntriesHelper
|
|||
end
|
||||
|
||||
def account_description(account)
|
||||
prepend_str = [
|
||||
prepend_stats = [
|
||||
[
|
||||
number_to_human(account.statuses_count, strip_insignificant_zeros: true),
|
||||
I18n.t('accounts.posts', count: account.statuses_count),
|
||||
|
@ -71,14 +71,16 @@ module StreamEntriesHelper
|
|||
number_to_human(account.following_count, strip_insignificant_zeros: true),
|
||||
I18n.t('accounts.following', count: account.following_count),
|
||||
].join(' '),
|
||||
]
|
||||
|
||||
[
|
||||
unless Setting.hide_followers_count
|
||||
prepend_stats << [
|
||||
number_to_human(account.followers_count, strip_insignificant_zeros: true),
|
||||
I18n.t('accounts.followers', count: account.followers_count),
|
||||
].join(' '),
|
||||
].join(', ')
|
||||
].join(' ')
|
||||
end
|
||||
|
||||
[prepend_str, account.note].join(' · ')
|
||||
[prepend_stats.join(', '), account.note].join(' · ')
|
||||
end
|
||||
|
||||
def media_summary(status)
|
||||
|
|
|
@ -30,6 +30,8 @@ class Form::AdminSettings
|
|||
:show_staff_badge=,
|
||||
:bootstrap_timeline_accounts,
|
||||
:bootstrap_timeline_accounts=,
|
||||
:hide_followers_count,
|
||||
:hide_followers_count=,
|
||||
:flavour,
|
||||
:flavour=,
|
||||
:skin,
|
||||
|
|
|
@ -51,4 +51,8 @@ class REST::AccountSerializer < ActiveModel::Serializer
|
|||
def moved_and_not_nested?
|
||||
object.moved? && object.moved_to_account.moved_to_account_id.nil?
|
||||
end
|
||||
|
||||
def followers_count
|
||||
Setting.hide_followers_count ? -1 : object.followers_count
|
||||
end
|
||||
end
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
%span.counter-label= t('accounts.following', count: account.following_count)
|
||||
|
||||
.counter{ class: active_nav_class(account_followers_url(account)) }
|
||||
= link_to account_followers_url(account), title: number_with_delimiter(account.followers_count) do
|
||||
%span.counter-number= number_to_human account.followers_count, strip_insignificant_zeros: true
|
||||
= link_to account_followers_url(account), title: Setting.hide_followers_count ? nil : number_with_delimiter(account.followers_count) do
|
||||
%span.counter-number= Setting.hide_followers_count ? '-' : (number_to_human account.followers_count, strip_insignificant_zeros: true)
|
||||
%span.counter-label= t('accounts.followers', count: account.followers_count)
|
||||
.spacer
|
||||
.public-account-header__tabs__tabs__buttons
|
||||
|
|
|
@ -65,6 +65,9 @@
|
|||
.fields-group
|
||||
= f.input :profile_directory, as: :boolean, wrapper: :with_label, label: t('admin.settings.profile_directory.title'), hint: t('admin.settings.profile_directory.desc_html')
|
||||
|
||||
.fields-group
|
||||
= f.input :hide_followers_count, as: :boolean, wrapper: :with_label, label: t('admin.settings.hide_followers_count.title'), hint: t('admin.settings.hide_followers_count.desc_html')
|
||||
|
||||
%hr.spacer/
|
||||
|
||||
.fields-group
|
||||
|
|
|
@ -28,9 +28,10 @@
|
|||
%td.accounts-table__count.optional
|
||||
= number_to_human account.statuses_count, strip_insignificant_zeros: true
|
||||
%small= t('accounts.posts', count: account.statuses_count).downcase
|
||||
%td.accounts-table__count.optional
|
||||
= number_to_human account.followers_count, strip_insignificant_zeros: true
|
||||
%small= t('accounts.followers', count: account.followers_count).downcase
|
||||
- unless Setting.hide_followers_count
|
||||
%td.accounts-table__count.optional
|
||||
= number_to_human account.followers_count, strip_insignificant_zeros: true
|
||||
%small= t('accounts.followers', count: account.followers_count).downcase
|
||||
%td.accounts-table__count
|
||||
- if account.last_status_at.present?
|
||||
%time.time-ago{ datetime: account.last_status_at.iso8601, title: l(account.last_status_at) }= l account.last_status_at
|
||||
|
|
|
@ -370,6 +370,9 @@ en:
|
|||
hero:
|
||||
desc_html: Displayed on the frontpage. At least 600x100px recommended. When not set, falls back to instance thumbnail
|
||||
title: Hero image
|
||||
hide_followers_count:
|
||||
desc_html: Do not show followers count on user profiles
|
||||
title: Hide followers count
|
||||
mascot:
|
||||
desc_html: Displayed on multiple pages. At least 293×205px recommended. When not set, falls back to default mascot
|
||||
title: Mascot image
|
||||
|
|
|
@ -34,6 +34,7 @@ defaults: &defaults
|
|||
reduce_motion: false
|
||||
system_font_ui: false
|
||||
noindex: false
|
||||
hide_followers_count: false
|
||||
flavour: 'glitch'
|
||||
skin: 'default'
|
||||
aggregate_reblogs: true
|
||||
|
|
Loading…
Reference in New Issue