Problem
Site-level UI (shadcn components) already supports dark/light via components/shared/theme-toggle.tsx and shared/hooks/use-theme-toggle.ts.
Terminal widget palettes (domains/terminal-themes/palettes/) don't follow the same pattern. Almost every theme in domains/terminal-themes/palettes/index.ts is dark-only. Only high-contrast-light is light. The default theme used for terminal demos is dark, so terminal widgets render dark regardless of site theme.
Expected
Terminal widget demos should react to light/dark mode the way shadcn components do:
- A light variant for the default terminal theme (or an explicit light/dark pairing mechanism), so switching the site theme also switches terminal widget appearance.
- Consider a
mode: "dark" | "light" field per theme definition in TerminalThemeDefinition, or a paired light/dark theme map, so demos can resolve the right palette from the active site theme instead of hardcoding one palette.
Scope
domains/terminal-themes/palettes/*
domains/terminal-themes/types.ts
- wherever terminal demo components consume
TERMINAL_THEME_MAP / THEMES
Out of scope
- Adding new theme palettes beyond what's needed for a light/dark pairing.
Problem
Site-level UI (shadcn components) already supports dark/light via
components/shared/theme-toggle.tsxandshared/hooks/use-theme-toggle.ts.Terminal widget palettes (
domains/terminal-themes/palettes/) don't follow the same pattern. Almost every theme indomains/terminal-themes/palettes/index.tsis dark-only. Onlyhigh-contrast-lightis light. Thedefaulttheme used for terminal demos is dark, so terminal widgets render dark regardless of site theme.Expected
Terminal widget demos should react to light/dark mode the way shadcn components do:
mode: "dark" | "light"field per theme definition inTerminalThemeDefinition, or a paired light/dark theme map, so demos can resolve the right palette from the active site theme instead of hardcoding one palette.Scope
domains/terminal-themes/palettes/*domains/terminal-themes/types.tsTERMINAL_THEME_MAP/THEMESOut of scope