Theme system with light and dark themes (blue accents) #19

Closed
opened 2026-06-12 20:28:08 +00:00 by james · 0 comments
Owner

Scope

  • Theme tokens defined as CSS variables. Components reference variables only, never raw colors.
  • A theme registry: adding a new theme is one CSS file + one entry in the registry. No component edits.
  • Ship two themes from day one: a pleasing light theme with blue accents, and a pleasing dark theme with blue accents.
  • User preference persisted server-side once the user has a session; respects prefers-color-scheme until set.

Acceptance criteria

  • Switching themes at runtime is instant and full (no flash).
  • A throwaway third theme can be added in <30 lines of diff (proves the registry works).
  • Preference round-trips across sessions for a signed-in user.

Part of epic #3. Depends on #7.

## Scope - Theme tokens defined as CSS variables. Components reference variables only, never raw colors. - A theme registry: adding a new theme is one CSS file + one entry in the registry. **No component edits.** - Ship two themes from day one: a pleasing light theme with blue accents, and a pleasing dark theme with blue accents. - User preference persisted server-side once the user has a session; respects `prefers-color-scheme` until set. ## Acceptance criteria - [ ] Switching themes at runtime is instant and full (no flash). - [ ] A throwaway third theme can be added in <30 lines of diff (proves the registry works). - [ ] Preference round-trips across sessions for a signed-in user. Part of epic #3. Depends on #7.
james closed this issue 2026-06-15 12:29:05 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/carol#19
No description provided.