docs(website): theming & nav phases 3-4 as built #105
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/theming-nav-phase-3-4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
Docs half of the phases 3–4 PR pair. Code: RunicGateway/website#122. Targets
edge.Mostly a record of where the build diverged from the design, and why.
THEMING_AND_NAV.md[data-theme]blocks intheme.css. A new "Phases 3–4 as landed" section explains the reason:SiteContextwrites--accentas an inline style on<html>, which beats an attribute-selector block, so a preset's accent would have lost toBRAND_ACCENT_COLORwhilegetPublic().brand.accent— what the Android app themes itself from — reported the other value. Resolving server-side removes the conflict instead of sequencing around it.accentIntfix is struck through, because it was a no-op.getPublic()never exposedaccentInt(a test asserts it staysundefined), the server-side one has no consumer, and Discord embeds are colored by a separate process reading env at boot. Replaced with what was actually done — the bot fetching the effective accent behind a cached getter.rgba()literals carry a hue, not just a light/dark assumption (.btn-ghostisrgba(11, 22, 48, 0.45), so portal quick-links read blue on a warm page). The dark presets need that promotion too, so the phase becomes "make the hue-carrying literals follow the palette, then Parchment".BACKEND_DESIGN.md/settings/theme/optionsroute in the §2 tree and the/settingsroute table, including why the catalog is served rather than duplicated client-side./public/settingsnow documents the optionalthemeblock and says the brand fields are effective values (an admin theme beatsBRAND_ACCENT_COLOR; an uploaded asset beats itsBRAND_*path).PUT /admin/settingsdocumentstheme_visualvalidation, and the settings-schema section gains a paragraph on server-side resolution and the two-path validation posture.api-route-inventory.jsonRegenerated from
server/routes.manifest.json— a clean 4-line diff this time, the mirror having been resynced in the phases 0–2 pair.How it was tested
Docs only. The route inventory was regenerated from the manifest rather than hand-edited, and every claim about the code comes from the branch in website#122, where the server suite (732 pass), the client suite (75 pass), swagger/manifest regen and a live smoke against a real MariaDB are all green.
Checklist
AI-assisted contributions (required)
Claude Code (Opus 5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
docs(website): theming & nav phases 3-4 as builtto docs(website): theming & nav phases 3-4 as built