Commit f67833b
fix(shell): the dashboard switcher opens above the app navigation, not behind it
#551 adopted the shared shell, and the dashboard switcher has been unreachable
ever since. 58 e2e tests across eleven specs fail as `locator.click` timing out,
and all 240 interception lines in that run name the same element:
`[data-testid="cn-nav"] .app-navigation`. The panel slides out, it is visible,
and every click on it lands on the navigation instead.
This is a stacking context, not a z-index. The sidebar is `position: fixed`,
which escapes the scroll flow but not the stacking context. Until #551 this view
WAS the page, so there was no context to escape and nothing else claimed the
left 280px. Now it renders inside `#app-content`, a sibling of
`.app-navigation`, and NcAppNavigation carries `z-index: 1400` on itself. A
sibling with a z-index paints above the whole of a sibling subtree whose own
z-index is auto, so the sidebar's 1500 could never win: it was competing inside
a box that had already lost. Raising the number again would have changed
nothing, which is worth saying because that is the obvious first move.
The sidebar and its backdrop are therefore teleported to `body`, making them
siblings of the navigation rather than descendants of the content, which is the
only place their z-index means what it says.
The backdrop goes from 999 to 1450 while it is there. At 999 the navigation
painted over it even once teleported, so a click meant to dismiss the sidebar
navigated instead. 1450 puts it above the navigation and below the sidebar it
sits behind.
Verified locally: 682 unit tests pass, webpack build clean, eslint and prettier
clean.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 728f6cc commit f67833b
3 files changed
Lines changed: 57 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
802 | 802 | | |
803 | 803 | | |
804 | 804 | | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
805 | 811 | | |
806 | 812 | | |
807 | 813 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
52 | 59 | | |
53 | 60 | | |
54 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
32 | 53 | | |
33 | 54 | | |
34 | 55 | | |
| |||
0 commit comments