docs(backlog): mark MOBILE-SHELL-PARITY resolved (defect 3 pending device check)

Defects 1 (logo) and 2 (close-X overlap) fixed and tested. Defect 3
(WorkspaceSwitcher) audited as already-correct full-height flex column with a
min-h-0 guard; not device-verified, dynamic-viewport-height flagged as the
remaining suspect. Records the resolution per the GRADIENT-BRAND-ALIGNMENT
convention.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-03 04:03:19 +02:00
parent 08bfce76fc
commit ecbcdea814

View File

@@ -679,17 +679,42 @@ voor third-party integraties (ticketing, HR, etc.)
> Plan 2.5 shell follow-ups (landed at P8 closure, juni 2026). See
> `dev-docs/RFC-WS-PRIMEVUE-PLAN-2-5.md` → Plan 2.5 Closure.
### MOBILE-SHELL-PARITY — Mobile drawer chrome parity with desktop sidebar
### ~~MOBILE-SHELL-PARITY — Mobile drawer chrome parity with desktop sidebar~~ ✅ RESOLVED (defect 3 pending device check)
**Prioriteit:** Middel
Mobile drawer chrome doesn't match the desktop sidebar polish: logo
~~Mobile drawer chrome doesn't match the desktop sidebar polish: logo
placement is incorrect, an extraneous X close button overlaps the drawer,
and the WorkspaceSwitcher is hidden on mobile. A dedicated mobile sprint
after Plan 2.5; deliberately out of scope per Q3.
after Plan 2.5; deliberately out of scope per Q3.~~
**Trigger:** before mobile users onboard / mobile traffic becomes
non-trivial.
Resolved on branch `feat/mobile-shell-parity`:
- **Logo placement (defect 1):** `SidebarHeader` read `shell.sidebarCollapsed`
directly, so a desktop-collapsed state rendered a collapsed brand row inside
the full-width (256px) mobile drawer while the nav/switcher were forced
expanded. A new `effectiveCollapsed` computed (`!isMobile && sidebarCollapsed`)
forces the header expanded on mobile.
- **Extraneous X (defect 2):** PrimeVue's default drawer header X leaked through
the non-important `header: 'hidden'` (it lost to the base `.p-drawer-header`
display in stylesheet order) and overlapped the brand row. Force-hidden with
`header: '!hidden'`; the mobile close affordance now lives in `SidebarHeader`'s
brand row (an X / "Sluit menu", reusing the existing handler) — a single
non-overlapping control mirroring the desktop collapse-chevron slot.
- **WorkspaceSwitcher (defect 3):** static audit (code + `@primeuix` base CSS)
showed the drawer content is already a correct full-height flex column
(`.p-drawer-left .p-drawer-content { height:100% }` + `flex-grow:1`), so the
switcher already anchors at the bottom; added `min-h-0` flex hygiene. **Not
yet visually confirmed on a device** — if it still clips, the remaining suspect
is dynamic-viewport-height (a mobile address bar making `100%` exceed the
visual viewport). Flagged for a real-device check.
7 Vitest assertions added (581 total green); a `MobileDrawer` Storybook story is
the manual visual-verification target (Playwright-CT can't render PrimeVue +
Tailwind, so no automated screenshot was possible).
**Trigger:** ~~before mobile users onboard / mobile traffic becomes
non-trivial.~~ Re-open only if the defect-3 device check fails.
---