diff options
author | Ondřej Hruška <ondra@ondrovo.com> | 2017-09-28 09:20:59 +0200 |
---|---|---|
committer | Ondřej Hruška <ondra@ondrovo.com> | 2017-09-28 09:20:59 +0200 |
commit | daad07b1d552d5af06b4d8443afdbe1350785a14 (patch) | |
tree | 4062f211cd6e307a5bbb7c338263f366a9fafade /app/lib | |
parent | 83bda6c1a813c5aeb131b18a0500fed0c07fa9c2 (diff) | |
parent | f7ca205f382a9d528bf37e3ec38ee8bf77dccccf (diff) |
Merge remote-tracking branch 'origin/better-themeing' into merging-upstream
Diffstat (limited to 'app/lib')
-rw-r--r-- | app/lib/themes.rb | 23 | ||||
-rw-r--r-- | app/lib/user_settings_decorator.rb | 5 |
2 files changed, 28 insertions, 0 deletions
diff --git a/app/lib/themes.rb b/app/lib/themes.rb new file mode 100644 index 000000000..2dd188297 --- /dev/null +++ b/app/lib/themes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require 'singleton' +require 'yaml' + +class Themes + include Singleton + + def initialize + result = Hash.new + Dir.glob(Rails.root.join('app', 'javascript', 'themes', '*', 'theme.yml')) do |path| + data = YAML.load_file(path) + if data['pack'] && data['name'] + result[data['name']] = data + end + end + @conf = result + end + + def names + @conf.keys + end +end diff --git a/app/lib/user_settings_decorator.rb b/app/lib/user_settings_decorator.rb index 62046ed72..3b156b98c 100644 --- a/app/lib/user_settings_decorator.rb +++ b/app/lib/user_settings_decorator.rb @@ -25,6 +25,7 @@ class UserSettingsDecorator user.settings['auto_play_gif'] = auto_play_gif_preference user.settings['system_font_ui'] = system_font_ui_preference user.settings['noindex'] = noindex_preference + user.settings['theme'] = theme_preference end def merged_notification_emails @@ -67,6 +68,10 @@ class UserSettingsDecorator boolean_cast_setting 'setting_noindex' end + def theme_preference + settings['setting_theme'] + end + def boolean_cast_setting(key) settings[key] == '1' end |