"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { api } from "@/lib/api/client"; import { GlassCard } from "@/components/ui/glass-card"; import { PageHeader } from "@/components/dashboard/page-header"; import { TeamIcon } from "@/components/teams/TeamIcon"; type Row = { competition_id: string; competition_name: string; league_id: string; league_name: string; team_name: string; team_nickname: string | null; team_icon: string | null; points: number; goals_for: number; goals_against: number; goal_difference: number; played: number; }; export function ManagerCompetitionsTable({ title, description, mode, }: { title: string; description: string; mode: "league" | "cup"; }) { const [rows, setRows] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { api.manager .competitions(mode) .then((data) => setRows(data as Row[])) .catch((e) => setError(e.message)) .finally(() => setLoading(false)); }, [mode]); return (
{error &&

{error}

} {loading ? (

Loading…

) : rows.length === 0 ? (

You are not assigned as manager to any {mode === "league" ? "league" : "cup"}{" "} yet. Ask your league master to link your account to a team.

) : (
{rows.map((r) => ( ))}
Competition Team P Pts GS GA GD

{r.competition_name}

{r.league_name}

{r.team_name} {r.team_nickname && ( ({r.team_nickname}) )}
{r.played} {r.points} {r.goals_for} {r.goals_against} {r.goal_difference} Open
)}
); }