2018-08-18 11:19:57 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2014-07-11 14:16:44 +00:00
|
|
|
module AppearancesHelper
|
2019-02-20 15:18:15 +00:00
|
|
|
include MarkupHelper
|
2019-06-23 21:34:49 +00:00
|
|
|
include Gitlab::Utils::StrongMemoize
|
2019-02-20 15:18:15 +00:00
|
|
|
|
2014-07-11 12:05:40 +00:00
|
|
|
def brand_title
|
2018-12-06 16:14:12 +00:00
|
|
|
current_appearance&.title.presence || default_brand_title
|
|
|
|
end
|
|
|
|
|
|
|
|
def default_brand_title
|
|
|
|
# This resides in a separate method so that EE can easily redefine it.
|
|
|
|
'GitLab Community Edition'
|
2014-07-11 12:05:40 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def brand_image
|
2018-12-25 08:24:00 +00:00
|
|
|
image_tag(current_appearance.logo_path) if current_appearance&.logo?
|
2014-07-11 12:05:40 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def brand_text
|
2018-04-02 14:27:12 +00:00
|
|
|
markdown_field(current_appearance, :description)
|
2016-02-22 19:49:16 +00:00
|
|
|
end
|
|
|
|
|
2017-11-22 13:48:38 +00:00
|
|
|
def brand_new_project_guidelines
|
2018-04-02 14:27:12 +00:00
|
|
|
markdown_field(current_appearance, :new_project_guidelines)
|
2017-11-22 13:48:38 +00:00
|
|
|
end
|
|
|
|
|
2020-04-28 15:09:29 +00:00
|
|
|
def brand_profile_image_guidelines
|
|
|
|
markdown_field(current_appearance, :profile_image_guidelines)
|
|
|
|
end
|
|
|
|
|
2018-04-02 14:27:12 +00:00
|
|
|
def current_appearance
|
2019-06-23 21:34:49 +00:00
|
|
|
strong_memoize(:current_appearance) do
|
|
|
|
Appearance.current
|
|
|
|
end
|
2014-07-11 12:05:40 +00:00
|
|
|
end
|
2015-02-25 06:58:47 +00:00
|
|
|
|
|
|
|
def brand_header_logo
|
2018-04-02 14:27:12 +00:00
|
|
|
if current_appearance&.header_logo?
|
2019-02-12 17:42:08 +00:00
|
|
|
image_tag current_appearance.header_logo_path, class: 'brand-header-logo'
|
2016-02-22 19:49:16 +00:00
|
|
|
else
|
2021-10-26 18:09:19 +00:00
|
|
|
render partial: 'shared/logo', formats: :svg
|
2016-02-22 19:49:16 +00:00
|
|
|
end
|
2015-02-25 06:58:47 +00:00
|
|
|
end
|
2017-11-15 21:31:17 +00:00
|
|
|
|
|
|
|
# Skip the 'GitLab' type logo when custom brand logo is set
|
|
|
|
def brand_header_logo_type
|
2018-04-02 14:27:12 +00:00
|
|
|
unless current_appearance&.header_logo?
|
2021-10-26 18:09:19 +00:00
|
|
|
render partial: 'shared/logo_type', formats: :svg
|
2017-11-15 21:31:17 +00:00
|
|
|
end
|
|
|
|
end
|
2018-04-02 14:26:59 +00:00
|
|
|
|
|
|
|
def header_message
|
|
|
|
return unless current_appearance&.show_header?
|
|
|
|
|
|
|
|
class_names = []
|
|
|
|
class_names << 'with-performance-bar' if performance_bar_enabled?
|
|
|
|
|
2019-02-20 15:18:15 +00:00
|
|
|
render_message(:header_message, class_names: class_names)
|
2018-04-02 14:26:59 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def footer_message
|
|
|
|
return unless current_appearance&.show_footer?
|
|
|
|
|
|
|
|
render_message(:footer_message)
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
2019-02-20 15:18:15 +00:00
|
|
|
def render_message(field_sym, class_names: [], style: message_style)
|
2018-04-02 14:26:59 +00:00
|
|
|
class_names << field_sym.to_s.dasherize
|
|
|
|
|
2019-02-20 15:18:15 +00:00
|
|
|
content_tag :div, class: class_names, style: style do
|
2018-04-02 14:26:59 +00:00
|
|
|
markdown_field(current_appearance, field_sym)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def message_style
|
|
|
|
style = []
|
|
|
|
style << "background-color: #{current_appearance.message_background_color};"
|
|
|
|
style << "color: #{current_appearance.message_font_color}"
|
|
|
|
style.join
|
|
|
|
end
|
2014-07-11 12:05:40 +00:00
|
|
|
end
|
2019-09-13 13:26:31 +00:00
|
|
|
|
2021-05-05 12:10:33 +00:00
|
|
|
AppearancesHelper.prepend_mod
|