feat(ui): refine Graphite visuals and center navigation content

This commit is contained in:
aria committed 2026-10-28 04:09:10 +09:00
1 parent cc3b6f903f
commit 1e34ec47ad
14 files changed
+646 -121

No files matched your search

+2 -1
View File
@@ -1,13 +1,14 @@
use crate::theme::Appearance;
pub use ferese_theme_model::families::{Family, Palette};
pub const BUILTINS: [(&str, &str, &str, &str); 6] = [
pub const BUILTINS: [(&str, &str, &str, &str); 7] = [
(
"ferese-blue",
"Ferese Blue",
"ferese-blue-light",
"ferese-blue",
),
("graphite", "Graphite", "graphite-light", "graphite"),
(
"catppuccin",
"Catppuccin",
+37 -1
View File
@@ -19,7 +19,7 @@ pub struct Preset {
pub shadow_opacity: f64,
}
pub const PRESETS: [Preset; 12] = [
pub const PRESETS: [Preset; 14] = [
Preset {
appearance: Appearance::Dark,
id: "ferese-blue",
@@ -38,6 +38,24 @@ pub const PRESETS: [Preset; 12] = [
tint_strength: 0.5,
shadow_opacity: 0.2,
},
Preset {
appearance: Appearance::Dark,
id: "graphite",
name: "Graphite",
description: "Quiet graphite",
base: "#101113",
raised: "#1B1D21",
application_background: "#141518",
text: "#E7E9ED",
muted: "#9A9FA9",
accent: "#8EABD8",
border: "#FFFFFF16",
gradient_end: "#8EABD8",
opacity: 0.96,
blur_radius: 8.0,
tint_strength: 0.06,
shadow_opacity: 0.12,
},
Preset {
appearance: Appearance::Dark,
id: "catppuccin-mocha",
@@ -146,6 +164,24 @@ pub const PRESETS: [Preset; 12] = [
tint_strength: 1.0,
shadow_opacity: 0.1,
},
Preset {
appearance: Appearance::Light,
id: "graphite-light",
name: "Graphite",
description: "Quiet paper",
base: "#F7F8FA",
raised: "#FFFFFF",
application_background: "#F1F3F5",
text: "#23262C",
muted: "#626A76",
accent: "#3F6DAA",
border: "#00000018",
gradient_end: "#3F6DAA",
opacity: 0.98,
blur_radius: 4.0,
tint_strength: 0.02,
shadow_opacity: 0.08,
},
Preset {
appearance: Appearance::Light,
id: "catppuccin-latte",
+3 -3
View File
@@ -1358,8 +1358,8 @@ mod tests {
.iter()
.filter(|p| p.appearance == Appearance::Light)
.collect();
assert_eq!(dark.len(), 6);
assert_eq!(light.len(), 6);
assert_eq!(dark.len(), crate::families::BUILTINS.len());
assert_eq!(light.len(), crate::families::BUILTINS.len());
for (dark, light) in dark.iter().zip(light) {
assert_eq!(dark.name, light.name);
assert_ne!(dark.base, light.base);
@@ -1443,7 +1443,7 @@ mod tests {
);
assert_eq!(resolved.policy.light.family.as_deref(), Some("gruvbox"));
assert_eq!(resolved.policy.dark.family.as_deref(), Some("catppuccin"));
assert_eq!(resolved.families.len(), 6);
assert_eq!(resolved.families.len(), crate::families::BUILTINS.len());
}
}
let resolved = candidate(r#"theme { mode "light"; family "catppuccin"; split #true; light { family "gruvbox"; }; dark { family "everforest"; }; }"#).unwrap();