"use client"; import { Team, ThirdPlaceRow } from "@/lib/types"; export default function ThirdPlace({ rows, teams, secureTeams, }: { rows: ThirdPlaceRow[]; teams: Team[]; secureTeams?: string[] }) { const name = (id: string) => { const t = teams.find((t) => t.id === id); return t?.localisedName ?? t?.name ?? id; }; const secureSet = secureTeams ? new Set(secureTeams) : null; return (

Acht der zwölf Gruppendritten erreichen die Runde der letzten 32. Gewertet wird gruppenübergreifend nach Punkten, Tordifferenz und Toren — der Direktvergleich entfällt, weil diese Teams nie gegeneinander gespielt haben. Die Trennlinie markiert den Schnitt zwischen Platz 8 und 9.

{rows.map((r, i) => { const isCut = i === 8; // erste nicht-qualifizierte Zeile return ( ); })}
#GruppeTeam SpPkt±ToreStatus
{r.overallRank} {r.group} {name(r.teamId)} {secureSet?.has(r.teamId) && ( )} {r.played} {r.points} {r.goalDiff > 0 ? `+${r.goalDiff}` : r.goalDiff} {r.goalsFor}:{r.goalsAgainst} {r.qualifies ? "weiter" : "raus"}
); }