about summary refs log tree commit diff
path: root/app/views/settings/preferences/show.html.haml
blob: c51f91bde1754c45555019d95e5d560c849f4ece (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
- content_for :page_title do
  = t('settings.preferences')

%ul.quick-nav
  %li= link_to t('preferences.languages'), '#settings_languages'
  %li= link_to t('preferences.publishing'), '#settings_publishing'
  %li= link_to t('preferences.other'), '#settings_other'
  %li= link_to t('preferences.web'), '#settings_web'
  %li= link_to t('settings.notifications'), settings_notifications_path

= simple_form_for current_user, url: settings_preferences_path, html: { method: :put } do |f|
  = render 'shared/error_messages', object: current_user

  - if current_user.can_moderate?
    %hr/

    .fields-group
      = f.input :defanged, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.defanged')

  %hr#settings_publishing/

  .fields-group
    = f.input :setting_default_privacy, collection: Status.selectable_visibilities, wrapper: :with_floating_label, include_blank: false, label_method: lambda { |visibility| safe_join([I18n.t("statuses.visibilities.#{visibility}"), content_tag(:span, I18n.t("statuses.visibilities.#{visibility}_long"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'

  .fields-group
    .fields-row
      .fields-group.fields-row__column.fields-row__column-6
        = f.input :setting_max_public_history, collection: [1, 3, 6, 7, 14, 30, 60, 90, 180, 365, 730, 1095, 2190], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.lifespan.#{item}")]) }, selected: current_user.max_public_history
      .fields-group.fields-row__column.fields-row__column-6
        = f.input :setting_max_public_access, collection: [1, 3, 6, 7, 14, 30, 60, 90, 180, 365, 730, 1095, 2190], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.lifespan.#{item}")]) }, selected: current_user.max_public_access

  .fields-group
    .fields-row
      .fields-group.fields-row__column.fields-row__column-6
        = f.input :setting_roar_defederate, collection: [0, 1, 3, 6, 7, 14, 30, 60, 90, 180, 365, 730, 1095, 2190], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.lifespan.#{item}")]) }, selected: current_user.roar_defederate
        = f.input :setting_roar_defederate_old, as: :boolean, wrapper: :with_label

      .fields-group.fields-row__column.fields-row__column-6
        = f.input :setting_roar_lifespan, collection: [0, 1, 3, 6, 7, 14, 30, 60, 90, 180, 365, 730, 1095, 2190], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.lifespan.#{item}")]) }, selected: current_user.roar_lifespan
        = f.input :setting_roar_lifespan_old, as: :boolean, wrapper: :with_label

  .fields-group
    = f.input :setting_default_sensitive, as: :boolean, wrapper: :with_label
    = f.input :setting_default_local, as: :boolean, wrapper: :with_label
    = f.input :setting_always_local, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_public_profile, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_public_outbox, as: :boolean, wrapper: :with_label
    = f.input :setting_allow_rss, as: :boolean, wrapper: :with_label

  %hr/

  .fields-group
    = f.input :setting_default_content_type, collection: ['text/x-bbcode+markdown', 'text/markdown', 'text/x-bbcode', 'text/html', 'text/plain', 'text/console'], wrapper: :with_floating_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.defaults.setting_default_content_type_#{item.split('/')[1].gsub(/[+-]/, '_')}"), content_tag(:span, t("simple_form.hints.defaults.setting_default_content_type_#{item.split('/')[1].gsub(/[+-]/, '_')}_html"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'

  %hr/

  .fields-group
    = f.input :setting_delayed_roars, as: :boolean, wrapper: :with_label
    = f.input :setting_delayed_for, collection: [5, 10, 15, 30, 60, 120, 180, 300, 360, 600, 1800, 3600], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.delayed_for.#{item}")]) }, selected: current_user.delayed_for

  %hr/

  .fields-group
    = f.input :setting_boost_interval, as: :boolean, wrapper: :with_label
    = f.input :setting_boost_random, as: :boolean, wrapper: :with_label
    = f.input :setting_boost_interval_from, collection: [1, 2, 3, 4, 5, 6, 10, 15, 30, 60, 120, 180, 300, 360, 720, 1440], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.boost_interval.#{item}")]) }, selected: current_user.boost_interval_from
    = f.input :setting_boost_interval_to, collection: [1, 2, 3, 4, 5, 6, 10, 15, 30, 60, 120, 180, 300, 360, 720, 1440], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.boost_interval.#{item}")]) }, selected: current_user.boost_interval_to

  %hr#settings_other/

  .fields-group
    = f.input :filters_enabled, as: :boolean, wrapper: :with_label
    = f.input :invert_filters, as: :boolean, wrapper: :with_label
    = f.input :filter_timelines_only, as: :boolean, wrapper: :with_label
    = f.input :setting_filter_mentions, as: :boolean, wrapper: :with_label

  %hr/

  .fields-group
    = f.input :allow_unknown_follows, as: :boolean, wrapper: :with_label

  %hr/

  .fields-group
    = f.input :only_known, as: :boolean, wrapper: :with_label
    = f.input :hide_boosts, as: :boolean, wrapper: :with_label
    = f.input :media_only, as: :boolean, wrapper: :with_label
    = f.input :filter_undescribed, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_sensitive_cards, as: :boolean, wrapper: :with_label

  .fields-group
    = f.input :setting_rawr_federated, as: :boolean, wrapper: :with_label

  %hr/

  .fields-group
    = f.input :monsterfork_api, collection: [:vanilla, :basic, :full], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.monsterfork_api.#{item}")]) }, selected: current_user.monsterfork_api

  %hr/

  .fields-group
    = f.input :setting_hide_network, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_interactions, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_stats, as: :boolean, wrapper: :with_label
    = f.input :setting_show_application, as: :boolean, wrapper: :with_label
    = f.input :setting_noindex, as: :boolean, wrapper: :with_label

  - unless Setting.hide_followers_count
    .fields-group
      = f.input :setting_hide_followers_count, as: :boolean, wrapper: :with_label

  %hr#settings_web/

  .fields-group
    = f.input :setting_auto_play_gif, as: :boolean, wrapper: :with_label
    = f.input :setting_reduce_motion, as: :boolean, wrapper: :with_label
    = f.input :setting_system_font_ui, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_captions, as: :boolean, wrapper: :with_label
    = f.input :setting_larger_menus, as: :boolean, wrapper: :with_label
    = f.input :setting_larger_buttons, as: :boolean, wrapper: :with_label
    = f.input :setting_larger_drawer, as: :boolean, wrapper: :with_label
    = f.input :setting_larger_emoji, as: :boolean, wrapper: :with_label
    = f.input :setting_show_cursor, as: :boolean, wrapper: :with_label
    = f.input :setting_force_lowercase, as: :boolean, wrapper: :with_label

  %hr/

  .fields-group
    = f.input :setting_hide_mascot, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_replies_muted, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_replies_blocked, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_replies_blocker, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_mntions_muted, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_mntions_blocked, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_mntions_blocker, as: :boolean, wrapper: :with_label
    = f.input :setting_hide_mntions_packm8, as: :boolean, wrapper: :with_label

  %hr/

  .fields-group
    = f.input :setting_aggregate_reblogs, as: :boolean, wrapper: :with_label
    = f.input :setting_advanced_layout, as: :boolean, wrapper: :with_label

  %hr/

  .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_delete_modal, as: :boolean, wrapper: :with_label

  %hr/

  .fields-group
    = f.input :setting_display_media, collection: ['default', 'show_all', 'hide_all'], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.defaults.setting_display_media_#{item}"), content_tag(:span, t("simple_form.hints.defaults.setting_display_media_#{item}"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
    = f.input :setting_expand_spoilers, as: :boolean, wrapper: :with_label

  %hr/

  .fields-row#settings_languages
    .fields-group.fields-row__column.fields-row__column-6
      = f.input :locale, collection: I18n.available_locales, wrapper: :with_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, selected: I18n.locale
    .fields-group.fields-row__column.fields-row__column-6
      = f.input :setting_default_language, collection: [nil] + filterable_languages.sort, wrapper: :with_label, label_method: lambda { |locale| locale.nil? ? I18n.t('statuses.language_detection') : human_locale(locale) }, required: false, include_blank: false

  .fields-group
    = f.input :chosen_languages, collection: filterable_languages.sort, wrapper: :with_block_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'

  %hr/

  .actions
    = f.button :button, t('generic.save_changes'), type: :submit