;
+ /** True while the stack delete request owns the flow (from stackActionMap). */
+ confirming?: boolean;
}
-export function DeleteStackDialog({ open, onOpenChange, stackName, onConfirm }: DeleteStackDialogProps) {
+export function DeleteStackDialog({
+ open,
+ onOpenChange,
+ stackName,
+ onConfirm,
+ confirming = false,
+}: DeleteStackDialogProps) {
const [pruneVolumes, setPruneVolumes] = useState(false);
const handleOpenChange = (next: boolean) => {
@@ -42,6 +50,8 @@ export function DeleteStackDialog({ open, onOpenChange, stackName, onConfirm }:
description={`Confirm deletion of ${stackName ?? 'stack'}.`}
hint={pruneVolumes ? 'VOLUMES PRUNED' : 'VOLUMES KEPT'}
confirmLabel="Delete"
+ busyConfirmLabel="Deleting..."
+ confirming={confirming}
onConfirm={() => onConfirm(pruneVolumes)}
>
This action cannot be undone.
@@ -49,6 +59,7 @@ export function DeleteStackDialog({ open, onOpenChange, stackName, onConfirm }:
setPruneVolumes(v === true)}
/>