Reorganize preferences page (#5161)
This commit is contained in:
parent
b110cc542f
commit
0b3f1ec62a
|
@ -22,6 +22,16 @@ code {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: $ui-primary-color;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
border-bottom: 1px solid lighten($ui-base-color, 8%);
|
||||||
|
}
|
||||||
|
|
||||||
p.hint {
|
p.hint {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
color: $ui-primary-color;
|
color: $ui-primary-color;
|
||||||
|
@ -316,6 +326,7 @@ code {
|
||||||
|
|
||||||
select {
|
select {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
max-height: 29px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-with-append {
|
.input-with-append {
|
||||||
|
|
|
@ -4,30 +4,22 @@
|
||||||
= simple_form_for current_user, url: settings_preferences_path, html: { method: :put } do |f|
|
= simple_form_for current_user, url: settings_preferences_path, html: { method: :put } do |f|
|
||||||
= render 'shared/error_messages', object: current_user
|
= render 'shared/error_messages', object: current_user
|
||||||
|
|
||||||
|
%h4= t 'preferences.languages'
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :setting_theme, collection: Themes.instance.names, label_method: lambda { |theme| safe_join([I18n.t("themes.#{theme}", default: theme)])}, wrapper: :with_label, include_blank: false
|
= f.input :locale, collection: I18n.available_locales, wrapper: :with_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, selected: I18n.locale
|
||||||
|
|
||||||
= f.input :locale,
|
= f.input :filtered_languages, collection: filterable_languages, 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'
|
||||||
collection: I18n.available_locales,
|
|
||||||
wrapper: :with_label,
|
|
||||||
include_blank: false,
|
|
||||||
label_method: lambda { |locale| human_locale(locale) },
|
|
||||||
selected: I18n.locale
|
|
||||||
|
|
||||||
= f.input :filtered_languages,
|
%h4= t 'preferences.publishing'
|
||||||
collection: filterable_languages,
|
|
||||||
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'
|
|
||||||
|
|
||||||
|
.fields-group
|
||||||
= f.input :setting_default_privacy, collection: Status.visibilities.keys - ['direct'], wrapper: :with_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'
|
= f.input :setting_default_privacy, collection: Status.visibilities.keys - ['direct'], wrapper: :with_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'
|
||||||
|
|
||||||
= f.input :setting_default_sensitive, as: :boolean, wrapper: :with_label
|
= f.input :setting_default_sensitive, as: :boolean, wrapper: :with_label
|
||||||
|
|
||||||
|
%h4= t 'preferences.notifications'
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff|
|
= f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff|
|
||||||
= ff.input :follow, as: :boolean, wrapper: :with_label
|
= ff.input :follow, as: :boolean, wrapper: :with_label
|
||||||
|
@ -35,6 +27,9 @@
|
||||||
= ff.input :reblog, as: :boolean, wrapper: :with_label
|
= ff.input :reblog, as: :boolean, wrapper: :with_label
|
||||||
= ff.input :favourite, as: :boolean, wrapper: :with_label
|
= ff.input :favourite, as: :boolean, wrapper: :with_label
|
||||||
= ff.input :mention, as: :boolean, wrapper: :with_label
|
= ff.input :mention, as: :boolean, wrapper: :with_label
|
||||||
|
|
||||||
|
.fields-group
|
||||||
|
= f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff|
|
||||||
= ff.input :digest, as: :boolean, wrapper: :with_label
|
= ff.input :digest, as: :boolean, wrapper: :with_label
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
|
@ -42,10 +37,17 @@
|
||||||
= ff.input :must_be_follower, as: :boolean, wrapper: :with_label
|
= ff.input :must_be_follower, as: :boolean, wrapper: :with_label
|
||||||
= ff.input :must_be_following, as: :boolean, wrapper: :with_label
|
= ff.input :must_be_following, as: :boolean, wrapper: :with_label
|
||||||
|
|
||||||
|
%h4= t 'preferences.other'
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :setting_noindex, as: :boolean, wrapper: :with_label
|
= f.input :setting_noindex, as: :boolean, wrapper: :with_label
|
||||||
|
|
||||||
|
%h4= t 'preferences.web'
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
|
- if Themes.instance.names.size > 1
|
||||||
|
= f.input :setting_theme, collection: Themes.instance.names, label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false
|
||||||
|
|
||||||
= f.input :setting_unfollow_modal, as: :boolean, wrapper: :with_label
|
= f.input :setting_unfollow_modal, as: :boolean, wrapper: :with_label
|
||||||
= f.input :setting_boost_modal, as: :boolean, wrapper: :with_label
|
= f.input :setting_boost_modal, as: :boolean, wrapper: :with_label
|
||||||
= f.input :setting_delete_modal, as: :boolean, wrapper: :with_label
|
= f.input :setting_delete_modal, as: :boolean, wrapper: :with_label
|
||||||
|
|
|
@ -388,7 +388,6 @@ de:
|
||||||
private_long: Nur für Folgende sichtbar
|
private_long: Nur für Folgende sichtbar
|
||||||
public: Öffentlich
|
public: Öffentlich
|
||||||
public_long: Für alle sichtbar
|
public_long: Für alle sichtbar
|
||||||
unlisted: Nicht gelistet
|
|
||||||
unlisted: Für alle sichtbar, aber nicht in öffentlichen Zeitleisten aufgelistet
|
unlisted: Für alle sichtbar, aber nicht in öffentlichen Zeitleisten aufgelistet
|
||||||
stream_entries:
|
stream_entries:
|
||||||
click_to_show: Klicken, um zu zeigen
|
click_to_show: Klicken, um zu zeigen
|
||||||
|
|
|
@ -8,10 +8,10 @@ de:
|
||||||
failure:
|
failure:
|
||||||
already_authenticated: Du bist bereits angemeldet.
|
already_authenticated: Du bist bereits angemeldet.
|
||||||
inactive: Dein Konto wurde noch nicht aktiviert.
|
inactive: Dein Konto wurde noch nicht aktiviert.
|
||||||
invalid: '%{authentication_keys} oder Passwort ungültig.'
|
invalid: "%{authentication_keys} oder Passwort ungültig."
|
||||||
last_attempt: Du hast noch einen Versuch, bevor dein Konto gesperrt wird.
|
last_attempt: Du hast noch einen Versuch, bevor dein Konto gesperrt wird.
|
||||||
locked: Dein Konto ist gesperrt.
|
locked: Dein Konto ist gesperrt.
|
||||||
not_found_in_database: '%{authentication_keys} oder Passwort ungültig.'
|
not_found_in_database: "%{authentication_keys} oder Passwort ungültig."
|
||||||
timeout: Deine Sitzung ist abgelaufen. Bitte melde dich erneut an.
|
timeout: Deine Sitzung ist abgelaufen. Bitte melde dich erneut an.
|
||||||
unauthenticated: Du musst dich anmelden oder registrieren, bevor du fortfahren kannst.
|
unauthenticated: Du musst dich anmelden oder registrieren, bevor du fortfahren kannst.
|
||||||
unconfirmed: Du musst deine E-Mail-Adresse bestätigen, bevor du fortfahren kannst.
|
unconfirmed: Du musst deine E-Mail-Adresse bestätigen, bevor du fortfahren kannst.
|
||||||
|
|
|
@ -393,6 +393,12 @@ en:
|
||||||
next: Next
|
next: Next
|
||||||
prev: Prev
|
prev: Prev
|
||||||
truncate: "…"
|
truncate: "…"
|
||||||
|
preferences:
|
||||||
|
languages: Languages
|
||||||
|
notifications: Notifications
|
||||||
|
other: Other
|
||||||
|
publishing: Publishing
|
||||||
|
web: Web
|
||||||
push_notifications:
|
push_notifications:
|
||||||
favourite:
|
favourite:
|
||||||
title: "%{name} favourited your status"
|
title: "%{name} favourited your status"
|
||||||
|
|
|
@ -247,7 +247,7 @@ ja:
|
||||||
salutation: "%{name} さん"
|
salutation: "%{name} さん"
|
||||||
settings: 'メール設定の変更: %{link}'
|
settings: 'メール設定の変更: %{link}'
|
||||||
signature: Mastodon %{instance} インスタンスからの通知
|
signature: Mastodon %{instance} インスタンスからの通知
|
||||||
view: 'リンク'
|
view: リンク
|
||||||
applications:
|
applications:
|
||||||
created: アプリが作成されました
|
created: アプリが作成されました
|
||||||
destroyed: アプリが削除されました
|
destroyed: アプリが削除されました
|
||||||
|
|
|
@ -93,8 +93,8 @@ oc:
|
||||||
reset_password: Reïnicializar lo senhal
|
reset_password: Reïnicializar lo senhal
|
||||||
resubscribe: Se tornar abonar
|
resubscribe: Se tornar abonar
|
||||||
salmon_url: URL Salmon
|
salmon_url: URL Salmon
|
||||||
shared_inbox_url: URL de recepcion partejada
|
|
||||||
search: Cercar
|
search: Cercar
|
||||||
|
shared_inbox_url: URL de recepcion partejada
|
||||||
show:
|
show:
|
||||||
created_reports: Rapòrts creat per aqueste compte
|
created_reports: Rapòrts creat per aqueste compte
|
||||||
report: rapòrt
|
report: rapòrt
|
||||||
|
|
|
@ -62,7 +62,7 @@ pl:
|
||||||
followers: Śledzący
|
followers: Śledzący
|
||||||
followers_url: Adres śledzących
|
followers_url: Adres śledzących
|
||||||
follows: Śledzeni
|
follows: Śledzeni
|
||||||
inbox: Adres skrzynki
|
inbox_url: Adres skrzynki
|
||||||
ip: Adres IP
|
ip: Adres IP
|
||||||
location:
|
location:
|
||||||
all: Wszystkie
|
all: Wszystkie
|
||||||
|
|
|
@ -4,6 +4,7 @@ en:
|
||||||
hints:
|
hints:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 120x120px
|
avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 120x120px
|
||||||
|
digest: Sent after a long period of inactivity with a summary of mentions you've received in your absence
|
||||||
display_name:
|
display_name:
|
||||||
one: <span class="name-counter">1</span> character left
|
one: <span class="name-counter">1</span> character left
|
||||||
other: <span class="name-counter">%{count}</span> characters left
|
other: <span class="name-counter">%{count}</span> characters left
|
||||||
|
@ -19,7 +20,7 @@ en:
|
||||||
sessions:
|
sessions:
|
||||||
otp: Enter the Two-factor code from your phone or use one of your recovery codes.
|
otp: Enter the Two-factor code from your phone or use one of your recovery codes.
|
||||||
user:
|
user:
|
||||||
filtered_languages: Selected languages will be removed from your public timelines.
|
filtered_languages: Checked languages will be filtered from public timelines for you
|
||||||
labels:
|
labels:
|
||||||
defaults:
|
defaults:
|
||||||
avatar: Avatar
|
avatar: Avatar
|
||||||
|
@ -44,7 +45,7 @@ en:
|
||||||
setting_delete_modal: Show confirmation dialog before deleting a toot
|
setting_delete_modal: Show confirmation dialog before deleting a toot
|
||||||
setting_noindex: Opt-out of search engine indexing
|
setting_noindex: Opt-out of search engine indexing
|
||||||
setting_system_font_ui: Use system's default font
|
setting_system_font_ui: Use system's default font
|
||||||
setting_theme: Site theme
|
setting_theme: Site theme
|
||||||
setting_unfollow_modal: Show confirmation dialog before unfollowing someone
|
setting_unfollow_modal: Show confirmation dialog before unfollowing someone
|
||||||
severity: Severity
|
severity: Severity
|
||||||
type: Import type
|
type: Import type
|
||||||
|
|
Loading…
Reference in a new issue