Rebuild /settings/appearance as the design form

The appearance route now opens with the design layout: serif "GENERAL"
overline + "Appearance" headline + intro paragraph, a four-tile
wallpaper picker (Dawn/Violet/Mint/Slate with active outline + check
glyph), a theme-mode segmented control, an accent swatch row, a
reduce-motion toggle, and a reset row. Every control mutates real state
through new shell methods (set_wallpaper_theme, set_theme_mode,
toggle_reduce_motion, reset_appearance) which delegate to the core.

The chrome lives in chrome::appearance_form so the page module is a
six-line shim. Light/Dark theme buttons currently switch the persisted
mode; rendering swaps will land when light/dark token sheets ship —
keeping the persistence so the eventual flip is one place.
This commit is contained in:
2026-05-09 18:50:33 -04:00
parent 9780fdbc8c
commit a35e0f7872
6 changed files with 432 additions and 231 deletions
+2
View File
@@ -1,3 +1,4 @@
pub(crate) mod appearance_form;
pub(crate) mod brand_glyph;
pub(crate) mod command_footer;
pub(crate) mod command_overlay;
@@ -9,6 +10,7 @@ pub(crate) mod split_pane;
pub(crate) mod topbar;
pub(crate) mod wallpaper;
pub(crate) use appearance_form::render_appearance_form;
pub(crate) use brand_glyph::render_glyph_for;
pub(crate) use command_overlay::render_command_overlay;
pub(crate) use home::render_home_page;