diff options
author | kibigo! <marrus-sh@users.noreply.github.com> | 2017-09-25 19:24:32 -0700 |
---|---|---|
committer | kibigo! <marrus-sh@users.noreply.github.com> | 2017-09-25 19:24:32 -0700 |
commit | 86e617a839bd4eb45ace52ab226a4e93bb184ff0 (patch) | |
tree | 63e4513681af278474c2da1e592a13a6043719b2 /app/lib | |
parent | c2b479efecf1ce1f4a45e626963b7ce7e203b8d6 (diff) |
Better themeing support!!
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 |