feat(ui): design-token foundation + Tailwind theme wiring (LC-190) #236
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/lc-190-design-tokens"
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?
Foundation for the UI/UX theming story (LC-189). No visual change - it introduces the token plumbing every other subtask builds on, and blocks LC-191..199.
What lands
server/assets/main.css): CSS custom properties for surfaces (--surface,--surface-elevated,--surface-sunken), text (--content,--content-muted,--content-subtle), lines (--border,--border-strong),--accent(+--accent-hover/--accent-content, chasing the LC-96 operator brand), state colors (--success/--warning/--danger+ foregrounds), and--ring. The:root(light) values are the exact slate/white palette the templates already hardcode, so adding them is a no-op visually. A placeholder marks where LC-191 adds[data-theme="dark"]and LC-192 the high-contrast palettes.server/tailwind.config.js):darkModekeyed on[data-theme="dark"];theme.extend.colorsmaps utilities (bg-surface,text-content,border-border,bg-accent text-accent-content,bg-danger, ...) onto the CSS vars so they recolor automatically when<html data-theme>changes.extend(not override) keeps the rawslate/whitepalette available for templates not yet migrated (LC-193).base.html):<body>->bg-surface text-content(identical light colors). This proves the wiring end-to-end and forces Tailwind to emit the utilities - verified the built CSS contains.bg-surface{background-color:var(--surface)}and.text-content{color:var(--content)}.Notes
tailwind-built.cssis gitignored (regenerated byjust build-css), so it is not in the diff.Verification
just build-cssregenerates cleanly; built CSS maps the utilities to the vars;cargo checkclean; no test asserts on the old body class. Light theme is byte-identical to before.Foundation for the UI/UX theming story (LC-189); no visual change. - assets/main.css: add a semantic token layer (surface / surface-elevated / surface-sunken, content / content-muted / content-subtle, border / border-strong, accent + accent-content, success/warning/danger + foregrounds, ring) as CSS custom properties layered above the LC-96 brand vars. The :root (light) values are the slate/white palette the templates already hardcode, so the tokens are a visual no-op. Placeholder left for the [data-theme="dark"] / high-contrast palettes (LC-191/LC-192). - tailwind.config.js: darkMode keyed on [data-theme="dark"]; theme.extend.colors maps utilities (bg-surface, text-content, border-border, bg-accent text-accent-content, ...) onto the CSS vars so they recolor per data-theme. extend (not override) keeps the raw slate/white palette available for templates not yet migrated (LC-193). - base.html: body -> bg-surface text-content (identical light colors; smoke-tests the wiring and forces Tailwind to emit the token utilities). Verified the built CSS emits e.g. `.bg-surface{background-color:var(--surface)}`. tailwind-built.css is gitignored (regenerated by just build-css). Server compiles; no test asserts on the old body class. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>