diff --git a/CLAUDE.md b/CLAUDE.md index 43fb71a..25ce703 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -37,9 +37,21 @@ the user's Unraid home server. Server-side project directory is still named `settings.html`). Stale duplicates of these once sat at the repo root; they were never rendered (Flask loads from `templates/`) and were deleted during the redesign. - - All three share one token set defined on `:root` — surfaces, a 6-step - `--fs-*` type scale, semantic colours, and `--tap: 44px` for minimum - touch targets. Add new UI with those tokens rather than literal values. + - Templates carry markup only. CSS and JS live in `static/` and are + linked via `url_for('static', ...)` so they stay correct behind a + `SCRIPT_NAME` subpath. Server-rendered config (timezone, script root) + reaches JS through `
`, never string-interpolated into a + script block. +- **`static/css/base.css`** — the single source of truth for the design + tokens, shared by all three templates: surfaces, a 6-step `--fs-*` type + scale, semantic colours, and `--tap: 44px` for minimum touch targets. + Only four hues are declared (`--accent`, `--ok`, `--warn`, `--danger`); + every dim/border tint derives from them via `color-mix`. Reshading the + app should be a four-line edit here — never hardcode a colour literal in + a page stylesheet, which is exactly how the palette drifted before + (a favicon with its own baked-in hex, and stale `rgba()` danger borders + that survived two palette changes). Page-specific rules live alongside + in `dashboard.css` / `login.css` / `settings.css`. - `dashboard.html` is ordered by urgency, deliberately mirroring the cache tiers in `app.py`: a "Right now" strip (live streams, download queue, array usage) sits above the fold, with library, discovery, requests and @@ -97,6 +109,13 @@ cd /mnt/user/appdata/greendale && docker compose restart `docker ps --filter name=arr-summary` to check real state regardless of what the Unraid UI shows. +**Confirming a deploy actually landed:** the dashboard footer renders +`v