'use client' import { useState } from 'react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Textarea } from '@/components/ui/textarea' import { Label } from '@/components/ui/label' import { AlertTriangle, Loader2 } from 'lucide-react' import { useToast } from '@/hooks/use-toast' import httpBrowserClient from '@/lib/httpBrowserClient' import { ApiEndpoints } from '@/config/api' import { useMutation, useQuery } from '@tanstack/react-query' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog' export default function DeleteAccountForm() { const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false) const [deleteConfirmEmail, setDeleteConfirmEmail] = useState('') const [deleteReason, setDeleteReason] = useState('') const { toast } = useToast() const { data: currentUser } = useQuery({ queryKey: ['currentUser'], queryFn: () => httpBrowserClient .get(ApiEndpoints.auth.whoAmI()) .then((res) => res.data?.data), }) const handleDeleteAccount = () => { if (deleteConfirmEmail !== currentUser?.email) { toast({ title: 'Please enter your correct email address', }) return } else if (deleteReason.length < 4) { toast({ title: 'Please enter a reason for deletion', }) return } requestAccountDeletion() } const { mutate: requestAccountDeletion, isPending: isRequestingAccountDeletion, error: requestAccountDeletionError, isSuccess: isRequestAccountDeletionSuccess, } = useMutation({ mutationFn: () => httpBrowserClient.post(ApiEndpoints.support.requestAccountDeletion(), { message: deleteReason, }), onSuccess: () => { toast({ title: 'Account deletion request submitted', }) setIsDeleteDialogOpen(false) }, onError: () => { toast({ title: 'Failed to submit account deletion request', }) }, }) return ( <>

Once you delete your account, there is no going back. This action permanently removes all your data, cancels subscriptions, and revokes access to all services.

Delete Account

Are you sure you want to delete your account? This action:

  • Cannot be undone
  • Will permanently delete all your data
  • Will cancel all active subscriptions
  • Will remove access to all services