"use client" import { useState } from "react" import { useRouter } from "next/navigation" import Navigation from "@/components/Navigation" export default function NewTournamentPage() { const router = useRouter() const [formData, setFormData] = useState({ name: "", description: "", eventDate: "", format: "round_robin", maxParticipants: "", }) const [error, setError] = useState("") const [isLoading, setIsLoading] = useState(false) const handleChange = (e: React.ChangeEvent) => { setFormData({ ...formData, [e.target.name]: e.target.value, }) } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setError("") setIsLoading(true) try { const response = await fetch("/api/tournaments", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ name: formData.name, description: formData.description, eventDate: formData.eventDate || null, format: formData.format, maxParticipants: formData.maxParticipants ? parseInt(formData.maxParticipants) : null, }), }) const data = await response.json() if (!response.ok) { throw new Error(data.error || "Failed to create tournament") } router.push(`/admin/tournaments/${data.tournament.id}`) } catch (err: any) { setError(err.message) } finally { setIsLoading(false) } } return (

Create New Tournament

{error && (
{error}
)}