package templates

// ThemeOption describes a selectable color theme shown in the header picker.
type ThemeOption struct {
	Name  string // CSS theme suffix applied as class theme-<name>
	Label string // Human-readable label
	Color string // Hex swatch colour
}

// ThemeOptions is the full set of selectable colour themes, in display order.
var ThemeOptions = []ThemeOption{
	{"tokyo-night", "Tokyo Night", "#7aa2f7"},
	{"dracula", "Dracula", "#bd93f9"},
	{"nord", "Nord", "#88c0d0"},
	{"solarized-dark", "Solarized Dark", "#2aa198"},
	{"monokai", "Monokai", "#a6e22e"},
	{"one-dark-pro", "One Dark Pro", "#61dafb"},
	{"material-dark", "Material Dark", "#80cbc4"},
	{"catppuccin-mocha", "Catppuccin Mocha", "#f38ba8"},
	{"catppuccin-macchiato", "Catppuccin Macchiato", "#c6a0f6"},
	{"catppuccin-frappe", "Catppuccin Frappé", "#ca9ee6"},
	{"catppuccin-latte", "Catppuccin Latte", "#d20f39"},
}

// WoodOption describes a selectable bookshelf background texture.
type WoodOption struct {
	Name  string // value stored as data-wood and CSS bg-<name>
	Label string
}

// WoodOptions is the full set of bookshelf background options.
var WoodOptions = []WoodOption{
	{"none", "None"},
	{"wood-light", "Wood Light"},
	{"wood-dark", "Wood Dark"},
	{"wood-mahogany", "Wood Mahogany"},
}
