Skip to content

feat(ui): theme the Workspaces surface + terminal (light/dark)#356

Merged
luokerenx4 merged 1 commit into
masterfrom
UI-issue
Jun 16, 2026
Merged

feat(ui): theme the Workspaces surface + terminal (light/dark)#356
luokerenx4 merged 1 commit into
masterfrom
UI-issue

Conversation

@luokerenx4

Copy link
Copy Markdown
Contributor

Summary

Follow-up to the light/dark theme (#355): the Workspaces / chat-session surface stayed dark in light mode — a black panel beside the cream shell — because it ran on its own local palette + a dark xterm theme. This themes it.

  • workspaces.css: alias the .workspaces-root local palette (--bg/--panel/--sidebar/--border/--fg/--fg-dim/--accent/--danger) to the global --color-* tokens and drop the pinned color-scheme: dark — one block makes the whole ~1400-line sheet follow the theme. Replace the 10 hardcoded white-alpha elevation overlays with --color-overlay/-strong, and the two hardcoded dark header gradients (.terminal-header, .panel-header — the "still black up top" bar) with a token gradient.
  • Terminal: add a light xterm ITheme (theme.ts) selected by the active theme via a new useEffectiveTheme() hook (auto resolves through the OS). A ref + small effect re-skin the live terminal on a theme flip without recreating it (scrollback / reattach untouched).

Still deferred — ANG-110

The ~20 semantic chips (agent badges, status pills) keep dark-tuned colors. They don't break layout but want a light-legible pass; tracked in ANG-110.

Test plan

  • cd ui && npx tsc -b clean
  • vite build clean — built CSS has zero #161b22/#11151a dark gradients; .terminal-header + .workspaces-root resolve to global tokens
  • User-confirmed: terminal body went light; this commit fixes the remaining dark header bar

Boundary touch

None — UI only.

🤖 Generated with Claude Code

In light mode the whole Workspaces / chat-session surface stayed dark — a
black panel stacked next to the cream shell — because it ran on its own
local palette and a dark xterm theme. This was deferred as ANG-110; doing
the bulk of it now.

- workspaces.css: alias the `.workspaces-root` local palette (--bg / --panel
  / --sidebar / --border / --fg / --fg-dim / --accent / --danger) to the
  global --color-* tokens, and drop the pinned `color-scheme: dark`. One
  block makes the entire ~1400-line sheet follow light / dark. Replace the
  10 hardcoded white-alpha elevation overlays with --color-overlay /
  -strong, and the two hardcoded dark header gradients (.terminal-header,
  .panel-header — the "still black up top" bar) with a token gradient.
- Terminal: add a light xterm ITheme (theme.ts) and pick it by the active
  theme via a new useEffectiveTheme() hook (auto resolves through the OS).
  A ref + a small effect re-skin the LIVE terminal on a theme flip without
  recreating it (scrollback / reattach untouched).

Still deferred to ANG-110: the ~20 semantic chips (agent badges, status
pills) keep dark-tuned colors — they don't break layout but want a
light-legible pass; tracked there.

Verified: vite build drops all #161b22/#11151a dark header gradients;
.terminal-header + .workspaces-root now resolve to the global tokens.
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openalice-demo Ready Ready Preview, Comment Jun 16, 2026 1:26pm

Request Review

@luokerenx4 luokerenx4 merged commit 8c249f7 into master Jun 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant