]> cat aescling's git repositories - mastodon.git/blob - app/controllers/settings/preferences_controller.rb
Add support for multiple themes (#4959)
[mastodon.git] / app / controllers / settings / preferences_controller.rb
1 # frozen_string_literal: true
2
3 class Settings::PreferencesController < ApplicationController
4 layout 'admin'
5
6 before_action :authenticate_user!
7
8 def show; end
9
10 def update
11 user_settings.update(user_settings_params.to_h)
12
13 if current_user.update(user_params)
14 I18n.locale = current_user.locale
15 redirect_to settings_preferences_path, notice: I18n.t('generic.changes_saved_msg')
16 else
17 render :show
18 end
19 end
20
21 private
22
23 def user_settings
24 UserSettingsDecorator.new(current_user)
25 end
26
27 def user_params
28 params.require(:user).permit(
29 :locale,
30 filtered_languages: []
31 )
32 end
33
34 def user_settings_params
35 params.require(:user).permit(
36 :setting_default_privacy,
37 :setting_default_sensitive,
38 :setting_unfollow_modal,
39 :setting_boost_modal,
40 :setting_delete_modal,
41 :setting_auto_play_gif,
42 :setting_system_font_ui,
43 :setting_noindex,
44 :setting_theme,
45 notification_emails: %i(follow follow_request reblog favourite mention digest),
46 interactions: %i(must_be_follower must_be_following)
47 )
48 end
49 end
This page took 0.073514 seconds and 4 git commands to generate.