feat(#389): mobile wave A — phone navigation shell #520
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-389a"
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?
Wave A of the #389 mobile pass, per the approved mockup and the decisions recorded on the issue (bottom tab bar; functional admin; star+kebab rows follow in wave B).
≤819px (tab-bar tier):
display:nonebelow 820px with no replacement, leaving those views unreachable. Tabs proxy the existingnav-*buttons; active state syncs fromsetViewviawindow.__syncTab; hidden navs (e.g. Spaces without permission) hide their tab; the Transfers unseen-dot surfaces on More.feat.admin).#appbottom padding +100dvh, safe-area insets; tab bar hidden in adminmode (wave D revisits).≤480px (phone tier):
.menu/.fbpoppopover becomes a bottom sheet: one shared CSS mechanism (grabber, 46px rows, 76dvh cap, safe-area padding) + scrim viabody:has(...)at z-80 under sheets at z-90 — document-level click-away close keeps working unchanged.Desktop invariant (≥820px): all new CSS is fenced behind max-width media blocks except one base
#searchtoggle, #searchcancel, #tabbar{display:none}rule; injected elements are inert there. A build gate in the one-shot scanned all six<style>blocks and asserted no phone selector leaks outside the media fences; both inline script blocks passnode --check.i18n:
navMore,phCancel×4 (en/de-CH/fr/it), reusing existingnav*/adminSettingskeys for everything else.Waves B–D (list & actions, layers, admin drill-in + editor bar) follow as separate releases.