mirror of
https://github.com/formbricks/formbricks.git
synced 2026-02-05 02:58:36 -06:00
* 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
53 lines
1.2 KiB
TypeScript
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>
|
|
);
|
|
}
|