---
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.
