Files
formbricks/apps/web/components/shared/CustomDialog.tsx
2023-08-06 14:58:52 +05:30

55 lines
1.1 KiB
TypeScript

"use client";
import Modal from "@/components/shared/Modal";
import { Button } from "@formbricks/ui";
interface CustomDialogProps {
open: boolean;
setOpen: (open: boolean) => void;
title?: string;
text?: string;
isLoading?: boolean;
children?: React.ReactNode;
onOk: () => void;
okBtnText?: string;
onCancel?: () => void;
cancelBtnText?: string;
disabled?: boolean;
}
export default function CustomDialog({
open,
setOpen,
title,
text,
isLoading,
children,
onOk,
okBtnText,
onCancel,
cancelBtnText,
disabled,
}: CustomDialogProps) {
return (
<Modal open={open} setOpen={setOpen} title={title}>
<p>{text}</p>
<div>{children}</div>
<div className="my-4 space-x-2 text-right">
<Button
variant="secondary"
onClick={() => {
if (onCancel) {
onCancel();
}
setOpen(false);
}}>
{cancelBtnText || "Cancel"}
</Button>
<Button variant="warn" onClick={onOk} loading={isLoading} disabled={disabled}>
{okBtnText || "Yes"}
</Button>
</div>
</Modal>
);
}