diff --git a/resources/js/components/dialogs/delete-confirm-dialog.tsx b/resources/js/components/dialogs/delete-confirm-dialog.tsx index 004302f..945d01e 100644 --- a/resources/js/components/dialogs/delete-confirm-dialog.tsx +++ b/resources/js/components/dialogs/delete-confirm-dialog.tsx @@ -1,3 +1,4 @@ +import { useState } from 'react'; import { ConfirmDialog } from '@/components/dialogs'; type DeleteConfirmDialogProps = { @@ -19,10 +20,22 @@ export function DeleteConfirmDialog({ variant, onConfirm, }: DeleteConfirmDialogProps) { + const [loading, setLoading] = useState(false); + + function handleConfirm() { + setLoading(true); + onConfirm(); + } + return ( { + if (!open) { + setLoading(false); + } + onOpenChange(open); + }} title={title} description={ typeof description === 'function' && target @@ -33,7 +46,8 @@ export function DeleteConfirmDialog({ } confirmLabel={confirmLabel} variant={variant} - onConfirm={onConfirm} + onConfirm={handleConfirm} + loading={loading} /> ); }