docs(website): theming & navigation, complete (edge → main) #109
Reference in New Issue
Block a user
No description provided.
Delete Branch "edge"
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?
Docs cutover, pairing RunicGateway/website#126. Merges
edgeintomainnow that every phase is built.website/THEMING_AND_NAV.mdis the design of record plus its as-built record: each phase carries an "as landed" section explaining where the build differed from the design and why.BACKEND_DESIGN.mddocuments the settings keys, the validation posture and the HTML-shell lifecycle;api-route-inventory.jsonmirrors the route manifest.The parts of this doc most worth reading later, because they are the decisions someone will otherwise re-litigate:
data-themeattribute, and that could not work:SiteContextwrites--accentas an inline style, which beats any attribute selector. The theme is server-resolved instead, sobrand.accent(what the Android app and Discord bot theme from) is by construction the accent the site actually paints."[object Object]"and read it back as absent), and the server deliberately does not validate that a route exists: the base NAV arrays are client constants, so shape is the server's question and membership the client's. Do not "fix" that.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.
Records the capability asked for before the edge -> main cutover: dropdown sections in the public header, with the coded entries organised into them and admin-authored links alongside. §7 is amended rather than quietly contradicted. It said the override layer "cannot introduce a `to` that is not already in the hardcoded NAV array"; that remains true of every CODED entry, and the restated constraint spells out what an added link may be — a same-origin path, carrying no gate of its own, advertising a route rather than granting one — plus why the property is structural: coded entries live in a map keyed by routes the base array declares, and everything that can name an arbitrary path lives in `links`, where the rule is applied. §6.4 gains the { items, sections, links } wrapper, including the two properties worth knowing: a bare map still reads as the items map, and a nav with no sections still stores one. §9 gains three acceptance criteria — the empty dropdown does not render, an added link cannot leave the origin, and deleting a section returns its entries to the top level rather than removing them. "Phase 10 as landed" records why the Public tab needed its own tree editor, why moving between containers stayed a dropdown rather than a cross-container drag, why the menu opens on click and its trigger is not a link, and the palette-vs-full-nav bug this surfaced in the phase 6-8 save path. Co-Authored-By: Claude <noreply@anthropic.com>