2016-11-15 15:56:29 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-12-12 21:32:13 +00:00
|
|
|
class Settings::PreferencesController < Settings::BaseController
|
2022-02-08 04:50:44 +00:00
|
|
|
before_action :set_account, only: [:update]
|
|
|
|
|
2016-12-06 17:03:30 +00:00
|
|
|
def show; end
|
2016-10-14 00:28:49 +00:00
|
|
|
|
|
|
|
def update
|
2022-02-08 04:50:44 +00:00
|
|
|
if user_settings.update(user_settings_params.to_h)
|
|
|
|
ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
|
|
|
|
end
|
2017-04-21 01:26:52 +00:00
|
|
|
|
|
|
|
if current_user.update(user_params)
|
2017-05-22 15:58:41 +00:00
|
|
|
I18n.locale = current_user.locale
|
2019-06-07 01:39:24 +00:00
|
|
|
redirect_to after_update_redirect_path, notice: I18n.t('generic.changes_saved_msg')
|
2016-10-14 00:28:49 +00:00
|
|
|
else
|
2017-04-19 13:37:42 +00:00
|
|
|
render :show
|
2016-10-14 00:28:49 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
2019-06-07 01:39:24 +00:00
|
|
|
def after_update_redirect_path
|
|
|
|
settings_preferences_path
|
|
|
|
end
|
|
|
|
|
2017-04-21 01:26:52 +00:00
|
|
|
def user_settings
|
|
|
|
UserSettingsDecorator.new(current_user)
|
|
|
|
end
|
|
|
|
|
2016-10-14 00:28:49 +00:00
|
|
|
def user_params
|
2017-04-21 01:26:52 +00:00
|
|
|
params.require(:user).permit(
|
2017-05-01 15:42:13 +00:00
|
|
|
:locale,
|
2018-06-17 11:54:02 +00:00
|
|
|
chosen_languages: []
|
2017-04-21 01:26:52 +00:00
|
|
|
)
|
|
|
|
end
|
|
|
|
|
|
|
|
def user_settings_params
|
|
|
|
params.require(:user).permit(
|
|
|
|
:setting_default_privacy,
|
2017-07-10 12:00:32 +00:00
|
|
|
:setting_default_sensitive,
|
2018-06-17 16:57:31 +00:00
|
|
|
:setting_default_language,
|
2017-07-18 15:14:43 +00:00
|
|
|
:setting_unfollow_modal,
|
2019-12-12 11:02:35 +00:00
|
|
|
:setting_unsubscribe_modal,
|
2017-04-21 01:26:52 +00:00
|
|
|
:setting_boost_modal,
|
2017-05-29 15:56:13 +00:00
|
|
|
:setting_delete_modal,
|
2017-04-21 01:26:52 +00:00
|
|
|
:setting_auto_play_gif,
|
2018-09-25 03:09:35 +00:00
|
|
|
:setting_display_media,
|
2018-09-24 03:44:01 +00:00
|
|
|
:setting_expand_spoilers,
|
2017-10-16 07:36:15 +00:00
|
|
|
:setting_reduce_motion,
|
2020-09-30 17:31:03 +00:00
|
|
|
:setting_disable_swiping,
|
2017-07-06 20:39:56 +00:00
|
|
|
:setting_system_font_ui,
|
2017-07-14 14:41:02 +00:00
|
|
|
:setting_noindex,
|
2017-09-19 14:36:23 +00:00
|
|
|
:setting_theme,
|
2018-05-18 00:26:51 +00:00
|
|
|
:setting_hide_network,
|
2018-12-09 12:03:01 +00:00
|
|
|
:setting_aggregate_reblogs,
|
2019-02-02 18:18:15 +00:00
|
|
|
:setting_show_application,
|
2019-05-25 19:27:00 +00:00
|
|
|
:setting_advanced_layout,
|
2019-06-26 17:33:04 +00:00
|
|
|
:setting_use_blurhash,
|
2019-07-16 04:30:47 +00:00
|
|
|
:setting_use_pending_items,
|
2019-08-06 15:57:52 +00:00
|
|
|
:setting_trends,
|
2019-10-24 20:51:41 +00:00
|
|
|
:setting_crop_images,
|
2020-01-11 11:24:22 +00:00
|
|
|
:setting_show_follow_button_on_timeline,
|
|
|
|
:setting_show_subscribe_button_on_timeline,
|
2020-03-21 04:25:30 +00:00
|
|
|
:setting_show_followed_by,
|
|
|
|
:setting_follow_button_to_list_adder,
|
2019-07-08 04:03:08 +00:00
|
|
|
:setting_show_navigation_panel,
|
2020-07-01 10:05:49 +00:00
|
|
|
:setting_show_quote_button,
|
|
|
|
:setting_show_bookmark_button,
|
2021-01-27 22:45:40 +00:00
|
|
|
:setting_place_tab_bar_at_bottom,
|
|
|
|
:setting_show_tab_bar_label,
|
2020-01-11 11:24:22 +00:00
|
|
|
:setting_show_target,
|
2022-12-25 10:32:02 +00:00
|
|
|
:setting_enable_federated_timeline,
|
2021-04-12 12:43:25 +00:00
|
|
|
:setting_enable_limited_timeline,
|
2022-12-29 08:47:23 +00:00
|
|
|
:setting_enable_personal_timeline,
|
2022-12-25 10:32:02 +00:00
|
|
|
:setting_enable_local_timeline,
|
2021-05-19 05:58:27 +00:00
|
|
|
:setting_enable_reaction,
|
2022-06-01 13:43:20 +00:00
|
|
|
:setting_compact_reaction,
|
2021-06-19 15:06:49 +00:00
|
|
|
:setting_show_reply_tree_button,
|
2022-02-08 04:50:44 +00:00
|
|
|
:setting_hide_statuses_count,
|
|
|
|
:setting_hide_following_count,
|
|
|
|
:setting_hide_followers_count,
|
2022-02-09 20:47:09 +00:00
|
|
|
:setting_disable_joke_appearance,
|
2022-02-16 09:55:06 +00:00
|
|
|
:setting_new_features_policy,
|
2022-02-20 21:32:59 +00:00
|
|
|
:setting_theme_instance_ticker,
|
2022-08-04 06:52:07 +00:00
|
|
|
:setting_theme_public,
|
2022-03-21 10:19:57 +00:00
|
|
|
:setting_hexagon_avatar,
|
2022-03-17 14:25:16 +00:00
|
|
|
:setting_enable_status_reference,
|
|
|
|
:setting_match_visibility_of_references,
|
|
|
|
:setting_post_reference_modal,
|
|
|
|
:setting_add_reference_modal,
|
|
|
|
:setting_unselect_reference_modal,
|
2023-01-08 16:07:46 +00:00
|
|
|
:setting_delete_scheduled_status_modal,
|
2022-05-19 10:22:49 +00:00
|
|
|
:setting_enable_empty_column,
|
2022-06-02 06:46:38 +00:00
|
|
|
:setting_content_font_size,
|
|
|
|
:setting_info_font_size,
|
|
|
|
:setting_content_emoji_reaction_size,
|
2022-10-01 09:16:00 +00:00
|
|
|
:setting_emoji_scale,
|
|
|
|
:setting_picker_emoji_size,
|
2022-07-03 05:54:03 +00:00
|
|
|
:setting_hide_bot_on_public_timeline,
|
2022-07-04 20:09:24 +00:00
|
|
|
:setting_confirm_follow_from_bot,
|
2022-08-23 05:14:23 +00:00
|
|
|
:setting_default_search_searchability,
|
2022-08-29 08:22:23 +00:00
|
|
|
:setting_show_reload_button,
|
2022-09-23 12:06:47 +00:00
|
|
|
:setting_default_column_width,
|
2022-09-25 10:58:11 +00:00
|
|
|
:setting_confirm_domain_block,
|
2022-09-28 02:33:51 +00:00
|
|
|
:setting_default_expires_in,
|
|
|
|
:setting_default_expires_action,
|
2022-10-03 07:13:07 +00:00
|
|
|
:setting_disable_post,
|
|
|
|
:setting_disable_reactions,
|
|
|
|
:setting_disable_follow,
|
|
|
|
:setting_disable_unfollow,
|
|
|
|
:setting_disable_block,
|
|
|
|
:setting_disable_domain_block,
|
|
|
|
:setting_disable_clear_all_notifications,
|
|
|
|
:setting_disable_account_delete,
|
|
|
|
:setting_prohibited_words,
|
2022-12-29 05:01:26 +00:00
|
|
|
:setting_disable_relative_time,
|
2022-12-29 08:47:23 +00:00
|
|
|
:setting_hide_direct_from_timeline,
|
|
|
|
:setting_hide_personal_from_timeline,
|
|
|
|
:setting_hide_personal_from_account,
|
2023-01-05 03:41:27 +00:00
|
|
|
:setting_hide_privacy_meta,
|
2023-02-12 09:57:28 +00:00
|
|
|
:setting_hide_link_preview,
|
|
|
|
:setting_hide_photo_preview,
|
|
|
|
:setting_hide_video_preview,
|
2022-10-03 07:13:07 +00:00
|
|
|
setting_prohibited_visibilities: [],
|
2022-03-17 14:25:16 +00:00
|
|
|
notification_emails: %i(follow follow_request reblog favourite emoji_reaction status_reference mention digest report pending_account trending_tag),
|
2022-09-11 14:03:39 +00:00
|
|
|
interactions: %i(must_be_follower must_be_following must_be_following_dm must_be_dm_to_send_email must_be_following_reference)
|
2017-04-21 01:26:52 +00:00
|
|
|
)
|
2016-10-14 00:28:49 +00:00
|
|
|
end
|
2022-02-08 04:50:44 +00:00
|
|
|
|
|
|
|
def set_account
|
|
|
|
@account = current_account
|
|
|
|
end
|
2016-10-14 00:28:49 +00:00
|
|
|
end
|