feat(#389): mobile wave C — layers at phone width #522
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-389c"
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 C of the #389 mobile pass: the layered surfaces.
Preview takeover (≤480px): the panel already went fixed full-width below 700px; it now covers the top bar too (
top:0,100dvh, z-70 above the tab bar, which hides viabody[data-pv]while a preview is open), with safe-area padding and larger head icons. Opening a preview pushes one history entry so the system back gesture closes the preview instead of leaving the app; closing consumes it. The pushed flag drops when the viewport widens, so desktop history is never touched. A horizontal swipe on the panel steps through sibling files with the same skip-folders logic as the existing ArrowUp/ArrowDown handler (60px threshold, vertical scrolls ignored, passive listeners).Dialogs (≤480px): bottom cards — full-width, top-rounded, 90dvh cap with sticky
.dlgactions(44px buttons) and 16px form inputs so iOS stops zooming. Element-selector override, so per-dialog id rules (e.g.#seatdlg) keep their widths.Picker (≤480px): the audit
.pickpoppopover becomes a bottom sheet with a 45dvh tree cap.Desktop invariant (≥820px): no new base rules needed — every selector this wave touches already exists in desktop CSS, and all overrides are inside the max-width fence; the gate now also asserts
body[data-pv]never appears outside media blocks.node --checkgreen on both script blocks.