"use client"; import React, { useState } from "react"; import { Trash2 } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; import { PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useUser } from "@/hooks/store/user"; import { useAppRouter } from "@/hooks/use-app-router"; type Props = { isOpen: boolean; onClose: () => void; }; export const DeactivateAccountModal: React.FC = (props) => { const router = useAppRouter(); const { isOpen, onClose } = props; // hooks const { t } = useTranslation(); const { deactivateAccount, signOut } = useUser(); // states const [isDeactivating, setIsDeactivating] = useState(false); const handleClose = () => { setIsDeactivating(false); onClose(); }; const handleDeleteAccount = async () => { setIsDeactivating(true); await deactivateAccount() .then(() => { captureSuccess({ eventName: PROFILE_SETTINGS_TRACKER_EVENTS.deactivate_account, }); setToast({ type: TOAST_TYPE.SUCCESS, title: "Success!", message: "Account deactivated successfully.", }); signOut(); router.push("/"); handleClose(); }) .catch((err: any) => { captureError({ eventName: PROFILE_SETTINGS_TRACKER_EVENTS.deactivate_account, }); setToast({ type: TOAST_TYPE.ERROR, title: "Error!", message: err?.error, }); }) .finally(() => setIsDeactivating(false)); }; return (
{t("deactivate_your_account")}

{t("deactivate_your_account_description")}

); };