Scrum4Me/components
Janpeter Visser 868a53c2ed
fix(M13): hydration mismatch on backlog list filter chips (#19)
useState initializers read localStorage synchronously, which produced
a different render on client (with persisted filterStatus='blocked')
than on server (which has no localStorage and rendered 'all'). The
chip-buttons that surface active filters caused a structural DOM
mismatch next to the Popover trigger, raising a hydration error.

Move the localStorage read into a post-mount useEffect, defaulting
state to the SSR-compatible 'all'/'priority' on first render. Add a
prefsLoaded flag so persist effects skip the initial render and
don't overwrite saved values with defaults.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 20:23:40 +02:00
..
auth feat: ST-006-ST-008 auth pages, middleware, nav shell en dashboard 2026-04-24 11:18:42 +02:00
backlog fix(M13): hydration mismatch on backlog list filter chips (#19) 2026-04-29 20:23:40 +02:00
dashboard M12 / ST-1110: Demo gebruiker read-only (#17) 2026-04-29 18:44:14 +02:00
notifications M11: Claude vraagt, gebruiker antwoordt (ST-1101..ST-1108) (#13) 2026-04-29 11:38:23 +02:00
products feat(ST-507): add code input to Product, Pbi and Story forms 2026-04-26 20:36:47 +02:00
settings M12 / ST-1110: Demo gebruiker read-only (#17) 2026-04-29 18:44:14 +02:00
shared M13: Claude job queue — 'Voer uit'-knop + worker presence (ST-1111) (#18) 2026-04-29 19:51:48 +02:00
solo M13: Claude job queue — 'Voer uit'-knop + worker presence (ST-1111) (#18) 2026-04-29 19:51:48 +02:00
split-pane feat: default split pane to 20%, persist position in cookie 2026-04-26 18:17:33 +02:00
sprint M12 / ST-1110: Demo gebruiker read-only (#17) 2026-04-29 18:44:14 +02:00
todos feat(ST-509): add description textarea to Todo create and edit cards 2026-04-26 19:59:55 +02:00
ui M12 / ST-1109: PBI krijgt een status (Ready / Blocked / Done) (#16) 2026-04-29 17:52:34 +02:00