mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
The v1.4.15 spotlight tour rendered the dim backdrop as a single full- viewport <button> with a clip-path punching a visual hole around the target. clip-path only changes paint — the button's hit-box stayed over the entire viewport, so every click on the underlying page (Hinzufügen dropdown, sidebar links, header avatar) hit the dim layer and triggered Skip without forwarding the click to the real target. New users landing on the dashboard with onboarding_tour_completed=false were effectively locked out of the most common action. Replace the single backdrop with up to four rectangular dim panels (top / bottom / left / right strips around the spotlight rect) and set pointer-events: none on the tour root. The spotlight area is now genuinely click-through — the spotlighted target receives clicks normally — and the dim panels keep the "tap backdrop to dismiss" affordance via their own onClick handlers. The center-placement fallback (no spotlight target available) retains the legacy full- cover dim behaviour. Tooltip opts back into click capture with pointer-events: auto so its buttons stay reachable. Adds an e2e regression guard (e2e/onboarding-tour-passthrough.spec.ts) that mounts the tour by overriding /api/auth/me with onboardingTourCompleted=false, then asserts the header Hinzufügen dropdown opens on click while the tour is up. Covers both branches: click on the spotlighted target forwards to the underlying button, click on a dim strip skips. SSR tour test stays green (8/8) — the role=dialog, aria-modal, data-testid hooks, step counter, and i18n keys are unchanged. Refs: .planning/round-v1433-audit-runtime.md F2