Sha256: d0bf4cb03bbbf94f4496f6d1803a7c31b1f65a1054c44a25019e9b302bf887cf
Contents?: true
Size: 1.61 KB
Versions: 2
Compression:
Stored size: 1.61 KB
Contents
class Avo::Configuration::Branding def initialize(colors: nil, chart_colors: nil, logo: nil, logomark: nil) @colors = colors @chart_colors = chart_colors @logo = logo @logomark = logomark @default_colors = { background: "#F6F6F7", 100 => "206 231 248", 400 => "57 158 229", 500 => "8 134 222", 600 => "6 107 178" } @default_chart_colors = ["#0B8AE2", "#34C683", "#2AB1EE", "#34C6A8"] @default_logo = "/avo-assets/logo.png" @default_logomark = "/avo-assets/logomark.png" end def css_colors rgb_colors.map do |color, value| if color == :background "--color-application-#{color}: #{value};" else "--color-primary-#{color}: #{value};" end end.join("\n") end def logo return @default_logo if Avo::App.license.lacks_with_trial(:branding) @logo || @default_logo end def logomark return @default_logomark if Avo::App.license.lacks_with_trial(:branding) @logomark || @default_logomark end def chart_colors return @default_chart_colors if Avo::App.license.lacks_with_trial(:branding) @chart_colors || @default_chart_colors end private def colors return @default_colors if Avo::App.license.lacks_with_trial(:branding) @default_colors.merge(@colors) || @default_colors end def rgb_colors colors.map do |key, value| rgb_value = is_hex?(value) ? hex_to_rgb(value) : value [key, rgb_value] end.to_h end def is_hex?(value) value.include? "#" end def hex_to_rgb(value) value.to_s.match(/^#(..)(..)(..)$/).captures.map(&:hex).join(" ") end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
avo-2.15.0 | lib/avo/configuration/branding.rb |
avo-2.14.3.pre.1.branding | lib/avo/configuration/branding.rb |