defmodule GitGud.Themes do
@moduledoc """
Catalog of UI themes available to the app.
Names map 1:1 to daisyUI theme plugin entries in `assets/css/app.css`.
Ported from the diogramos project's theme set: `light` / `dark` plus
six neiam-co themes and a custom `blueprint`.
"""
@neiam ~w(her afterdark forest sky clays stones)
@builtin ~w(light dark)
@custom ~w(blueprint)
@type theme :: String.t()
@spec all() :: [theme()]
def all, do: @builtin ++ @neiam ++ @custom
@spec neiam() :: [theme()]
def neiam, do: @neiam
@spec default() :: theme()
def default, do: "afterdark"
@spec valid?(theme()) :: boolean()
def valid?(theme) when is_binary(theme), do: theme in all() or theme == "system"
def valid?(_), do: false
end
759 B · text
5af55d9