Merge remote-tracking branch 'parent/main' into upstream-20240112

This commit is contained in:
KMY 2024-01-12 14:48:17 +09:00
commit e65fb9fb51
333 changed files with 2661 additions and 1461 deletions

View file

@ -1,11 +1,17 @@
.fields-group
= f.input :name, wrapper: :with_label, label: t('activerecord.attributes.doorkeeper/application.name')
= f.input :name,
label: t('activerecord.attributes.doorkeeper/application.name'),
wrapper: :with_label
.fields-group
= f.input :website, wrapper: :with_label, label: t('activerecord.attributes.doorkeeper/application.website')
= f.input :website,
label: t('activerecord.attributes.doorkeeper/application.website'),
wrapper: :with_label
.fields-group
= f.input :redirect_uri, wrapper: :with_block_label, label: t('activerecord.attributes.doorkeeper/application.redirect_uri'), hint: t('doorkeeper.applications.help.redirect_uri')
= f.input :redirect_uri,
label: t('activerecord.attributes.doorkeeper/application.redirect_uri'), hint: t('doorkeeper.applications.help.redirect_uri'),
wrapper: :with_block_label
%p.hint= t('doorkeeper.applications.help.native_redirect_uri', native_redirect_uri: content_tag(:code, Doorkeeper.configuration.native_redirect_uri)).html_safe
@ -15,4 +21,15 @@
%span.hint= t('simple_form.hints.defaults.scopes')
- Doorkeeper.configuration.scopes.group_by { |s| s.split(':').first }.each_value do |value|
= f.input :scopes, label: false, hint: false, collection: value.sort, wrapper: :with_block_label, include_blank: false, label_method: ->(scope) { safe_join([content_tag(:samp, scope, class: class_for_scope(scope)), content_tag(:span, t("doorkeeper.scopes.#{scope}"), class: 'hint')]) }, selected: f.object.scopes.all, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
= f.input :scopes,
as: :check_boxes,
collection_wrapper_tag: 'ul',
collection: value.sort,
hint: false,
include_blank: false,
item_wrapper_tag: 'li',
label_method: ->(scope) { safe_join([content_tag(:samp, scope, class: class_for_scope(scope)), content_tag(:span, t("doorkeeper.scopes.#{scope}"), class: 'hint')]) },
label: false,
required: false,
selected: f.object.scopes.all,
wrapper: :with_block_label

View file

@ -11,7 +11,9 @@
%p.lead= t('featured_tags.hint_html')
.fields-group
= f.input :name, wrapper: :with_block_label, hint: safe_join([t('simple_form.hints.featured_tag.name'), safe_join(@recently_used_tags.map { |tag| link_to("##{tag.display_name}", settings_featured_tags_path(featured_tag: { name: tag.name }), method: :post) }, ', ')], ' ')
= f.input :name,
hint: featured_tags_hint(@recently_used_tags),
wrapper: :with_block_label
.actions
= f.button :button, t('featured_tags.add_new'), type: :submit

View file

@ -3,13 +3,29 @@
= simple_form_for @import, url: settings_imports_path do |f|
.field-group
= f.input :type, as: :grouped_select, collection: { constructive: %i(following bookmarks lists), destructive: %i(muting blocking domain_blocking) }, wrapper: :with_block_label, include_blank: false, label_method: ->(type) { I18n.t("imports.types.#{type}") }, group_label_method: ->(group) { I18n.t("imports.type_groups.#{group.first}") }, group_method: :last, hint: t('imports.preface')
= f.input :type,
as: :grouped_select,
collection: { constructive: %i(following bookmarks lists), destructive: %i(muting blocking domain_blocking) },
group_label_method: ->(group) { I18n.t("imports.type_groups.#{group.first}") },
group_method: :last,
hint: t('imports.preface'),
include_blank: false,
label_method: ->(type) { I18n.t("imports.types.#{type}") },
wrapper: :with_block_label
.fields-row
.fields-group.fields-row__column.fields-row__column-6
= f.input :data, as: :file, wrapper: :with_block_label, hint: t('simple_form.hints.imports.data')
= f.input :data,
as: :file,
hint: t('simple_form.hints.imports.data'),
wrapper: :with_block_label
.fields-group.fields-row__column.fields-row__column-6
= f.input :mode, as: :radio_buttons, collection: Import::MODES, label_method: ->(mode) { safe_join([I18n.t("imports.modes.#{mode}"), content_tag(:span, I18n.t("imports.modes.#{mode}_long"), class: 'hint')]) }, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
= f.input :mode,
as: :radio_buttons,
collection_wrapper_tag: 'ul',
collection: Import::MODES,
item_wrapper_tag: 'li',
label_method: ->(mode) { safe_join([I18n.t("imports.modes.#{mode}"), content_tag(:span, I18n.t("imports.modes.#{mode}_long"), class: 'hint')]) }
.actions
= f.button :button, t('imports.upload'), type: :submit

View file

@ -1,8 +1,3 @@
:ruby
method_str = content_tag(:span, login_activity.omniauth? ? t(login_activity.provider, scope: 'auth.providers') : t(login_activity.authentication_method, scope: 'login_activities.authentication_methods'), class: 'target')
ip_str = content_tag(:span, login_activity.ip, class: 'target')
browser_str = content_tag(:span, t('sessions.description', browser: t("sessions.browsers.#{login_activity.browser}", default: login_activity.browser.to_s), platform: t("sessions.platforms.#{login_activity.platform}", default: login_activity.platform.to_s)), class: 'target', title: login_activity.user_agent)
.log-entry
.log-entry__header
.log-entry__avatar
@ -10,9 +5,6 @@
= fa_icon login_activity.success? ? 'check' : 'times'
.log-entry__content
.log-entry__title
- if login_activity.success?
= t('login_activities.successful_sign_in_html', method: method_str, ip: ip_str, browser: browser_str)
- else
= t('login_activities.failed_sign_in_html', method: method_str, ip: ip_str, browser: browser_str)
= login_activity_title(login_activity)
.log-entry__timestamp
%time.formatted{ datetime: login_activity.created_at.iso8601 }= l(login_activity.created_at)

View file

@ -15,7 +15,11 @@
.fields-row
.fields-row__column.fields-group.fields-row__column-6
= f.input :acct, wrapper: :with_block_label, input_html: { autocapitalize: 'none', autocorrect: 'off' }, label: t('simple_form.labels.account_migration.acct'), hint: t('simple_form.hints.account_migration.acct')
= f.input :acct,
hint: t('simple_form.hints.account_migration.acct'),
input_html: { autocapitalize: 'none', autocorrect: 'off' },
label: t('simple_form.labels.account_migration.acct'),
wrapper: :with_block_label
.fields-row__column.fields-group.fields-row__column-6
- if current_user.encrypted_password.present?

View file

@ -7,13 +7,28 @@
= simple_form_for current_user, url: settings_preferences_appearance_path, html: { method: :put, id: 'edit_user' } do |f|
.fields-row
.fields-group.fields-row__column.fields-row__column-6
= f.input :locale, collection: ui_languages, wrapper: :with_label, include_blank: false, label_method: ->(locale) { native_locale_name(locale) }, selected: I18n.locale, hint: false
= f.input :locale,
collection: ui_languages,
hint: false,
include_blank: false,
label_method: ->(locale) { native_locale_name(locale) },
selected: I18n.locale,
wrapper: :with_label
.fields-group.fields-row__column.fields-row__column-6
= f.input :time_zone, wrapper: :with_label, collection: ActiveSupport::TimeZone.all.map { |tz| ["(GMT#{tz.formatted_offset}) #{tz.name}", tz.tzinfo.name] }, hint: false
= f.input :time_zone,
collection: ActiveSupport::TimeZone.all.map { |tz| ["(GMT#{tz.formatted_offset}) #{tz.name}", tz.tzinfo.name] },
hint: false,
wrapper: :with_label
.fields-group
= f.simple_fields_for :settings, current_user.settings do |ff|
= ff.input :theme, collection: Themes.instance.names, label_method: ->(theme) { I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_theme'), include_blank: false, hint: false
= ff.input :theme,
collection: Themes.instance.names,
hint: false,
include_blank: false,
label_method: ->(theme) { I18n.t("themes.#{theme}", default: theme) },
label: I18n.t('simple_form.labels.defaults.setting_theme'),
wrapper: :with_label
- unless I18n.locale == :en
.flash-message.translation-prompt
@ -25,12 +40,18 @@
%p.hint= t 'appearance.advanced_web_interface_hint'
.fields-group
= ff.input :'web.advanced_layout', wrapper: :with_label, hint: false, label: I18n.t('simple_form.labels.defaults.setting_advanced_layout')
= ff.input :'web.advanced_layout',
hint: false,
label: I18n.t('simple_form.labels.defaults.setting_advanced_layout'),
wrapper: :with_label
%h4= t 'appearance.animations_and_accessibility'
.fields-group
= ff.input :'web.use_pending_items', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_use_pending_items'), hint: I18n.t('simple_form.hints.defaults.setting_use_pending_items')
= ff.input :'web.use_pending_items',
hint: I18n.t('simple_form.hints.defaults.setting_use_pending_items'),
label: I18n.t('simple_form.labels.defaults.setting_use_pending_items'),
wrapper: :with_label
.fields-group
= ff.input :'web.auto_play', wrapper: :with_label, recommended: true, label: I18n.t('simple_form.labels.defaults.setting_auto_play_gif')
@ -83,13 +104,28 @@
%h4= t 'appearance.sensitive_content'
.fields-group
= ff.input :'web.display_media', collection: %w(default show_all hide_all), label_method: ->(item) { t("simple_form.hints.defaults.setting_display_media_#{item}") }, hint: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label, label: I18n.t('simple_form.labels.defaults.setting_display_media')
= ff.input :'web.display_media',
as: :radio_buttons,
collection_wrapper_tag: 'ul',
collection: %w(default show_all hide_all),
hint: false,
item_wrapper_tag: 'li',
label_method: ->(item) { t("simple_form.hints.defaults.setting_display_media_#{item}") },
label: I18n.t('simple_form.labels.defaults.setting_display_media'),
wrapper: :with_floating_label
.fields-group
= ff.input :'web.display_media_expand', wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_display_media_expand'), hint: I18n.t('simple_form.hints.defaults.setting_display_media_expand')
= ff.input :'web.display_media_expand',
kmyblue: true,
hint: I18n.t('simple_form.hints.defaults.setting_display_media_expand'),
label: I18n.t('simple_form.labels.defaults.setting_display_media_expand'),
wrapper: :with_label
.fields-group
= ff.input :'web.use_blurhash', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_use_blurhash'), hint: I18n.t('simple_form.hints.defaults.setting_use_blurhash')
= ff.input :'web.use_blurhash',
hint: I18n.t('simple_form.hints.defaults.setting_use_blurhash'),
label: I18n.t('simple_form.labels.defaults.setting_use_blurhash'),
wrapper: :with_label
.fields-group
= ff.input :'web.expand_content_warnings', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_expand_spoilers')

View file

@ -34,7 +34,13 @@
- if SoftwareUpdate.check_enabled? && current_user.can?(:view_devops)
.fields-group
= ff.input :'notification_emails.software_updates', wrapper: :with_label, label: I18n.t('simple_form.labels.notification_emails.software_updates.label'), collection: %w(none critical patch all), label_method: ->(setting) { I18n.t("simple_form.labels.notification_emails.software_updates.#{setting}") }, include_blank: false, hint: false
= ff.input :'notification_emails.software_updates',
collection: %w(none critical patch all),
hint: false,
include_blank: false,
label_method: ->(setting) { I18n.t("simple_form.labels.notification_emails.software_updates.#{setting}") },
label: I18n.t('simple_form.labels.notification_emails.software_updates.label'),
wrapper: :with_label
%h4= t 'notifications.other_settings'

View file

@ -9,7 +9,11 @@
= f.simple_fields_for :settings, current_user.settings do |ff|
.fields-group
= ff.input :aggregate_reblogs, wrapper: :with_label, recommended: true, label: I18n.t('simple_form.labels.defaults.setting_aggregate_reblogs'), hint: I18n.t('simple_form.hints.defaults.setting_aggregate_reblogs')
= ff.input :aggregate_reblogs,
hint: I18n.t('simple_form.hints.defaults.setting_aggregate_reblogs'),
label: I18n.t('simple_form.labels.defaults.setting_aggregate_reblogs'),
recommended: true,
wrapper: :with_label
.fields-group
= ff.input :lock_follow_from_bot, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_lock_follow_from_bot')
@ -18,17 +22,37 @@
.fields-row
.fields-group.fields-row__column.fields-row__column-12
= ff.input :default_language, collection: [nil] + filterable_languages, wrapper: :with_label, label_method: ->(locale) { locale.nil? ? I18n.t('statuses.default_language') : native_locale_name(locale) }, required: false, include_blank: false, hint: false, label: I18n.t('simple_form.labels.defaults.setting_default_language')
= ff.input :default_language,
collection: [nil] + filterable_languages,
hint: false,
include_blank: false,
label_method: ->(locale) { locale.nil? ? I18n.t('statuses.default_language') : native_locale_name(locale) },
label: I18n.t('simple_form.labels.defaults.setting_default_language'),
required: false,
wrapper: :with_label
.fields-group
= ff.input :default_sensitive, wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_default_sensitive'), hint: I18n.t('simple_form.hints.defaults.setting_default_sensitive')
= ff.input :default_sensitive,
hint: I18n.t('simple_form.hints.defaults.setting_default_sensitive'),
label: I18n.t('simple_form.labels.defaults.setting_default_sensitive'),
wrapper: :with_label
- if Setting.enable_emoji_reaction
%h4= t 'preferences.emoji_reaction_permitting'
.fields-row
.fields-group.fields-row__column.fields-row__column-12
= ff.input :emoji_reaction_policy, kmyblue: true, collection: %w(allow outside_only followers_only following_only mutuals_only block), label_method: ->(item) { safe_join([t("simple_form.labels.defaults.setting_emoji_reaction_policy_items.#{item}")]) }, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', include_blank: false, wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_emoji_reaction_policy'), hint: false, warning_hint: I18n.t('simple_form.hints.defaults.setting_emoji_reaction_policy')
= ff.input :emoji_reaction_policy,
collection: %w(allow outside_only followers_only following_only mutuals_only block),
collection_wrapper_tag: 'ul',
hint: false,
include_blank: false,
item_wrapper_tag: 'li',
kmyblue: true,
label: I18n.t('simple_form.labels.defaults.setting_emoji_reaction_policy'),
label_method: ->(item) { safe_join([t("simple_form.labels.defaults.setting_emoji_reaction_policy_items.#{item}")]) },
warning_hint: I18n.t('simple_form.hints.defaults.setting_emoji_reaction_policy'),
wrapper: :with_label
.fields-group
= ff.input :slip_local_emoji_reaction, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_slip_local_emoji_reaction')
@ -43,10 +67,28 @@
= ff.input :'web.enable_dtl_menu', wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_dtl_menu')
.fields-group
= ff.input :dtl_force_visibility, kmyblue: true, collection: %w(unchange public public_unlisted unlisted), label_method: ->(item) { safe_join([t("simple_form.labels.dtl_force_visibility.#{item}")]) }, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label, label: I18n.t('simple_form.labels.defaults.setting_dtl_force_visibility'), hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_visibility', tag: @dtl_tag)
= ff.input :dtl_force_visibility,
as: :radio_buttons,
collection: %w(unchange public public_unlisted unlisted),
collection_wrapper_tag: 'ul',
hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_visibility', tag: @dtl_tag),
item_wrapper_tag: 'li',
kmyblue: true,
label: I18n.t('simple_form.labels.defaults.setting_dtl_force_visibility'),
label_method: ->(item) { safe_join([t("simple_form.labels.dtl_force_visibility.#{item}")]) },
wrapper: :with_floating_label
.fields-group
= ff.input :dtl_force_searchability, kmyblue: true, collection: %w(unchange public public_unlisted), label_method: ->(item) { safe_join([t("simple_form.labels.dtl_force_searchability.#{item}")]) }, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label, label: I18n.t('simple_form.labels.defaults.setting_dtl_force_searchability'), hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_searchability', tag: @dtl_tag)
= ff.input :dtl_force_searchability,
as: :radio_buttons,
collection: %w(unchange public public_unlisted),
collection_wrapper_tag: 'ul',
hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_searchability', tag: @dtl_tag),
item_wrapper_tag: 'li',
kmyblue: true,
label: I18n.t('simple_form.labels.defaults.setting_dtl_force_searchability'),
label_method: ->(item) { safe_join([t("simple_form.labels.dtl_force_searchability.#{item}")]) },
wrapper: :with_floating_label
.fields-group
= ff.input :dtl_force_subscribable, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_dtl_force_subscribable'), hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_subscribable')
@ -54,7 +96,15 @@
%h4= t 'preferences.public_timelines'
.fields-group
= f.input :chosen_languages, collection: filterable_languages, wrapper: :with_block_label, include_blank: false, label_method: ->(locale) { native_locale_name(locale) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
= f.input :chosen_languages,
as: :check_boxes,
collection_wrapper_tag: 'ul',
collection: filterable_languages,
include_blank: false,
item_wrapper_tag: 'li',
label_method: ->(locale) { native_locale_name(locale) },
required: false,
wrapper: :with_block_label
.actions
= f.button :button, t('generic.save_changes'), type: :submit

View file

@ -12,10 +12,25 @@
.fields-row
.fields-group.fields-row__column.fields-row__column-6
= ff.input :default_privacy, collection: Status.selectable_visibilities, wrapper: :with_label, include_blank: false, label_method: ->(visibility) { safe_join([I18n.t("statuses.visibilities.#{visibility}"), I18n.t("statuses.visibilities.#{visibility}_long")], ' - ') }, required: false, hint: false, label: I18n.t('simple_form.labels.defaults.setting_default_privacy')
= ff.input :default_privacy,
collection: Status.selectable_visibilities,
hint: false,
include_blank: false,
label: I18n.t('simple_form.labels.defaults.setting_default_privacy'),
label_method: ->(visibility) { safe_join([I18n.t("statuses.visibilities.#{visibility}"), I18n.t("statuses.visibilities.#{visibility}_long")], ' - ') },
required: false,
wrapper: :with_label
.fields-group.fields-row__column.fields-row__column-6
= ff.input :default_reblog_privacy, collection: Status.selectable_reblog_visibilities, wrapper: :with_label, kmyblue: true, include_blank: false, label_method: ->(visibility) { safe_join([I18n.t("statuses.visibilities.#{visibility}"), I18n.t("statuses.visibilities.#{visibility}_long")], ' - ') }, required: false, hint: false, label: I18n.t('simple_form.labels.defaults.setting_default_reblog_privacy')
= ff.input :default_reblog_privacy,
collection: Status.selectable_reblog_visibilities,
hint: false,
include_blank: false,
kmyblue: true,
label: I18n.t('simple_form.labels.defaults.setting_default_reblog_privacy'),
label_method: ->(visibility) { safe_join([I18n.t("statuses.visibilities.#{visibility}"), I18n.t("statuses.visibilities.#{visibility}_long")], ' - ') },
required: false,
wrapper: :with_label
.fields-group
= ff.input :stay_privacy, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_stay_privacy')
@ -31,7 +46,15 @@
.fields-row
.fields-group.fields-row__column.fields-row__column-12
= ff.input :default_searchability, collection: Status.selectable_searchabilities, wrapper: :with_label, kmyblue: true, include_blank: false, label_method: ->(searchability) { safe_join([I18n.t("statuses.searchabilities.#{searchability}"), I18n.t("statuses.searchabilities.#{searchability}_long")], ' - ') }, required: false, label: I18n.t('simple_form.labels.defaults.setting_default_searchability'), hint: I18n.t('simple_form.hints.defaults.setting_default_searchability')
= ff.input :default_searchability,
collection: Status.selectable_searchabilities,
hint: I18n.t('simple_form.hints.defaults.setting_default_searchability'),
include_blank: false,
kmyblue: true,
label: I18n.t('simple_form.labels.defaults.setting_default_searchability'),
label_method: ->(searchability) { safe_join([I18n.t("statuses.searchabilities.#{searchability}"), I18n.t("statuses.searchabilities.#{searchability}_long")], ' - ') },
required: false,
wrapper: :with_label
.fields-group
= ff.input :disallow_unlisted_public_searchability, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_disallow_unlisted_public_searchability'), hint: I18n.t('simple_form.hints.defaults.setting_disallow_unlisted_public_searchability')
@ -40,7 +63,15 @@
.fields-row
.fields-group.fields-row__column.fields-row__column-12
= ff.input :default_searchability_of_search, collection: Status.selectable_searchabilities_for_search, wrapper: :with_label, kmyblue: true, include_blank: false, label_method: ->(searchability) { safe_join([I18n.t("statuses.searchabilities.#{searchability}"), I18n.t("statuses.searchabilities.#{searchability}_search_long")], ' - ') }, required: false, hint: false, label: I18n.t('simple_form.labels.defaults.setting_default_searchability_of_search')
= ff.input :default_searchability_of_search,
collection: Status.selectable_searchabilities_for_search,
hint: false,
include_blank: false,
kmyblue: true,
label: I18n.t('simple_form.labels.defaults.setting_default_searchability_of_search'),
label_method: ->(searchability) { safe_join([I18n.t("statuses.searchabilities.#{searchability}"), I18n.t("statuses.searchabilities.#{searchability}_search_long")], ' - ') },
required: false,
wrapper: :with_label
.fields-group
= ff.input :use_public_index, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_use_public_index')

View file

@ -40,7 +40,14 @@
= f.simple_fields_for :settings, current_user.settings do |ff|
.fields-row
.fields-group.fields-row__column.fields-row__column-12
= ff.input :default_searchability, collection: Status.selectable_searchabilities, wrapper: :with_label, kmyblue: true, include_blank: false, label_method: ->(searchability) { safe_join([I18n.t("statuses.searchabilities.#{searchability}"), I18n.t("statuses.searchabilities.#{searchability}_long")], ' - ') }, required: false, label: I18n.t('simple_form.labels.account.searchability_kmyblue')
= ff.input :default_searchability,
collection: Status.selectable_searchabilities,
include_blank: false,
kmyblue: true,
label: I18n.t('simple_form.labels.account.searchability_kmyblue'),
label_method: ->(searchability) { safe_join([I18n.t("statuses.searchabilities.#{searchability}"), I18n.t("statuses.searchabilities.#{searchability}_long")], ' - ') },
required: false,
wrapper: :with_label
%h4= t('privacy.privacy')

View file

@ -22,7 +22,16 @@
= ff.input :link_preview, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_link_preview'), hint: I18n.t('simple_form.hints.defaults.setting_link_preview')
.fields-group
= f.input :subscription_policy, kmyblue: true, collection: %w(allow followers_only block), label_method: ->(item) { safe_join([t("simple_form.labels.subscription_policy.#{item}")]) }, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label, label: t('simple_form.labels.defaults.subscription_policy'), hint: t('simple_form.hints.defaults.subscription_policy')
= f.input :subscription_policy,
as: :radio_buttons,
collection: %w(allow followers_only block),
collection_wrapper_tag: 'ul',
hint: t('simple_form.hints.defaults.subscription_policy'),
item_wrapper_tag: 'li',
kmyblue: true,
label: t('simple_form.labels.defaults.subscription_policy'),
label_method: ->(item) { safe_join([t("simple_form.labels.subscription_policy.#{item}")]) },
wrapper: :with_floating_label
.fields-group
= ff.input :allow_quote, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_allow_quote'), hint: false

View file

@ -36,7 +36,10 @@
.fields-row
.fields-row__column.fields-row__column-6
.fields-group
= f.input :avatar, wrapper: :with_block_label, input_html: { accept: Account::Avatar::IMAGE_MIME_TYPES.join(',') }, hint: t('simple_form.hints.defaults.avatar', dimensions: '400x400', size: number_to_human_size(Account::Avatar::LIMIT))
= f.input :avatar,
hint: t('simple_form.hints.defaults.avatar', dimensions: '400x400', size: number_to_human_size(Account::Avatar::LIMIT)),
input_html: { accept: Account::Avatar::IMAGE_MIME_TYPES.join(',') },
wrapper: :with_block_label
.fields-row__column.fields-row__column-6
.fields-group
@ -49,7 +52,10 @@
.fields-row
.fields-row__column.fields-row__column-6
.fields-group
= f.input :header, wrapper: :with_block_label, input_html: { accept: Account::Header::IMAGE_MIME_TYPES.join(',') }, hint: t('simple_form.hints.defaults.header', dimensions: '1500x500', size: number_to_human_size(Account::Header::LIMIT))
= f.input :header,
hint: t('simple_form.hints.defaults.header', dimensions: '1500x500', size: number_to_human_size(Account::Header::LIMIT)),
input_html: { accept: Account::Header::IMAGE_MIME_TYPES.join(',') },
wrapper: :with_block_label
.fields-row__column.fields-row__column-6
.fields-group
@ -62,7 +68,13 @@
%h4= t('edit_profile.other')
.fields-group
= f.input :my_actor_type, collection: %w(person bot), label_method: ->(item) { safe_join([t("simple_form.labels.defaults.#{item}"), content_tag(:span, I18n.t("simple_form.hints.defaults.#{item}"), class: 'hint')]) }, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label
= f.input :my_actor_type,
as: :radio_buttons,
collection: %w(person bot),
collection_wrapper_tag: 'ul',
item_wrapper_tag: 'li',
label_method: ->(item) { safe_join([t("simple_form.labels.defaults.#{item}"), content_tag(:span, I18n.t("simple_form.hints.defaults.#{item}"), class: 'hint')]) },
wrapper: :with_floating_label
.actions
= f.button :button, t('generic.save_changes'), type: :submit

View file

@ -12,7 +12,12 @@
%samp.qr-alternative__code= @new_otp_secret.scan(/.{4}/).join(' ')
.fields-group
= f.input :otp_attempt, wrapper: :with_label, hint: t('otp_authentication.code_hint'), label: t('simple_form.labels.defaults.otp_attempt'), input_html: { autocomplete: 'off' }, required: true
= f.input :otp_attempt,
hint: t('otp_authentication.code_hint'),
input_html: { autocomplete: 'off' },
label: t('simple_form.labels.defaults.otp_attempt'),
required: true,
wrapper: :with_label
.actions
= f.button :button, t('otp_authentication.enable'), type: :submit