mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
Every color now resolves through CSS custom properties on html[data-theme=...], so a theme is a table of values rather than code. Four themes ship: light, dark, night (red hues only, to preserve dark adaptation off-grid) and amber (monochrome amber terminal). Fonts are exposed as two roles, --font-body and --font-mono, which a theme assigns a bundled face to; amber uses the mono face. Faces must be self-hosted, never fetched from a CDN, so the app keeps working offline. Night mode also filters media that cannot consume tokens - video, images, PDFs, embedded pages, canvases - through an SVG color matrix that maps luminance onto the red channel. Tag such an element with `.media`; a filter on an app-level ancestor would create a containing block and break fixed positioning. ThemeProvider persists the choice and index.html stamps data-theme from localStorage before the bundle loads, so the first paint already matches the saved theme on a slow connection. The OS preference is followed only while "system" is selected; night and amber are explicit choices. The nav toggle becomes a five-item picker. Semantic components still render themselves, so only the shell is token-driven for now; the inverted props stay in place until each component is migrated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| epub | ||
| android-chrome-192x192.png | ||
| android-chrome-512x512.png | ||
| apple-touch-icon.png | ||
| favicon-16x16.png | ||
| favicon-32x32.png | ||
| favicon-blue.svg | ||
| favicon-brown.svg | ||
| favicon-green.svg | ||
| favicon-grey.svg | ||
| favicon-olive.svg | ||
| favicon-orange.svg | ||
| favicon-pink.svg | ||
| favicon-purple.svg | ||
| favicon-red.svg | ||
| favicon-teal.svg | ||
| favicon-violet.svg | ||
| favicon-yellow.svg | ||
| favicon.ico | ||
| icon-transparent.png | ||
| icon.svg | ||
| index.html | ||
| logo192.png | ||
| logo512.png | ||
| manifest.json | ||
| mstile-150x150.png | ||
| one-time-pad-cheat-sheet.pdf | ||
| robots.txt | ||