Files
formbricks/apps/web/app/components/shared/CustomDialog.tsx
T
2023-10-13 16:43:27 +00:00

55 lines
1.1 KiB
TypeScript

"use client";
import { Modal } from "@formbricks/ui/Modal";
import { Button } from "@formbricks/ui/Button";
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>
);
}