From ecbcdea814b1e255daee18d03a99965e76af0847 Mon Sep 17 00:00:00 2001 From: "bert.hausmans" Date: Wed, 3 Jun 2026 04:03:19 +0200 Subject: [PATCH] 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 --- dev-docs/BACKLOG.md | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/dev-docs/BACKLOG.md b/dev-docs/BACKLOG.md index 1914532a..b67c18a3 100644 --- a/dev-docs/BACKLOG.md +++ b/dev-docs/BACKLOG.md @@ -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. ---