feat(yahweh-widget-theme-switcher): control para ciclar themes en runtime
Iter 6. Cierra el ciclo del theme: ya teníamos paleta themed + widgets que la consumen, faltaba el control UI para rotar entre presets en vivo. Ahora hay un botón yahweh que muestra el theme actual y al click avanza al siguiente. crates/modules/ui_engine/widgets/theme-switcher/: - pub fn theme_switcher(cx: &mut App) -> impl IntoElement: botón clickable con bg=panel_alt, hover=row_hover, label "Tema: <name> ▸". Al click hace Theme::set(cx, Theme::next_after(current.name)). - 2 tests #[gpui::test]: smoke + verificación de cambio de global. - Dev-dep gpui con test-support. Migración: - nakui-explorer: header pasa a flex_row con label flex_grow + switcher alineado derecha. - yahweh-widget-meta-form (sidebar): mismo pattern en el header "Nakui" del sidebar. Tests stack: 115 → 117. Beneficio: click cambia toda la paleta en vivo. 6 presets disponibles (Nebula, Aurora, Sunset, Flat Dark, Solarized Light, High Contrast) ciclables circularmente. Limitación: TextInput entities tienen colors hardcoded; migrar text_input al theme es iter futura. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Generated
+10
@@ -6463,6 +6463,7 @@ dependencies = [
|
||||
"yahweh-theme",
|
||||
"yahweh-widget-banner",
|
||||
"yahweh-widget-card",
|
||||
"yahweh-widget-theme-switcher",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -13037,6 +13038,7 @@ dependencies = [
|
||||
"yahweh-theme",
|
||||
"yahweh-widget-banner",
|
||||
"yahweh-widget-text-input",
|
||||
"yahweh-widget-theme-switcher",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -13067,6 +13069,14 @@ dependencies = [
|
||||
"yahweh-theme",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "yahweh-widget-theme-switcher"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"gpui",
|
||||
"yahweh-theme",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "yahweh-widget-tiled"
|
||||
version = "0.1.0"
|
||||
|
||||
Reference in New Issue
Block a user