Claire 0aa69487a2 Merge commit '877090518682b6c77ba9bdfa0231afd56daec44d' into glitch-soc/merge-upstream
Conflicts:
- `app/models/concerns/user/has_settings.rb`:
  Not a real conflict, upstream added a setting textually close to a glitch-soc one.
  Added upstream's new setting.
- `app/views/settings/preferences/appearance/show.html.haml`:
  Not a real conflict, upstream added a setting textually close to a glitch-soc one.
  Added upstream's new setting.
- `config/routes.rb`:
  Upstream moved web app routes to `config/routes/web_app.rb`, while glitch-soc had
  an extra route.
  Moved the extra route to `config/routes/web_app.rb`.
- `spec/controllers/settings/preferences/appearance_controller_spec.rb`:
  This spec got converted to a system spec upstream.
  However, the theme setting works differently in glitch-soc, so the spec had been
  changed.
  Changed the corresponding system spec as well.
2024-12-25 18:01:37 +01:00

93 lines
4.8 KiB
Plaintext

- content_for :page_title do
= t('settings.appearance')
- content_for :heading_actions do
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_user'
= simple_form_for current_user, url: settings_preferences_appearance_path, html: { id: :edit_user } do |f|
.fields-row
.fields-group.fields-row__column.fields-row__column-6
= 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,
collection: ActiveSupport::TimeZone.all.map { |tz| ["(GMT#{tz.formatted_offset}) #{tz.name}", tz.tzinfo.name] },
hint: false,
selected: current_user.time_zone || Time.zone.tzinfo.name,
wrapper: :with_label
- unless I18n.locale == :en
.flash-message.translation-prompt
#{t 'appearance.localization.body'} #{content_tag(:a, t('appearance.localization.guide_link_text'), href: t('appearance.localization.guide_link'), target: '_blank', rel: 'noopener')}
= link_to t('appearance.localization.glitch_guide_link'), target: '_blank', rel: 'noopener noreferrer' do
= t('appearance.localization.glitch_guide_link_text')
= f.simple_fields_for :settings, current_user.settings do |ff|
%h4= t 'appearance.advanced_web_interface'
%p.hint= t 'appearance.advanced_web_interface_hint'
.fields-group
= 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',
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')
= ff.input :'web.reduce_motion', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_reduce_motion')
= ff.input :'web.disable_swiping', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_swiping')
= ff.input :'web.disable_hover_cards', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_hover_cards')
= ff.input :'web.use_system_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_font_ui')
= ff.input :'web.use_system_emoji_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_emoji_font'), glitch_only: true
= ff.input :'web.use_system_scrollbars', wrapper: :with_label, hint: I18n.t('simple_form.hints.defaults.setting_system_scrollbars_ui'), label: I18n.t('simple_form.labels.defaults.setting_system_scrollbars_ui')
%h4= t 'appearance.discovery'
.fields-group
= ff.input :'web.trends', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_trends')
%h4= t 'appearance.confirmation_dialogs'
.fields-group
= ff.input :'web.reblog_modal', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_boost_modal')
= ff.input :'web.favourite_modal', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_favourite_modal'), glitch_only: true
= ff.input :'web.delete_modal', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_delete_modal')
%h4= t 'appearance.sensitive_content'
.fields-group
= 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.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')
.actions
= f.button :button, t('generic.save_changes'), type: :submit