diff options
Diffstat (limited to 'lib/gitlab/themes.rb')
-rw-r--r-- | lib/gitlab/themes.rb | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/lib/gitlab/themes.rb b/lib/gitlab/themes.rb index ac1522b8a6c..228da9ee370 100644 --- a/lib/gitlab/themes.rb +++ b/lib/gitlab/themes.rb @@ -13,26 +13,28 @@ module Gitlab Theme = Struct.new(:id, :name, :css_class, :css_filename, :primary_color) # All available Themes - THEMES = [ - Theme.new(1, 'Indigo', 'ui-indigo', 'theme_indigo', '#292961'), - Theme.new(6, 'Light Indigo', 'ui-light-indigo', 'theme_light_indigo', '#4b4ba3'), - Theme.new(4, 'Blue', 'ui-blue', 'theme_blue', '#1a3652'), - Theme.new(7, 'Light Blue', 'ui-light-blue', 'theme_light_blue', '#2261a1'), - Theme.new(5, 'Green', 'ui-green', 'theme_green', '#0d4524'), - Theme.new(8, 'Light Green', 'ui-light-green', 'theme_light_green', '#156b39'), - Theme.new(9, 'Red', 'ui-red', 'theme_red', '#691a16'), - Theme.new(10, 'Light Red', 'ui-light-red', 'theme_light_red', '#a62e21'), - Theme.new(2, 'Dark', 'ui-dark', 'theme_dark', '#303030'), - Theme.new(3, 'Light', 'ui-light', 'theme_light', '#666'), - Theme.new(11, 'Dark Mode (alpha)', 'gl-dark', nil, '#303030') - ].freeze + def available_themes + [ + Theme.new(1, s_('NavigationTheme|Indigo'), 'ui-indigo', 'theme_indigo', '#292961'), + Theme.new(6, s_('NavigationTheme|Light Indigo'), 'ui-light-indigo', 'theme_light_indigo', '#4b4ba3'), + Theme.new(4, s_('NavigationTheme|Blue'), 'ui-blue', 'theme_blue', '#1a3652'), + Theme.new(7, s_('NavigationTheme|Light Blue'), 'ui-light-blue', 'theme_light_blue', '#2261a1'), + Theme.new(5, s_('NavigationTheme|Green'), 'ui-green', 'theme_green', '#0d4524'), + Theme.new(8, s_('NavigationTheme|Light Green'), 'ui-light-green', 'theme_light_green', '#156b39'), + Theme.new(9, s_('NavigationTheme|Red'), 'ui-red', 'theme_red', '#691a16'), + Theme.new(10, s_('NavigationTheme|Light Red'), 'ui-light-red', 'theme_light_red', '#a62e21'), + Theme.new(2, s_('NavigationTheme|Dark'), 'ui-dark', 'theme_dark', '#303030'), + Theme.new(3, s_('NavigationTheme|Light'), 'ui-light', 'theme_light', '#666'), + Theme.new(11, s_('NavigationTheme|Dark Mode (alpha)'), 'gl-dark', nil, '#303030') + ] + end # Convenience method to get a space-separated String of all the theme # classes that might be applied to the `body` element # # Returns a String def body_classes - THEMES.collect(&:css_class).uniq.join(' ') + available_themes.collect(&:css_class).uniq.join(' ') end # Get a Theme by its ID @@ -43,12 +45,12 @@ module Gitlab # # Returns a Theme def by_id(id) - THEMES.detect { |t| t.id == id } || default + available_themes.detect { |t| t.id == id } || default end # Returns the number of defined Themes def count - THEMES.size + available_themes.size end # Get the default Theme @@ -62,7 +64,7 @@ module Gitlab # # Yields the Theme object def each(&block) - THEMES.each(&block) + available_themes.each(&block) end # Get the Theme for the specified user, or the default @@ -79,7 +81,7 @@ module Gitlab end def self.valid_ids - THEMES.map(&:id) + available_themes.map(&:id) end private @@ -87,7 +89,7 @@ module Gitlab def default_id @default_id ||= begin id = Gitlab.config.gitlab.default_theme.to_i - theme_ids = THEMES.map(&:id) + theme_ids = available_themes.map(&:id) theme_ids.include?(id) ? id : APPLICATION_DEFAULT end |