From 041243a3c94c0bb72e3dfccd98e16ab5de9ec2f1 Mon Sep 17 00:00:00 2001 From: Fire Demon Date: Sat, 1 Aug 2020 21:28:23 -0500 Subject: [Feature, Partial] Add backend support for additional publishing and customization options --- app/controllers/settings/preferences_controller.rb | 8 ++++++++ app/controllers/user_profile_css_controller.rb | 24 ++++++++++++++++++++++ app/controllers/user_webapp_css_controller.rb | 24 ++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 app/controllers/user_profile_css_controller.rb create mode 100644 app/controllers/user_webapp_css_controller.rb (limited to 'app/controllers') diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index b189b394f..c0f54b197 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -64,6 +64,14 @@ class Settings::PreferencesController < Settings::BaseController :setting_manual_publish, :setting_style_dashed_nest, :setting_style_underline_a, + :setting_style_css_profile, + :setting_style_css_webapp, + :setting_publish_in, + :setting_unpublish_in, + :setting_unpublish_delete, + :setting_boost_every, + :setting_boost_jitter, + :setting_boost_random, notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account trending_tag), interactions: %i(must_be_follower must_be_following must_be_following_dm) ) diff --git a/app/controllers/user_profile_css_controller.rb b/app/controllers/user_profile_css_controller.rb new file mode 100644 index 000000000..0a0588e88 --- /dev/null +++ b/app/controllers/user_profile_css_controller.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +class UserProfileCssController < ApplicationController + skip_before_action :store_current_location + skip_before_action :require_functional! + + before_action :set_cache_headers + before_action :set_account + + def show + expires_in 3.minutes, public: true + render plain: css, content_type: 'text/css' + end + + private + + def css + @account.user&.setting_style_css_profile_errors.blank? ? (@account.user&.setting_style_css_profile || '') : '' + end + + def set_account + @account = Account.find(params[:id]) + end +end diff --git a/app/controllers/user_webapp_css_controller.rb b/app/controllers/user_webapp_css_controller.rb new file mode 100644 index 000000000..fcfbf9aed --- /dev/null +++ b/app/controllers/user_webapp_css_controller.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +class UserWebappCssController < ApplicationController + skip_before_action :store_current_location + skip_before_action :require_functional! + + before_action :set_cache_headers + before_action :set_account + + def show + expires_in 3.minutes, public: true + render plain: css, content_type: 'text/css' + end + + private + + def css + @account.user&.setting_style_css_webapp_errors.blank? ? (@account.user&.setting_style_css_webapp || '') : '' + end + + def set_account + @account = Account.find(params[:id]) + end +end -- cgit