Files
feresaria/crates/ferese-config/src/presets.rs
T
Samuel Onoja 3d950a0411 Add resolved appearance engine and paired theme settings
Resolve light, dark and automatic appearance centrally and publish live theme snapshots to native surfaces and the appearance portal. Add paired preset families, custom theme imports, accessibility transforms and contrast-safe transitions.

Refine the Settings gallery and Auto controls, move overrides under advanced customization, and share palette-aware switches and circular slider thumbs. Document configuration and include theme licenses and integration coverage.
2026-09-30 12:51:49 +01:00

240 lines
6.3 KiB
Rust

use crate::theme::Appearance;
pub struct Preset {
pub id: &'static str,
pub appearance: Appearance,
pub name: &'static str,
pub description: &'static str,
pub base: &'static str,
pub raised: &'static str,
pub application_background: &'static str,
pub text: &'static str,
pub muted: &'static str,
pub accent: &'static str,
pub border: &'static str,
pub gradient_end: &'static str,
pub opacity: f64,
pub blur_radius: f64,
pub tint_strength: f64,
pub shadow_opacity: f64,
}
pub const PRESETS: [Preset; 12] = [
Preset {
appearance: Appearance::Dark,
id: "ferese-blue",
name: "Ferese Blue",
description: "Default",
base: "#111821",
raised: "#1E2530",
application_background: "#171E27",
text: "#F4F7FB",
muted: "#8793A2",
accent: "#3D7BE6",
border: "#FFFFFF18",
gradient_end: "#3D7BE6",
opacity: 0.78,
blur_radius: 12.0,
tint_strength: 0.5,
shadow_opacity: 0.2,
},
Preset {
appearance: Appearance::Dark,
id: "catppuccin-mocha",
name: "Catppuccin",
description: "Mocha",
base: "#1E1E2E",
raised: "#313244",
application_background: "#1E1E2E",
text: "#CDD6F4",
muted: "#A6ADC8",
accent: "#CBA6F7",
border: "#45475A88",
gradient_end: "#B4BEFE",
opacity: 0.84,
blur_radius: 18.0,
tint_strength: 0.62,
shadow_opacity: 0.2,
},
Preset {
appearance: Appearance::Dark,
id: "gruvbox",
name: "Gruvbox",
description: "Dark",
base: "#282828",
raised: "#3C3836",
application_background: "#282828",
text: "#EBDBB2",
muted: "#BDAE93",
accent: "#FE8019",
border: "#50494588",
gradient_end: "#FABD2F",
opacity: 0.86,
blur_radius: 14.0,
tint_strength: 0.66,
shadow_opacity: 0.22,
},
Preset {
appearance: Appearance::Dark,
id: "rose-pine-moon",
name: "Rosé Pine",
description: "Moon",
base: "#232136",
raised: "#2A273F",
application_background: "#232136",
text: "#E0DEF4",
muted: "#918DAA",
accent: "#EA9A97",
border: "#56526E88",
gradient_end: "#C4A7E7",
opacity: 0.88,
blur_radius: 18.0,
tint_strength: 0.7,
shadow_opacity: 0.18,
},
Preset {
appearance: Appearance::Dark,
id: "tokyo-night",
name: "Tokyo Night",
description: "Night",
base: "#1A1B26",
raised: "#292E42",
application_background: "#1A1B26",
text: "#C0CAF5",
muted: "#A9B1D6",
accent: "#7AA2F7",
border: "#41486888",
gradient_end: "#BB9AF7",
opacity: 0.85,
blur_radius: 20.0,
tint_strength: 0.66,
shadow_opacity: 0.22,
},
Preset {
appearance: Appearance::Dark,
id: "everforest-dark",
name: "Everforest",
description: "Dark · hard",
base: "#272E33",
raised: "#2E383C",
application_background: "#272E33",
text: "#D3C6AA",
muted: "#9DA9A0",
accent: "#A7C080",
border: "#49535B88",
gradient_end: "#83C092",
opacity: 0.9,
blur_radius: 14.0,
tint_strength: 0.7,
shadow_opacity: 0.18,
},
Preset {
appearance: Appearance::Light,
id: "ferese-blue-light",
name: "Ferese Blue",
description: "Default",
base: "#F5F7FB",
raised: "#E7E9ED",
application_background: "#EFF1F5",
text: "#182234",
muted: "#586579",
accent: "#3D7BE6",
border: "#18223430",
gradient_end: "#3D7BE6",
opacity: 0.94,
blur_radius: 10.0,
tint_strength: 1.0,
shadow_opacity: 0.1,
},
Preset {
appearance: Appearance::Light,
id: "catppuccin-latte",
name: "Catppuccin",
description: "Latte",
base: "#EFF1F5",
raised: "#E6E9EF",
application_background: "#EFF1F5",
text: "#4C4F69",
muted: "#5C5F77",
accent: "#8839EF",
border: "#9CA0B066",
gradient_end: "#7287FD",
opacity: 0.95,
blur_radius: 12.0,
tint_strength: 1.0,
shadow_opacity: 0.08,
},
Preset {
appearance: Appearance::Light,
id: "gruvbox-light",
name: "Gruvbox",
description: "Light",
base: "#FBF1C7",
raised: "#F2E5BC",
application_background: "#FBF1C7",
text: "#3C3836",
muted: "#665C54",
accent: "#AF3A03",
border: "#92837466",
gradient_end: "#B57614",
opacity: 0.96,
blur_radius: 9.0,
tint_strength: 1.0,
shadow_opacity: 0.11,
},
Preset {
appearance: Appearance::Light,
id: "rose-pine-dawn",
name: "Rosé Pine",
description: "Dawn",
base: "#FAF4ED",
raised: "#FFFAF3",
application_background: "#FAF4ED",
text: "#464261",
muted: "#716D89",
accent: "#B4637A",
border: "#CECACD66",
gradient_end: "#907AA9",
opacity: 0.96,
blur_radius: 12.0,
tint_strength: 1.0,
shadow_opacity: 0.07,
},
Preset {
appearance: Appearance::Light,
id: "tokyo-night-day",
name: "Tokyo Night",
description: "Day",
base: "#E1E2E7",
raised: "#D0D5E3",
application_background: "#E1E2E7",
text: "#3358B0",
muted: "#4D5A8C",
accent: "#2C76DD",
border: "#8990B366",
gradient_end: "#9854F1",
opacity: 0.96,
blur_radius: 10.0,
tint_strength: 1.0,
shadow_opacity: 0.1,
},
Preset {
appearance: Appearance::Light,
id: "everforest-light",
name: "Everforest",
description: "Light · hard",
base: "#FFFBEF",
raised: "#F8F5E4",
application_background: "#FFFBEF",
text: "#5C6A72",
muted: "#677367",
accent: "#849601",
border: "#939F9166",
gradient_end: "#35A77C",
opacity: 0.96,
blur_radius: 8.0,
tint_strength: 1.0,
shadow_opacity: 0.08,
},
];