--- title: "BatchEnqueueBlockerDialog Profiel" status: active audience: [ai-agent, contributor] language: nl last_updated: 2026-05-04 --- # BatchEnqueueBlockerDialog Profiel > Volgt `docs/patterns/dialog.md`. Dit is een **informational / confirm-dialog** zonder eigen entiteit — geen schema, geen demo-policy, geen server actions. ## Doel Wanneer de gebruiker in solo-mode "stuur volgende N taken naar Claude" probeert maar er een blokkade voor de N-de taak ligt (een PBI op `blocked` of een taak op `review`), stopt de UI het in deze dialog en biedt aan om alleen de taken **vóór** de blokkade te queuen. ## Modus Confirm-dialog. Geen create/edit/detail. Geen form. ## Props ```ts { open: boolean onOpenChange: (v: boolean) => void prefixCount: number // hoeveel taken vóór de blokkade liggen blockerReason: 'task-review' | 'pbi-blocked' blockerLabel: string // titel van de blokkerende PBI/taak onConfirm: () => void // alleen taken vóór de blokkade queuen onCancel: () => void // helemaal annuleren } ``` ## URL- of state-pattern - Gekozen: **state-based** — gerendeerd door `solo-board` met een `BatchEnqueueState | null`-prop. ## Layout Gebruikt `entityDialogContentClasses` voor responsive sizing. ## Bewust NIET in v1 - ❌ **Geen demo-policy** — de dialog schrijft niet zelf; demo-blokkering vindt plaats wanneer `onConfirm` de daadwerkelijke `enqueueClaudeJobAction` aanroept (laag 2 demo-check zit daar). - ❌ **Geen schema** — geen veldwaarden in/uit; alleen confirm/cancel. - ❌ **Geen dirty-close-guard** — geen state om dirty te raken. - ❌ **Geen Cmd/Ctrl+Enter** — niet zinvol voor confirm-only.