debian-mirror-gitlab/app/helpers/appearances_helper.rb
2023-04-23 21:23:45 +05:30

123 lines
3.3 KiB
Ruby
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# frozen_string_literal: true
module AppearancesHelper
include MarkupHelper
include Gitlab::Utils::StrongMemoize
def appearance_pwa_icon_path_scaled(width)
return unless Appearance::ALLOWED_PWA_ICON_SCALER_WIDTHS.include?(width)
append_root_path((current_appearance&.pwa_icon_path_scaled(width) || "/-/pwa-icons/logo-#{width}.png"))
end
def appearance_maskable_logo
append_root_path('/-/pwa-icons/maskable-logo.png')
end
def append_root_path(path)
Gitlab::Utils.append_path(Gitlab.config.gitlab.relative_url_root, path)
end
def brand_title
current_appearance&.title.presence || default_brand_title
end
def appearance_pwa_name
current_appearance&.pwa_name.presence || _('GitLab')
end
def appearance_pwa_short_name
current_appearance&.pwa_short_name.presence || _('GitLab')
end
def appearance_pwa_description
current_appearance&.pwa_description.presence ||
_("The complete DevOps platform. " \
"One application with endless possibilities. " \
"Organizations rely on GitLabs source code management, " \
"CI/CD, security, and more to deliver software rapidly.")
end
def default_brand_title
# This resides in a separate method so that EE can easily redefine it.
_('GitLab Community Edition')
end
def brand_image
image_tag(brand_image_path, alt: brand_title, class: 'gl-w-10')
end
def brand_image_path
return current_appearance.logo_path if current_appearance&.logo?
image_path('logo.svg')
end
def brand_text
markdown_field(current_appearance, :description)
end
def brand_new_project_guidelines
markdown_field(current_appearance, :new_project_guidelines)
end
def brand_profile_image_guidelines
markdown_field(current_appearance, :profile_image_guidelines)
end
def current_appearance
strong_memoize(:current_appearance) do
Appearance.current
end
end
def brand_header_logo(options = {})
add_gitlab_white_text = options[:add_gitlab_white_text] || false
add_gitlab_black_text = options[:add_gitlab_black_text] || false
if current_appearance&.header_logo?
image_tag current_appearance.header_logo_path, class: 'brand-header-logo'
elsif add_gitlab_white_text
render partial: 'shared/logo_with_white_text', formats: :svg
elsif add_gitlab_black_text
render partial: 'shared/logo_with_black_text', formats: :svg
else
render partial: 'shared/logo', formats: :svg
end
end
def header_message
return unless current_appearance&.show_header?
class_names = []
class_names << 'with-performance-bar' if performance_bar_enabled?
render_message(:header_message, class_names: class_names)
end
def footer_message
return unless current_appearance&.show_footer?
render_message(:footer_message)
end
private
def render_message(field_sym, class_names: [], style: message_style)
class_names << field_sym.to_s.dasherize
content_tag :div, class: class_names, style: style do
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
end
AppearancesHelper.prepend_mod