import React, { useState } from "react"; import { toast } from "react-hot-toast"; import TextInput from "@/components/TextInput"; import CenteredForm from "@/layouts/CenteredForm"; import { signOut, useSession } from "next-auth/react"; import Link from "next/link"; import Button from "@/components/ui/Button"; import { useTranslation } from "next-i18next"; import getServerSideProps from "@/lib/client/getServerSideProps"; export default function Delete() { const [password, setPassword] = useState(""); const [comment, setComment] = useState(); const [feedback, setFeedback] = useState(); const [submitLoader, setSubmitLoader] = useState(false); const { data } = useSession(); const { t } = useTranslation(); const submit = async () => { const body = { password, cancellation_details: { comment, feedback, }, }; if (password === "") { return toast.error(t("fill_required_fields")); } setSubmitLoader(true); const load = toast.loading(t("deleting_message")); const response = await fetch(`/api/v1/users/${data?.user.id}`, { method: "DELETE", headers: { "Content-Type": "application/json", }, body: JSON.stringify(body), }); const message = (await response.json()).response; toast.dismiss(load); if (response.ok) { signOut(); } else { toast.error(message); } setSubmitLoader(false); }; return (

{t("delete_account")}

{t("delete_warning")}

{t("confirm_password")}

setPassword(e.target.value)} placeholder="••••••••••••••" className="bg-base-100" type="password" />
{process.env.NEXT_PUBLIC_STRIPE && (
{t("optional")} {t("feedback_help")}

{t("more_information")}