1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# Managed by IssueSpec. Hand edits are welcome; keep the schema valid.
id: 13
title: Themes light and dark
state: closed
author:
name: k33g
email: ph.charriere@gmail.com
createdAt: 2026-09-17T22:15:20.392Z
updatedAt: 2026-09-17T23:20:00.000Z
labels: []
body: |
Let the user choose between a light and a dark theme, light by default.
Implemented (2026-09-17):
- `ui/src/theme.ts`: zustand store (`theme`: light | dark), `setTheme` / `toggleTheme` /
`resetTheme`, `isTheme` guard; remembered in localStorage `ori.theme`; stamps
`data-theme` on `<html>` at module load (before the first render) and on every change.
- `app.css`: the dark palette moved from `@media (prefers-color-scheme: dark)` to
`:root[data-theme="dark"]`; `color-scheme` follows. The OS preference is no longer
followed (user's decision: two themes only, light default).
- Header button ☾ / ☀ (`aria-label` "Switch to dark/light theme") in `App.tsx`;
`MonacoViewer` picks `vs-dark` / `light` from the store; the terminal stays dark.
- Tests: +6 store, +1 App (124 vitest total). Quality gate PASS (run #16).
- Docs: how-to `switch-the-theme` (EN + FR), architecture explanation, indexes, README.
tasks: []
comments: []
|