summaryrefslogtreecommitdiff
path: root/lib/gitlab/themes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/themes.rb')
-rw-r--r--lib/gitlab/themes.rb40
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