/opt/canhelp/apps/web/src/app/delete-account
NameSizeModeActions
page.tsx53870644editdlrm
Edit: /opt/canhelp/apps/web/src/app/delete-account/page.tsx (5387B)
'use client' import { useState } from 'react' import Link from 'next/link' import { useLocale } from '@/context/locale' import { useSession } from '@/lib/auth' import { createSupportTicket } from '@/lib/api' export default function DeleteAccountPage() { const { t } = useLocale() const { data: session } = useSession() const [reason, setReason] = useState('') const [confirmed, setConfirmed] = useState(false) const [submitting, setSubmitting] = useState(false) const [done, setDone] = useState(false) const [error, setError] = useState(null) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!confirmed || submitting) return setSubmitting(true) setError(null) try { await createSupportTicket({ type: 'delete_account', subject: 'Account deletion request', body: reason.trim() || 'No reason provided.', }) setDone(true) } catch (err: any) { setError(err?.message ?? 'Error') } finally { setSubmitting(false) } } return (
← {t('nav.home')}

{t('delete_account.title')}

{t('delete_account.subtitle')}

{done ? (

{t('delete_account.success_title')}

{t('delete_account.success_body')}

) : !session?.user ? (

{t('delete_account.login_required')}

{t('delete_account.login_btn')}
) : (
{/* Warning */}

{t('delete_account.warning')}

{/* Account info */}
{session.user.email}
{/* Reason */}