Web UI: sign out + appearance settings (dark mode, accents, density) #46

Merged
Cordy merged 1 commit from feat/appearance into main 2026-07-26 17:32:58 +00:00
Owner

Two header additions:

Sign out — works across all three auth modes: POST /auth/logout revokes the OIDC session (404s harmlessly elsewhere), then a bogus-Basic request overwrites the browser's cached credential for local/LDAP mode, then reload (OIDC browsers land on the IdP login; Basic browsers re-prompt). Safari's Basic cache can survive — documented limitation.

Appearance dialog (persisted in localStorage, per browser):

  • Theme: System (follows prefers-color-scheme, live) / Light / Dark. Dark is a full palette swap via the existing CSS variables — the four hardcoded white backgrounds moved to a new --surface var; color-scheme: dark fixes form controls.
  • Accent: Glacier (default) / Moss / Ember / Graphite — swaps --glacier/--glacier-deep, with lighter variants in dark mode so hover/links stay readable.
  • Density: Comfortable / Compact (tighter rows + slightly smaller type for big listings).

No server changes. node --check verified inline; background: #fff asserted gone.

Two header additions: **Sign out** — works across all three auth modes: `POST /auth/logout` revokes the OIDC session (404s harmlessly elsewhere), then a bogus-Basic request overwrites the browser's cached credential for local/LDAP mode, then reload (OIDC browsers land on the IdP login; Basic browsers re-prompt). Safari's Basic cache can survive — documented limitation. **Appearance** dialog (persisted in localStorage, per browser): - **Theme**: System (follows `prefers-color-scheme`, live) / Light / Dark. Dark is a full palette swap via the existing CSS variables — the four hardcoded white backgrounds moved to a new `--surface` var; `color-scheme: dark` fixes form controls. - **Accent**: Glacier (default) / Moss / Ember / Graphite — swaps `--glacier`/`--glacier-deep`, with lighter variants in dark mode so hover/links stay readable. - **Density**: Comfortable / Compact (tighter rows + slightly smaller type for big listings). No server changes. `node --check` verified inline; `background: #fff` asserted gone.
web: sign out + appearance settings (dark mode, accents, density)
All checks were successful
ci / test-and-build (pull_request) Successful in 19s
2178628606
Cordy merged commit 143f27f3f5 into main 2026-07-26 17:32:58 +00:00
Sign in to join this conversation.
No reviewers
No labels
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: Cordy/Cairn#46
No description provided.