Scrum4Me/__tests__/components
Janpeter Visser 71319e629d
feat(PBI-71): UX-fix 'lege sprint' + sprint-switch data-refresh (#175)
- StartSprintButton dialog toont 3-state banner: info met accurate vrije-
  stories count + PBI-context, of waarschuwing als geen PBI geselecteerd
  is, of waarschuwing als de geselecteerde PBI 0 vrije stories heeft
- Voeg sprint_id toe aan BacklogStory/Story/SprintStory + select in PB-
  pagina's en sprint-board mappings, zodat de banner accuraat kan tellen
- createSprintAction: revalidatePath met 'layout' flag voor consistency
  met createSprintWithPbisAction (top-nav 'Sprint' link ververst direct)

Sprint-switch data-refresh op alle relevante pagina's:

- BacklogHydrationWrapper: fingerprint-based re-hydratie zodat PB-data
  na router.refresh opnieuw uit nieuwe initialData komt (was: useEffect
  met lege deps draaide alleen 1x)
- SprintBoardClient: key={sprint.id} forceert remount bij sprint-switch
  zodat lokale sprintStories/sprintStoryIds-state vers ge-init wordt
- Solo (desktop + mobile): gebruik resolveActiveSprint(id) ipv eerste
  OPEN-sprint, plus key={sprint.id} op SoloBoard voor remount

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 16:27:24 +02:00
..
backlog feat(PBI-71): UX-fix 'lege sprint' + sprint-switch data-refresh (#175) 2026-05-09 16:27:24 +02:00
dashboard feat(dashboard): pencil-icoon edit-trigger op product-card (todo cmoq3ox51) 2026-05-04 11:21:14 +02:00
dialogs ProductDialog: create + edit met alle velden (#68) 2026-05-03 17:56:33 +02:00
mobile feat(ST-1136): mobile Settings-pagina + LogoutButton (T-325/T-326/T-327) 2026-05-04 10:12:19 +02:00
products M13: Veilige Claude-agent-workflow (Scrum4Me-side) (#26) 2026-05-01 13:42:18 +02:00
shared feat(ST-1133): entityDialogContentClasses → full-screen op <640px (T-316/T-317/T-318) 2026-05-04 10:06:21 +02:00
solo Sprint: UI taken/ (#149) 2026-05-07 18:41:19 +02:00
split-pane.test.tsx feat(M14): 3-pane backlog — generic SplitPane, BacklogStore, SSE realtime, card-grid TaskPanel (#22) 2026-04-30 18:16:07 +02:00
use-dialog-submit-shortcut.test.ts feat(dialogs): gedeelde primitives — useDirtyCloseGuard, useDialogSubmitShortcut, layout-classes 2026-05-04 07:14:07 +02:00
use-dirty-close-guard.test.tsx feat(dialogs): gedeelde primitives — useDirtyCloseGuard, useDialogSubmitShortcut, layout-classes 2026-05-04 07:14:07 +02:00