fix(ui): align theme toggle with dashboard style #30

Merged
vince merged 1 commit from codex/brutalist-theme-toggle into main 2026-06-20 01:38:31 +02:00
Owner

Summary

Redesigns the light/dark theme control as a compact segmented dashboard instrument instead of a generic button.

Why

The previous toggle did not match the brutalist Dimension Lab dashboard language and felt visually disconnected from the rest of the header.

Changes

  • Reworks ThemeToggle markup into a two-state segmented control.
  • Updates CSS to use hard borders, active accent segment, square icon treatment, and fixed compact sizing.
  • Adds render coverage for the reusable ThemeToggle structure.
  • Refreshes dashboard visual snapshots for the new header control.

Testing

  • bunx vitest run src/App.test.tsx src/lib/ui/components/render.test.tsx
  • env -u NO_COLOR bunx playwright test tests/e2e/dashboard.spec.ts --update-snapshots
  • bun run test:qa

Notes

Browser plugin is not available in this Codex session, so rendered QA used Playwright directly.

## Summary Redesigns the light/dark theme control as a compact segmented dashboard instrument instead of a generic button. ## Why The previous toggle did not match the brutalist Dimension Lab dashboard language and felt visually disconnected from the rest of the header. ## Changes - Reworks ThemeToggle markup into a two-state segmented control. - Updates CSS to use hard borders, active accent segment, square icon treatment, and fixed compact sizing. - Adds render coverage for the reusable ThemeToggle structure. - Refreshes dashboard visual snapshots for the new header control. ## Testing - bunx vitest run src/App.test.tsx src/lib/ui/components/render.test.tsx - env -u NO_COLOR bunx playwright test tests/e2e/dashboard.spec.ts --update-snapshots - bun run test:qa ## Notes Browser plugin is not available in this Codex session, so rendered QA used Playwright directly.
vince added 1 commit 2026-06-20 01:34:53 +02:00
vince merged commit 739d627ae3 into main 2026-06-20 01:38:31 +02:00
Sign in to join this conversation.
No description provided.