"use client"; import { deleteAccountAction } from "@/app/(dashboard)/ajustes/actions"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { authClient } from "@/lib/auth/client"; import { useRouter } from "next/navigation"; import { useState, useTransition } from "react"; import { toast } from "sonner"; export function DeleteAccountForm() { const router = useRouter(); const [isPending, startTransition] = useTransition(); const [isModalOpen, setIsModalOpen] = useState(false); const [confirmation, setConfirmation] = useState(""); const handleDelete = () => { startTransition(async () => { const result = await deleteAccountAction({ confirmation, }); if (result.success) { toast.success(result.message); // Fazer logout e redirecionar para página de login await authClient.signOut(); router.push("/"); } else { toast.error(result.error); } }); }; const handleOpenModal = () => { setConfirmation(""); setIsModalOpen(true); }; const handleCloseModal = () => { if (isPending) return; setConfirmation(""); setIsModalOpen(false); }; return ( <>