"use client"; import { useEffect, useState } from "react"; import { createPortal } from "react-dom"; import { Icon } from "@iconify/react"; import { redirect } from "next/navigation"; export default function DeleteAccount() { const [isOpen, setIsOpen] = useState(false); const [isVisible, setIsVisible] = useState(false); const [error, setError] = useState(undefined); const submit = async () => { const response = await fetch("/api/auth/delete", { method: "DELETE" }); if (!response.ok) { const { error } = await response.json(); setError(error); return; } redirect("/404"); }; const close = () => { setIsVisible(false); setTimeout(() => { setIsOpen(false); }, 300); }; useEffect(() => { if (isOpen) { // slight delay to trigger animation setTimeout(() => setIsVisible(true), 10); } }, [isOpen]); return ( <> {isOpen && createPortal(

Delete Account

Are you sure? This is permanent and will remove all uploaded Miis. This action cannot be undone.

{error && Error: {error}}
, document.body )} ); }