fix(#389): header-menu sheets escape the header stacking context; single view button enforced in wiring #526
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-389g"
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?
Avatar / bell sheets dimmed and untappable:
header.topisposition:sticky; z-index:20— a stacking context. The user and bell menus live inside it, so their bottom sheets could never rise above the root-level scrim (z-80) or tab bar (z-60): the sheet rendered greyed underneath, and every tap landed on the scrim, whose document-level click handler closed the menu ("tapping Appearance just closes it"). Fix:.top:has(.menu.open){z-index:95}inside the ≤480 fence — while one of its menus is open the header rises above the scrim, so the sheet is bright and tappable, and click-away on the dimmed page still closes it. Desktop popovers never met the scrim; unchanged.View toggle still two buttons on real devices: the v0.6.185 CSS rule, the markup and the wiring all verify correct, yet both segments render on Nikola's phone and desktop. The collapse now lives in
wireViewTog.set()itself: the current view's button gets an inlinedisplay:none, which nothing in the cascade can beat, on every switch and at boot. The CSS rule stays as a progressive default.The avatar and notification menus live inside header.top, which is position:sticky with z-index:20 - a stacking context. Their bottom sheets could therefore never rise above the root-level scrim (z-80) or the tab bar (z-60): the sheet rendered dimmed underneath and every tap landed on the scrim, whose document-level click handler closed the menu ('tapping Appearance just closes it'). While a menu inside the header is open, the header now rises to z-95, putting the sheet above the scrim and making it tappable. Fenced at phone width; the desktop popovers never met the scrim and are unchanged. The single view-toggle button shipped in v0.6.185 as a pure CSS rule reportedly still shows both segments on real devices even though the rule, the markup and the wiring all check out - so the collapse now lives in wireViewTog itself: set() writes an inline display:none on the current view's button, which nothing in the cascade can beat. The CSS rule stays as a progressive default.