"use client"; import { useState } from "react"; import { useRouter, useParams } from "next/navigation"; import { api } from "@/lib/api/client"; import { GlassCard } from "@/components/ui/glass-card"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { PageHeader } from "@/components/dashboard/page-header"; export default function NewCompetitionPage() { const router = useRouter(); const params = useParams(); const leagueId = params.leagueId as string; const [loading, setLoading] = useState(false); const [error, setError] = useState(null); return (
{ e.preventDefault(); if (loading) return; const fd = new FormData(e.currentTarget); setLoading(true); setError(null); try { const comp = (await api.leagues.createCompetition(leagueId, { name: fd.get("name") as string, tournament_mode: fd.get("tournament_mode") as "league" | "cup", })) as { id: string }; router.push(`/leagues/${leagueId}/competitions/${comp.id}`); } catch (err) { setError(err instanceof Error ? err.message : "Failed"); } finally { setLoading(false); } }} >
{error &&

{error}

}
); }