import { AlertDialog, Button } from '@heroui/react';
import { ExclamationTriangleIcon } from '@heroicons/react/24/solid';

interface ConfirmDialogProps {
    isOpen: boolean;
    onOpenChange: (open: boolean) => void;
    title: string;
    description?: string;
    confirmLabel?: string;
    onConfirm: () => void;
}

export function ConfirmDialog({ isOpen, onOpenChange, title, description, confirmLabel = 'Hapus', onConfirm }: ConfirmDialogProps) {
    return (
        <AlertDialog isOpen={isOpen} onOpenChange={onOpenChange}>
            <AlertDialog.Backdrop>
                <AlertDialog.Container>
                    <AlertDialog.Dialog className="max-w-sm w-full bg-gray-50">
                        <AlertDialog.Icon status="danger">
                            <ExclamationTriangleIcon className="w-5 h-5" />
                        </AlertDialog.Icon>
                        <AlertDialog.Heading>{title}</AlertDialog.Heading>
                        {description && (
                            <AlertDialog.Body>
                                <p className="text-sm text-gray-600">{description}</p>
                            </AlertDialog.Body>
                        )}
                        <AlertDialog.Footer>
                            <Button variant="outline" onPress={() => onOpenChange(false)}>Batal</Button>
                            <Button variant="danger" onPress={onConfirm}>{confirmLabel}</Button>
                        </AlertDialog.Footer>
                    </AlertDialog.Dialog>
                </AlertDialog.Container>
            </AlertDialog.Backdrop>
        </AlertDialog>
    );
}
