Add “Glitch-only” label to glitch-specific settings
parent
c813df2ebb
commit
6a96b17a2d
|
@ -205,7 +205,8 @@
|
|||
|
||||
.account-role,
|
||||
.simple_form .recommended,
|
||||
.simple_form .not_recommended {
|
||||
.simple_form .not_recommended,
|
||||
.simple_form .glitch_only {
|
||||
display: inline-block;
|
||||
padding: 4px 6px;
|
||||
cursor: default;
|
||||
|
@ -236,6 +237,12 @@
|
|||
border-color: rgba(lighten($error-red, 12%), 0.5);
|
||||
}
|
||||
|
||||
.simple_form .glitch_only {
|
||||
color: lighten($warning-red, 12%);
|
||||
background-color: rgba(lighten($warning-red, 12%), 0.1);
|
||||
border-color: rgba(lighten($warning-red, 12%), 0.5);
|
||||
}
|
||||
|
||||
.account__header__fields {
|
||||
max-width: 100vw;
|
||||
padding: 0;
|
||||
|
|
|
@ -104,7 +104,8 @@ code {
|
|||
}
|
||||
|
||||
.recommended,
|
||||
.not_recommended {
|
||||
.not_recommended,
|
||||
.glitch_only {
|
||||
position: absolute;
|
||||
margin: 0 4px;
|
||||
margin-top: -2px;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
= f.input :trendable_by_default, as: :boolean, wrapper: :with_label, recommended: :not_recommended
|
||||
|
||||
.fields-group
|
||||
= f.input :trending_status_cw, as: :boolean, wrapper: :with_label, label: t('admin.settings.trending_status_cw.title'), hint: t('admin.settings.trending_status_cw.desc_html')
|
||||
= f.input :trending_status_cw, as: :boolean, wrapper: :with_label, label: t('admin.settings.trending_status_cw.title'), hint: t('admin.settings.trending_status_cw.desc_html'), glitch_only: true
|
||||
|
||||
%h4= t('admin.settings.discovery.public_timelines')
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
- if captcha_available?
|
||||
.fields-group
|
||||
= f.input :captcha_enabled, as: :boolean, wrapper: :with_label, label: t('admin.settings.captcha_enabled.title'), hint: t('admin.settings.captcha_enabled.desc_html')
|
||||
= f.input :captcha_enabled, as: :boolean, wrapper: :with_label, label: t('admin.settings.captcha_enabled.title'), hint: t('admin.settings.captcha_enabled.desc_html'), glitch_only: true
|
||||
|
||||
.fields-group
|
||||
= f.input :closed_registrations_message, as: :text, wrapper: :with_block_label, input_html: { rows: 2 }
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
= f.input :setting_reduce_motion, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_disable_swiping, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_system_font_ui, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_system_emoji_font, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_system_emoji_font, as: :boolean, wrapper: :with_label, glitch_only: true
|
||||
|
||||
%h4= t 'appearance.toot_layout'
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
|||
.fields-group
|
||||
= f.input :setting_unfollow_modal, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_boost_modal, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_favourite_modal, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_favourite_modal, as: :boolean, wrapper: :with_label, glitch_only: true
|
||||
= f.input :setting_delete_modal, as: :boolean, wrapper: :with_label
|
||||
|
||||
%h4= t 'appearance.sensitive_content'
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
- unless Setting.hide_followers_count
|
||||
.fields-group
|
||||
= f.input :setting_hide_followers_count, as: :boolean, wrapper: :with_label
|
||||
= f.input :setting_hide_followers_count, as: :boolean, wrapper: :with_label, glitch_only: true
|
||||
|
||||
%h4= t 'preferences.posting_defaults'
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
|||
= f.input :setting_show_application, as: :boolean, wrapper: :with_label, recommended: true
|
||||
|
||||
.fields-group
|
||||
= f.input :setting_default_content_type, collection: ['text/plain', 'text/markdown', 'text/html'], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.defaults.setting_default_content_type_#{item.split('/')[1]}"), content_tag(:span, t("simple_form.hints.defaults.setting_default_content_type_#{item.split('/')[1]}"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||
= f.input :setting_default_content_type, collection: ['text/plain', 'text/markdown', 'text/html'], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.defaults.setting_default_content_type_#{item.split('/')[1]}"), content_tag(:span, t("simple_form.hints.defaults.setting_default_content_type_#{item.split('/')[1]}"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', glitch_only: true
|
||||
|
||||
%h4= t 'preferences.public_timelines'
|
||||
|
||||
|
|
|
@ -19,8 +19,17 @@ module RecommendedComponent
|
|||
end
|
||||
end
|
||||
|
||||
module GlitchOnlyComponent
|
||||
def glitch_only(_wrapper_options = nil)
|
||||
return unless options[:glitch_only]
|
||||
options[:label_text] = ->(raw_label_text, _required_label_text, _label_present) { safe_join([raw_label_text, ' ', content_tag(:span, I18n.t('simple_form.glitch_only'), class: 'glitch_only')]) }
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
SimpleForm.include_component(AppendComponent)
|
||||
SimpleForm.include_component(RecommendedComponent)
|
||||
SimpleForm.include_component(GlitchOnlyComponent)
|
||||
|
||||
SimpleForm.setup do |config|
|
||||
# Wrappers are used by the form builder to generate a
|
||||
|
@ -78,6 +87,7 @@ SimpleForm.setup do |config|
|
|||
|
||||
b.wrapper tag: :div, class: :label_input do |ba|
|
||||
ba.optional :recommended
|
||||
ba.optional :glitch_only
|
||||
ba.use :label
|
||||
|
||||
ba.wrapper tag: :div, class: :label_input__wrapper do |bb|
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
en:
|
||||
simple_form:
|
||||
glitch_only: glitch-soc
|
||||
hints:
|
||||
defaults:
|
||||
fields: You can have up to %{count} items displayed as a table on your profile
|
||||
|
|
Loading…
Reference in New Issue