feat(ui): migrate templates to semantic color tokens (LC-193) #239
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/lc-193-token-migration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The recolor keystone for the theming story: migrate the templates off hardcoded
slate/white/blueutility classes onto the LC-190 semantic tokens, so the dark (LC-191) and high-contrast (LC-192) palettes now recolor the whole app - not just the<body>.Mapping (applied across ~90 templates, ~750 swaps)
slate-900/800->text-content;slate-700/600/500->text-content-muted;slate-400/300->text-content-subtlebg-slate-50->bg-surface;bg-white->bg-surface-elevated;bg-slate-100/200/300->bg-surface-sunkenslate-100/200->border-border;slate-300->border-border-strong;divide-slate-200->divide-borderbg-accent text-accent-content hover:bg-accent-hover; links ->text-accentsuccess/danger/warningtokens where they convey stateDeliberately left as-is
Intentionally-dark elements (
bg-slate-600..900+text-white: the call/voice video dialogs, tooltips, dark switcher chrome),bg-blackscrims, light status tints (bg-red-50/green-50/amber-50, emerald/sky/indigo badge tints that have no token), presence-dot colors,ring-*focus colors, and thebrand-*classes. All 28 token utility classes used are validated againsttailwind.config.js(Tailwind silently drops typo'd utilities, so this was checked explicitly).Tests
routes_room_mute/routes_dm_mute: muted-anchor assertions ->text-content-subtle.layout.html's inline script migrated tobg-danger/text-danger-contenttoo, so a live mention-count update doesn't restyle the badge differently from the server render.lc77_*render fixtures regenerated (FIXTURE_WRITE=1) to the new token classes.just test+just test-saasgreen;cargo fmt --allclean; built CSS emits the token utilities.Result
Switching to Dark / High-contrast in Settings -> Appearance now recolors the entire UI. This completes the core of the LC-189 theming story (LC-190 tokens -> LC-191 switching -> LC-192 HC -> LC-193 migration).