"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; const LOCKED_STATUSES = new Set([ "registered", "name_approved", "name_reserved", "resignation_sent", "appointment_accepted", "cancelled", "Moved to step 2", ]); export default function StatusActions({ id, status }: { id: string; status: string }) { const router = useRouter(); const [loading, setLoading] = useState(false); if (LOCKED_STATUSES.has(status)) return null; async function handleApprove() { if (!confirm("Mark as approved and lock the link?")) return; setLoading(true); try { const res = await fetch("/api/register/update-status", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id, status: "Moved to step 2" }), }); if (res.ok) router.refresh(); else alert("Failed: " + await res.text()); } finally { setLoading(false); } } return ( ); }