Files
formbricks/apps/web/components/shared/DeleteDialog.tsx
Francois Disubi 8f1b7ae83a Add Delete Account functionality (#363)
* feat: add deletes account button on profile section.

* feat: add delete account action when user click on delete account button

* feat:logout user when his account is deleted

* feat: added warning message before user deletes account

* feat: add description to Delete account
 section

* fix: fix: build issue.

* fix: avoid giving the ownership of a team to a member who is not an admin

* fix: merge conflict

* fix: use !== in delete button disabled prop

* fix: typo semething -> Something

* refactor: simplified user deletion logic

* refactor: explain user deletion logic

* refactor: remove unecessary delete membership queries

* feat: add deletes account button on profile section.

* feat: add delete account action when user click on delete account button

* feat:logout user when his account is deleted

* feat: added warning message before user deletes account

* fix merge conlicts

* update to  delete info text

* feat: delete the team if the owner deletes his account and the team has no admins

* add await
2023-06-20 14:33:14 +02:00

53 lines
1.2 KiB
TypeScript

"use client";
import Modal from "@/components/shared/Modal";
import { Button } from "@formbricks/ui";
interface DeleteDialogProps {
open: boolean;
setOpen: (open: boolean) => void;
deleteWhat: string;
onDelete: () => void;
text?: string;
isDeleting?: boolean;
useSaveInsteadOfCancel?: boolean;
onSave?: () => void;
children?: React.ReactNode;
disabled?: boolean;
}
export default function DeleteDialog({
open,
setOpen,
deleteWhat,
onDelete,
text,
isDeleting,
useSaveInsteadOfCancel = false,
onSave,
children,
disabled,
}: DeleteDialogProps) {
return (
<Modal open={open} setOpen={setOpen} title={`Delete ${deleteWhat}`}>
<p>{text || "Are you sure? This action cannot be undone."}</p>
<div>{children}</div>
<div className="my-4 space-x-2 text-right">
<Button
variant="secondary"
onClick={() => {
if (useSaveInsteadOfCancel && onSave) {
onSave();
}
setOpen(false);
}}>
{useSaveInsteadOfCancel ? "Save" : "Cancel"}
</Button>
<Button variant="warn" onClick={onDelete} loading={isDeleting} disabled={disabled}>
Delete
</Button>
</div>
</Modal>
);
}