Give the drawer toggle a strict rung above the drawer again #188
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/task-248-drawer-toggle-above-drawer"
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?
Fixes task 248. PR #184 (ADR-0156) put
.drawer-toggleand.draweron the same--z-headerrung. Equalz-indexhands paint order to DOM order, and.drawerrenders after the toggle inDrawer.razor, so the open drawer painted over its own button and the menu could not be closed on desktop..drawer-togglenow sits atcalc(var(--z-header) + 1), strictly above.drawer'svar(--z-header)— mirroring whatcalc(var(--z-drawer) + 1)did before ADR-0156, at the new rung. Stays well below--z-overlay(1276 vs 1300), so a modal dialog still covers it.ZIndexLadderTestsgains a direct toggle-vs-drawer comparison (ShouldBeGreaterThan, notOrEqualTo— the state that shipped was equality, not merely an inversion) and a check that the toggle stays below--z-overlay; watched red against unfixed CSS (1275 vs 1275) before the fix went back in. E2E gains a behavioural test that clicks the real toggle through Playwright's actionability checks and asserts the drawer reports closed, so a futureDrawer.razorreorder that reintroduces this by DOM order rather than by the token would still be caught.ADR-0162 partially supersedes ADR-0156's "one rung for both" decision; ADR-0156 gets the metadata-only
Partially superseded byupdate.Verdict: mergeable
Checked against scepticism, not just the diff summary:
.draweruntouched, still above--z-panel; toggle now strictly above.drawer; both comfortably below--z-overlay.OverlayBackdrop'sBelowZIndexToken="--z-header"inDrawer.razoris untouched (that file isn't even in the diff), so the scrim placement from #184 survives unchanged.DrawerToggle_And_Drawer_DeclaredZIndex_RanksTheToggleAboveTheDrawergenuinely usesShouldBeGreaterThan, notOrEqualTo— confirmed by reading the assertion, not the PR description. Against unfixed CSS (both--z-header) this fails on equality as claimed.ClickAsync's actionability check does hit-test at the click point — with the drawer's opaque<aside>painted over the button (equal z-index, later in DOM), the click would time out rather than silently succeed. This is a legitimate regression catch, not a synthetic dispatch.Status, newPartially superseded byfield) — its Context/Decision/Consequences are untouched.docs/adr/README.md's index row is the one other permitted edit. Field format matches existing precedent exactly. ADR-0162 is new and self-contained; no frozen body edited anywhere.MapPlacesState, local-storage) — this PR touches onlyDrawer.razor.css,theme.css, the two test files and the ADRs.Nothing to change.