Story 6 van PBI "Alle dialogen conform docs/patterns/dialog.md". - batch-enqueue-blocker-dialog: entityDialog* layout-classes - task-detail-dialog: entityDialog* layout-classes (rest van interne layout blijft custom — hybride detail+blur-save view) - docs/specs/dialogs/task-detail.md — profiel dat het blur-save + PATCH-route patroon documenteert (afwijking van klassieke Server-Action+form flow) - docs/specs/dialogs/batch-enqueue-blocker.md — profiel voor informational confirm-dialog Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
---
|
|
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.
|