Files
UTMS-NG-FE/components/ui/ConfirmDialog.tsx
2026-04-21 06:30:48 +07:00

42 lines
918 B
TypeScript

import Dialog from "./Dialog";
export default function ConfirmDialog({
open,
title,
message,
onConfirm,
onCancel,
confirmLabel = "Confirm",
cancelLabel = "Cancel",
loading
}: {
open: boolean;
title: string;
message: string;
onConfirm: () => void | Promise<void>;
onCancel: () => void;
confirmLabel?: string;
cancelLabel?: string;
loading?: boolean;
}) {
return (
<Dialog
open={open}
title={title}
onClose={onCancel}
footer={
<div className="d-flex justify-content-end gap-2">
<button className="btn btn-outline-secondary" onClick={onCancel} disabled={loading}>
{cancelLabel}
</button>
<button className="btn btn-danger" onClick={onConfirm} disabled={loading}>
{loading ? "Working..." : confirmLabel}
</button>
</div>
}
>
<p>{message}</p>
</Dialog>
);
}