Change icons of features on admin dashboard to remove bias (#10366)
Red crosses implied that it was bad/unexpected that certain features were not enabled. In reality, they are options, so showing a green or grey power-off icon is more appropriate. Add status of timeline preview as well Fix sample accounts changing too frequently due to wrong query Sample accounts are intended to be sorted by popularitylolsob-rspec
parent
a8bb10633d
commit
88a85f2574
|
@ -29,6 +29,7 @@ module Admin
|
|||
@hidden_service = ENV['ALLOW_ACCESS_TO_HIDDEN_SERVICE'] == 'true'
|
||||
@trending_hashtags = TrendingTags.get(7)
|
||||
@profile_directory = Setting.profile_directory
|
||||
@timeline_preview = Setting.timeline_preview
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -32,7 +32,7 @@ class DirectoriesController < ApplicationController
|
|||
end
|
||||
|
||||
def set_accounts
|
||||
@accounts = Account.discoverable.page(params[:page]).per(40).tap do |query|
|
||||
@accounts = Account.discoverable.by_recent_status.page(params[:page]).per(40).tap do |query|
|
||||
query.merge!(Account.tagged_with(@tag.id)) if @tag
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin::DashboardHelper
|
||||
def feature_hint(feature, enabled)
|
||||
indicator = safe_join([enabled ? t('simple_form.yes') : t('simple_form.no'), fa_icon('power-off fw')], ' ')
|
||||
class_names = enabled ? 'pull-right positive-hint' : 'pull-right neutral-hint'
|
||||
|
||||
safe_join([feature, content_tag(:span, indicator, class: class_names)])
|
||||
end
|
||||
end
|
|
@ -220,6 +220,11 @@ $content-width: 840px;
|
|||
color: $error-value-color;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.neutral-hint {
|
||||
color: $dark-text-color;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $no-columns-breakpoint) {
|
||||
|
|
|
@ -94,7 +94,7 @@ class Account < ApplicationRecord
|
|||
scope :matches_display_name, ->(value) { where(arel_table[:display_name].matches("#{value}%")) }
|
||||
scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
|
||||
scope :searchable, -> { without_suspended.where(moved_to_account_id: nil) }
|
||||
scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat).where(AccountStat.arel_table[:followers_count].gteq(MIN_FOLLOWERS_DISCOVERY)).by_recent_status }
|
||||
scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat).where(AccountStat.arel_table[:followers_count].gteq(MIN_FOLLOWERS_DISCOVERY)) }
|
||||
scope :tagged_with, ->(tag) { joins(:accounts_tags).where(accounts_tags: { tag_id: tag }) }
|
||||
scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc')) }
|
||||
scope :popular, -> { order('account_stats.followers_count desc') }
|
||||
|
|
|
@ -40,35 +40,17 @@
|
|||
%h4= t 'admin.dashboard.features'
|
||||
%ul
|
||||
%li
|
||||
= link_to t('admin.dashboard.feature_registrations'), edit_admin_settings_path
|
||||
- if @registrations_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(link_to(t('admin.dashboard.feature_registrations'), edit_admin_settings_path), @registrations_enabled)
|
||||
%li
|
||||
= link_to t('admin.dashboard.feature_invites'), edit_admin_settings_path
|
||||
- if @invites_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(link_to(t('admin.dashboard.feature_invites'), edit_admin_settings_path), @invites_enabled)
|
||||
%li
|
||||
= link_to t('admin.dashboard.feature_deletions'), edit_admin_settings_path
|
||||
- if @deletions_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(link_to(t('admin.dashboard.feature_deletions'), edit_admin_settings_path), @deletions_enabled)
|
||||
%li
|
||||
= link_to t('admin.dashboard.feature_profile_directory'), edit_admin_settings_path
|
||||
- if @profile_directory
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(link_to(t('admin.dashboard.feature_profile_directory'), edit_admin_settings_path), @profile_directory)
|
||||
%li
|
||||
= link_to t('admin.dashboard.feature_relay'), admin_relays_path
|
||||
- if @relay_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(link_to(t('admin.dashboard.feature_timeline_preview'), edit_admin_settings_path), @timeline_preview)
|
||||
%li
|
||||
= feature_hint(link_to(t('admin.dashboard.feature_relay'), admin_relays_path), @relay_enabled)
|
||||
|
||||
.dashboard__widgets__versions
|
||||
%div
|
||||
|
@ -103,47 +85,19 @@
|
|||
%h4= t 'admin.dashboard.config'
|
||||
%ul
|
||||
%li
|
||||
= t('admin.dashboard.search')
|
||||
- if @search_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(t('admin.dashboard.search'), @search_enabled)
|
||||
%li
|
||||
= t('admin.dashboard.single_user_mode')
|
||||
- if @single_user_mode
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(t('admin.dashboard.single_user_mode'), @single_user_mode)
|
||||
%li
|
||||
LDAP
|
||||
- if @ldap_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint('LDAP', @ldap_enabled)
|
||||
%li
|
||||
CAS
|
||||
- if @cas_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint('CAS', @cas_enabled)
|
||||
%li
|
||||
SAML
|
||||
- if @saml_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint('SAML', @saml_enabled)
|
||||
%li
|
||||
PAM
|
||||
- if @pam_enabled
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint('PAM', @pam_enabled)
|
||||
%li
|
||||
= t 'admin.dashboard.hidden_service'
|
||||
- if @hidden_service
|
||||
%span.pull-right.positive-hint= fa_icon 'check fw'
|
||||
- else
|
||||
%span.pull-right.negative-hint= fa_icon 'times fw'
|
||||
= feature_hint(t('admin.dashboard.hidden_service'), @hidden_service)
|
||||
|
||||
.dashboard__widgets__trends
|
||||
%div
|
||||
|
|
|
@ -245,6 +245,7 @@ en:
|
|||
feature_profile_directory: Profile directory
|
||||
feature_registrations: Registrations
|
||||
feature_relay: Federation relay
|
||||
feature_timeline_preview: Timeline preview
|
||||
features: Features
|
||||
hidden_service: Federation with hidden services
|
||||
open_reports: open reports
|
||||
|
|
Loading…
Reference in New Issue