'use client'; import { useRouter } from 'next/navigation'; import { useState, useTransition } from 'react'; export function DeleteAccountButton() { const router = useRouter(); const [pending, startTransition] = useTransition(); const [error, setError] = useState(null); function handleClick() { if ( !window.confirm( 'Permanently delete your TOWER account? This cannot be undone.', ) ) { return; } setError(null); startTransition(async () => { const res = await fetch('/api/my/account', { method: 'DELETE' }); if (!res.ok) { const body = (await res.json().catch(() => ({}))) as { message?: string }; setError(body.message ?? 'Delete failed'); return; } router.replace('/'); }); } return (
{error && {error}}
); }