diff --git a/assets/css/app.css b/assets/css/app.css index 0f204e4..5dccbd4 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -3,37 +3,3 @@ @import 'tailwindcss/utilities'; /* This file is for your main application CSS */ - -.outline-black { - text-shadow: - -1px -1px 0 black, - 1px -1px 0 black, - -1px 1px 0 black, - 1px 1px 0 black; -} - -.outline-gray { - text-shadow: - -1px -1px 0 gray, - 1px -1px 0 gray, - -1px 1px 0 gray, - 1px 1px 0 gray; -} - -.outline-white { - color: white; - text-shadow: - -1px -1px 0 white, - 1px -1px 0 white, - -1px 1px 0 white, - 1px 1px 0 white; -} - -.outline-danger { - color: #ff6b6b; - text-shadow: - -1px -1px 0 #ff6b6b, - 1px -1px 0 #ff6b6b, - -1px 1px 0 #ff6b6b, - 1px 1px 0 #ff6b6b; -} diff --git a/lib/labelmaker_web/constants.ex b/lib/labelmaker_web/constants.ex index 0cba645..2ee98bb 100644 --- a/lib/labelmaker_web/constants.ex +++ b/lib/labelmaker_web/constants.ex @@ -19,42 +19,63 @@ defmodule LabelmakerWeb.Constants do |> Map.keys() |> Enum.map(&Atom.to_string/1) - @colors System.cmd("magick", ["-list", "color"]) - |> elem(0) - |> String.split("\n") - # drop header stuff - |> Enum.drop(5) - |> Enum.map(fn color_info -> color_info |> String.split() |> List.first() end) - |> Enum.reject(&is_nil/1) - # filter out colors that end in a number (no CSS equivalent) - |> Enum.reject(fn color -> String.match?(color, ~r/\d+$/) end) - |> Enum.uniq() + @colors [ + "black", + "blue", + "brown", + "gray", + "green", + "orange", + "pink", + "purple", + "red", + "white", + "yellow" + ] - @fonts System.cmd("magick", ["-list", "font"]) - |> elem(0) - |> String.split("\n") - |> Enum.filter(&String.starts_with?(&1, " Font:")) - |> Enum.reject(&String.starts_with?(&1, " Font: .")) - |> Enum.map(&String.trim_leading(&1, " Font: ")) + @danger "#FF6B6B" + + @font_map %{ + "cs" => "Comic-Sans-MS", + "comic" => "Comic-Sans-MS", + "comic sans" => "Comic-Sans-MS", + "comic-sans" => "Comic-Sans-MS", + "comic-sans-ms" => "Comic-Sans-MS", + "cr" => "Courier", + "courier" => "Courier", + "g" => "Georgia", + "georgia" => "Georgia", + "h" => "Helvetica", + "helvetica" => "Helvetica", + "i" => "Impact", + "impact" => "Impact", + "v" => "Verdana", + "verdana" => "Verdana" + } @max_label_length 64 @max_label_error "64-character maximum" - @outlines ~w(none white black gray) - @sizes 16..128 |> Enum.to_list() |> Enum.take_every(8) |> Enum.map(&Integer.to_string/1) def colors, do: @colors - def color_count, do: @colors |> length() + def danger, do: @danger def defaults, do: @defaults - def fonts, do: @fonts - def font_count, do: @fonts |> length() + + def fonts, + do: + @font_map + |> Map.values() + |> Enum.uniq() + |> Enum.map(fn color -> color |> String.replace("-MS", "") |> String.replace("-", " ") end) + + def font_map, do: @font_map def max_label_length, do: @max_label_length def max_label_error, do: @max_label_error - def outlines, do: @outlines + def outlines, do: ["none" | @colors] def permitted_keys, do: @permitted_keys def preview, do: @preview def sizes, do: @sizes diff --git a/lib/labelmaker_web/live/home.ex b/lib/labelmaker_web/live/home.ex index b549956..f7b2bc3 100644 --- a/lib/labelmaker_web/live/home.ex +++ b/lib/labelmaker_web/live/home.ex @@ -43,7 +43,7 @@ defmodule LabelmakerWeb.Home do case assigns.preview_bg do "r" -> "bg-[linear-gradient(to_right,_black_33%,_white_67%)]" "b" -> "bg-[linear-gradient(to_bottom,_black_33%,_white_67%)]" - "c" -> "bg-[#{assigns.color}]" + "c" -> "" _ -> "bg-[linear-gradient(to_right,_black_33%,_white_67%)]" end @@ -61,7 +61,7 @@ defmodule LabelmakerWeb.Home do
- Note: not all fonts and colors are available for preview. + Note: not all fonts are available for preview.