Files
mastodon/app/views/settings/preferences/posting_defaults/show.html.haml

66 lines
3.4 KiB
Plaintext

- content_for :page_title do
= t('preferences.posting_defaults')
- content_for :heading_actions do
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_preferences'
- if ['unlisted', 'private'].include?(current_user.setting_default_privacy)
- initial_quote_hint = I18n.t("simple_form.hints.defaults.setting_default_quote_policy_#{current_user.setting_default_privacy}")
= simple_form_for current_user, url: settings_preferences_posting_defaults_path, html: { id: :edit_preferences } do |f|
= render 'shared/error_messages', object: current_user
= f.simple_fields_for :settings, current_user.settings do |ff|
.flash-message= t('posting_defaults.explanation')
.fields-group
= ff.input :default_privacy,
collection: Status.selectable_visibilities,
selected: current_user.setting_default_privacy,
hint: false,
include_blank: false,
label_method: ->(visibility) { visibility == 'private' ? I18n.t('statuses.visibilities.private') : safe_join([I18n.t("statuses.visibilities.#{visibility}"), I18n.t("statuses.visibilities.#{visibility}_long")], ' - ') },
label: I18n.t('simple_form.labels.defaults.setting_default_privacy'),
required: false,
wrapper: :with_label
.fields-group
= ff.input :default_quote_policy,
collection: %w(public followers nobody),
include_blank: false,
label_method: ->(policy) { I18n.t("statuses.quote_policies.#{policy}") },
label: I18n.t('simple_form.labels.defaults.setting_default_quote_policy'),
hint: initial_quote_hint,
required: false,
wrapper: :with_label,
wrapper_html: { data: { 'unlisted-hint': I18n.t('simple_form.hints.defaults.setting_default_quote_policy_unlisted'), 'private-hint': I18n.t('simple_form.hints.defaults.setting_default_quote_policy_private') } }
.fields-group
= 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,
hint: I18n.t('simple_form.hints.defaults.setting_default_sensitive'),
label: I18n.t('simple_form.labels.defaults.setting_default_sensitive'),
wrapper: :with_label
.fields-group
= ff.input :default_content_type,
collection: %w(text/plain text/markdown text/html),
wrapper: :with_label,
label: I18n.t('simple_form.labels.defaults.setting_default_content_type'),
include_blank: false,
label_method: ->(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