Skip to content

Commit fe1f6e2

Browse files
committed
Render default color scheme from db
1 parent e3da4a6 commit fe1f6e2

File tree

4 files changed

+31
-4
lines changed

4 files changed

+31
-4
lines changed

app/javascript/css/application.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
@import './reset.css' layer(reset);
44

55
@import './config/colors-tailwind.css' layer(theme);
6-
@import './config/colors-uicolors.css' layer(theme);
6+
/* @import './config/colors-uicolors.css' layer(theme); */
77
@import './config/colors.css' layer(theme);
88
@import './config/dracula.css' layer(theme);
99
@import './config/theme.css' layer(theme);

app/models/color_scale.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# frozen_string_literal: true
22

3+
require "color_conversion"
4+
35
class ColorScale < ApplicationRecord
46
APP_DEFAULT = {
57
name: "Custom Cerulean Blue",
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<%
22
my_color = 'cerulean-blue'
33
ui_colors_color_increments = [50, *1.upto(9).map { |n| n*100}, 950 ]
4+
5+
color_scale = ColorScale.find_or_create_default
46
%>
57
<style>
68
:root {
7-
<% ui_colors_color_increments.each do |n| %>
8-
--my-color-<%= n %>: var(--color-<%= my_color %>-<%= n %>);
9-
<% end %>
9+
<%= render ColorScales::Css.new(color_scale: color_scale) %>
1010
}
1111
</style>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class ColorScales::Css < Phlex::HTML
2+
attr_reader :color_scale
3+
4+
def initialize(color_scale:)
5+
@color_scale = color_scale
6+
end
7+
8+
def color_name
9+
color_scale.name.parameterize
10+
end
11+
12+
def to_hsla_css(color)
13+
hsl = color.hsl
14+
"hsla(#{hsl[:h]}, #{hsl[:s]}%, #{hsl[:l]}%, 1)"
15+
end
16+
17+
def view_template
18+
color_scale.weights.each do |weight, color|
19+
unsafe_raw "--color-#{color_name}-#{weight}: #{to_hsla_css(color)};\n"
20+
end
21+
color_scale.weights.each do |weight, color|
22+
unsafe_raw "--my-color-#{weight}: var(--color-#{color_name}-#{weight});\n"
23+
end
24+
end
25+
end

0 commit comments

Comments
 (0)