about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/javascript/styles/mastodon/accounts.scss9
-rw-r--r--app/javascript/styles/mastodon/forms.scss3
-rw-r--r--app/models/account.rb4
-rw-r--r--app/views/admin/settings/edit.html.haml2
-rw-r--r--config/i18n-tasks.yml2
-rw-r--r--config/initializers/simple_form.rb5
-rw-r--r--config/locales/en.yml4
-rw-r--r--config/locales/simple_form.en.yml1
8 files changed, 23 insertions, 7 deletions
diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss
index 54b65bfc8..c007eb4b5 100644
--- a/app/javascript/styles/mastodon/accounts.scss
+++ b/app/javascript/styles/mastodon/accounts.scss
@@ -202,7 +202,8 @@
 }
 
 .account-role,
-.simple_form .recommended {
+.simple_form .recommended,
+.simple_form .not_recommended {
   display: inline-block;
   padding: 4px 6px;
   cursor: default;
@@ -227,6 +228,12 @@
   }
 }
 
+.simple_form .not_recommended {
+  color: lighten($error-red, 12%);
+  background-color: rgba(lighten($error-red, 12%), 0.1);
+  border-color: rgba(lighten($error-red, 12%), 0.5);
+}
+
 .account__header__fields {
   max-width: 100vw;
   padding: 0;
diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss
index 990903859..a6419821f 100644
--- a/app/javascript/styles/mastodon/forms.scss
+++ b/app/javascript/styles/mastodon/forms.scss
@@ -102,7 +102,8 @@ code {
         }
       }
 
-      .recommended {
+      .recommended,
+      .not_recommended {
         position: absolute;
         margin: 0 4px;
         margin-top: -2px;
diff --git a/app/models/account.rb b/app/models/account.rb
index d25afeb89..1be7b4d12 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -258,6 +258,10 @@ class Account < ApplicationRecord
     update!(memorial: true)
   end
 
+  def trendable
+    boolean_with_default('trendable', Setting.trendable_by_default)
+  end
+
   def sign?
     true
   end
diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml
index d7896bbc0..64687b7a6 100644
--- a/app/views/admin/settings/edit.html.haml
+++ b/app/views/admin/settings/edit.html.haml
@@ -81,7 +81,7 @@
       = f.input :trends, as: :boolean, wrapper: :with_label, label: t('admin.settings.trends.title'), hint: t('admin.settings.trends.desc_html')
 
     .fields-group
-      = f.input :trendable_by_default, as: :boolean, wrapper: :with_label, label: t('admin.settings.trendable_by_default.title'), hint: t('admin.settings.trendable_by_default.desc_html')
+      = f.input :trendable_by_default, as: :boolean, wrapper: :with_label, label: t('admin.settings.trendable_by_default.title'), hint: t('admin.settings.trendable_by_default.desc_html'), recommended: :not_recommended
 
     .fields-group
       = f.input :noindex, as: :boolean, wrapper: :with_label, label: t('admin.settings.default_noindex.title'), hint: t('admin.settings.default_noindex.desc_html')
diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml
index 42a7afb33..1bebae5e9 100644
--- a/config/i18n-tasks.yml
+++ b/config/i18n-tasks.yml
@@ -51,7 +51,7 @@ ignore_unused:
   - 'activerecord.errors.*'
   - '{devise,pagination,doorkeeper}.*'
   - '{date,datetime,time,number}.*'
-  - 'simple_form.{yes,no,recommended}'
+  - 'simple_form.{yes,no,recommended,not_recommended}'
   - 'simple_form.{placeholders,hints,labels}.*'
   - 'simple_form.{error_notification,required}.:'
   - 'errors.messages.*'
diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb
index 3a2097d2f..92cffc5a2 100644
--- a/config/initializers/simple_form.rb
+++ b/config/initializers/simple_form.rb
@@ -11,7 +11,10 @@ end
 module RecommendedComponent
   def recommended(_wrapper_options = nil)
     return unless options[:recommended]
-    options[:label_text] = ->(raw_label_text, _required_label_text, _label_present) { safe_join([raw_label_text, ' ', content_tag(:span, I18n.t('simple_form.recommended'), class: 'recommended')]) }
+
+    key = options[:recommended].is_a?(Symbol) ? options[:recommended] : :recommended
+    options[:label_text] = ->(raw_label_text, _required_label_text, _label_present) { safe_join([raw_label_text, ' ', content_tag(:span, I18n.t(key, scope: 'simple_form'), class: key)]) }
+
     nil
   end
 end
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 0b721c163..9f047f523 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -808,8 +808,8 @@ en:
         title: Allow unauthenticated access to public timeline
       title: Site settings
       trendable_by_default:
-        desc_html: Affects hashtags that have not been previously disallowed
-        title: Allow hashtags to trend without prior review
+        desc_html: Specific trending content can still be explicitly disallowed
+        title: Allow trends without prior review
       trends:
         desc_html: Publicly display previously reviewed content that is currently trending
         title: Trends
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index 28f78d500..ddc83e896 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -253,6 +253,7 @@ en:
         events: Enabled events
         url: Endpoint URL
     'no': 'No'
+    not_recommended: Not recommended
     recommended: Recommended
     required:
       mark: "*"