docs(android): M12 phase 6 as landed #118
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/android-theming-nav-phase-6"
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 for Android-app phase 6 of M12 — drawer sections and added links (§6.3).
§6.3's link table was wrong about the website
Three of its rows named paths the site does not serve, and it was missing two the site does. Checked against
website/client/src/App.jsx:/site/news/<idOrSlug>— a news item renders on its category page; the site's one post-detail route is the newsletter's/site/newsletter/:id;/page/<slug>— CMS pages are served from a top-level/<slug>;/contact— the app's contact form is app-only, which §6.2 already said;/site/atlas/:slugand/site/market/vendors/:serial.Phase 5 hit the same class of error in §6.2's row order. Both times the fix is the same: quote the website's own source beside the table, so the app's file now carries
App.jsx's route list next toSiteHeader.jsx'sNAV. A resolver that does not read the site's route table cannot be right by accident.The four decisions taken before code
/<slug>CMS catch-all is in, with the site's non-CMS top-level segments (admin,account,player,site,wiki,invite,preview,api,uploads) excluded. React Router ranks its static routes above/:slugand the app has to do the same, or a link to the admin panel opens an in-app 404 instead of the real thing in a browser. The reserved list is a second piece of cross-repo coupling; it buys the case that matters most, which is that a page the admin wrote opens natively.ExitToApp, the only "leaves the app" glyph inmaterial-icons-core; the extended artifact is not a dependency and phase 3 already spent the APK budget). A natively-resolved link stays indistinguishable from a coded row — that is the point of resolving it.LocalAssetResolver, which already resolves any site-relative path against the base URL and is already provided at the app root.Plus: a path carrying a query or fragment hands off rather than matching lossily, and a resolved link opens like any other drawer row (
navigateTopLevel, detail screen or not).Also
"Phase 6 as landed" — the AC-1 fast path, why
sectionis deliberately not part ofNavOverride.isEmpty, the dangling-reference rule, theisEntryVisiblesplit, and what is not gated (added links) being as load-bearing as what is. §8's phase ticked.Code: RunicGateway/Android-app#39.