From 635006b5fca1c39fe9a3d980dfea5636dddde2b2 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Sat, 31 Oct 2026 01:24:34 +0100 Subject: [PATCH] Show the whole nav tree without :has(), raise text contrast to 4.5:1, drop unused auth rules --- CHANGELOG.md | 19 +++ docs/reading-cost.md | 14 +++ .../plugins/scheduling/public/scheduling.css | 6 + public/css/auth.css | 116 +----------------- public/css/styles.css | 42 ++++--- src/ui/stylesheet-contrast.test.ts | 43 +++++++ src/ui/stylesheet-floor.test.ts | 17 +++ 7 files changed, 124 insertions(+), 133 deletions(-) create mode 100644 src/ui/stylesheet-contrast.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fd8fd4..7a14179 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,25 @@ at boot. Entries start at 0.3.0. ## Unreleased +### The whole nav tree shows on engines without `:has()` + +On Chromium below 105 (webOS TV 22 and 23) every nested nav entry was hidden with nothing to open +it. Now the tree folds only where `:has()` works and stays fully open elsewhere. The theme switch, +which also needs `:has()`, is hidden there. + +### Text meets 4.5:1 contrast + +The primary button and the current page button take their text colour from the new `--on-accent` +token: white in light mode, near-black in dark mode, where white on the accent was 2.7:1. The +light-mode success, warning and info badge text is darker. A plugin that overrides `--accent` or +`--l-accent` should set `--l-on-accent` and `--d-on-accent` to match. + +### Unused auth stylesheet rules are gone + +`public/css/auth.css` no longer holds the `.auth-view` screen switch, `.tpl-*` preview controls, +`.forgot-alert`, `.register-alert`, `.remember` and `.auth-foot`; no core view used them. A plugin +view that did must carry its own rules. + ### Colours render on engines without `oklch()` The theme palette in `public/css/styles.css` is hex, not `oklch()`. On an engine older than diff --git a/docs/reading-cost.md b/docs/reading-cost.md index d281e8b..6a5a028 100644 --- a/docs/reading-cost.md +++ b/docs/reading-cost.md @@ -16,3 +16,17 @@ Read most (opens and searches): - `ci.sh` 1 - `examples/plugins/scheduling/views/shifts.ejs` 1 - `src/auth/csrf.ts` 1 + +## Reading cost, chunk df5e30a4db5f, finished 2026-10-31T00:22:00Z + +80251 new input tokens before the first commit. + +Read most (opens and searches): + +- `todo.md` 5 +- `README.md` 3 +- `CHANGELOG.md` 2 +- `public/css/styles.css` 2 +- `AGENTS.md` 1 +- `src/ui/stylesheet-floor.test.ts` 1 +- `src/ui/theme-switch.test.ts` 1 diff --git a/examples/plugins/scheduling/public/scheduling.css b/examples/plugins/scheduling/public/scheduling.css index d284249..a50fe5f 100644 --- a/examples/plugins/scheduling/public/scheduling.css +++ b/examples/plugins/scheduling/public/scheduling.css @@ -4,3 +4,9 @@ .scheduling-page .table-wrap { margin-top: var(--space-3, 0.75rem); } +/* Inset the elements that sit directly in the pane like the filter bar, table and pager around them. */ +.scheduling-page > p, +.scheduling-page > .alert, +.scheduling-page > .btn { + margin-inline: var(--pad-x); +} diff --git a/public/css/auth.css b/public/css/auth.css index dbee49f..777be1e 100644 --- a/public/css/auth.css +++ b/public/css/auth.css @@ -1,9 +1,6 @@ /* ============================================================= Auth flow — login / register / forgot password - Built on the shared tokens in styles.css. Pure HTML/CSS: - - screens switch via :target (no JS) - - SSO is a config section toggled by a class/checkbox; providers - are a