"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import PersianDateField from "@/components/PersianDateField"; type Round = { id: string; number: number; name: string; deadline: Date; }; export default function RoundForm({ editRound }: { editRound?: Round }) { const router = useRouter(); const [form, setForm] = useState({ number: editRound?.number.toString() ?? "", name: editRound?.name ?? "", deadline: editRound ? String(editRound.deadline) : "", }); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); if (!form.deadline) { setError("مهلت انتخاب تیم را مشخص کنید."); return; } setLoading(true); setError(""); const method = editRound ? "PUT" : "POST"; const body = editRound ? { id: editRound.id, ...form, number: parseInt(form.number, 10) } : { ...form, number: parseInt(form.number, 10) }; const res = await fetch("/api/rounds", { method, headers: { "Content-Type": "application/json" }, body: JSON.stringify(body), }); if (res.ok) { setForm({ number: "", name: "", deadline: "" }); router.refresh(); router.push("/admin/rounds"); } else { const d = await res.json(); setError(d.error ?? "خطا در ذخیره"); } setLoading(false); } return (
{error &&

{error}

}
setForm({ ...form, number: e.target.value })} className="w-full border rounded-xl px-4 py-2.5 focus:outline-none focus:ring-2 focus:ring-green-500" required />
setForm({ ...form, name: e.target.value })} placeholder="مثلاً: دور اول - مرحله گروهی" className="w-full border rounded-xl px-4 py-2.5 focus:outline-none focus:ring-2 focus:ring-green-500" required />
setForm({ ...form, deadline: value })} mode="datetime" required /> ); }