diff --git a/app/components/KoFixtures.tsx b/app/components/KoFixtures.tsx index 485b76f..6ce3d1d 100644 --- a/app/components/KoFixtures.tsx +++ b/app/components/KoFixtures.tsx @@ -16,7 +16,7 @@ function fmtTime(iso: string): string { } function scoreDisplay(m: Match): string { - if (m.status === "SCHEDULED" || (m.homeScore == null && m.awayScore == null)) return "– : –"; + if (m.status === "SCHEDULED" || m.status === "POSTPONED" || (m.homeScore == null && m.awayScore == null)) return "– : –"; const base = `${m.homeScore ?? 0} : ${m.awayScore ?? 0}`; if (m.homePenalty != null && m.awayPenalty != null) { return `${base} (${m.homePenalty}:${m.awayPenalty} i.E.)`; @@ -28,6 +28,7 @@ function statusLabel(m: Match): string { switch (m.status) { case "LIVE": case "IN_PLAY": return m.minute != null ? `${m.minute}'` : "Live"; case "PAUSED": return "Halbzeit"; + case "POSTPONED": return "Verzögert"; case "FINISHED": return "Beendet"; default: return fmtTime(m.utcDate); } @@ -164,6 +165,16 @@ export default function KoFixtures({ teams, matches }: { teams: Team[]; matches: {live ? "LIVE" : "NÄCHSTES SPIEL"} )} + {m.status === "POSTPONED" && ( + + VERZÖGERT + + )} {stageMap[m.stage] ?? m.stage} · Spiel {m.matchNumber || "—"} {city ? ` · ${city}` : ""} diff --git a/lib/feeds.ts b/lib/feeds.ts index 21ae85b..8ecb6b0 100644 --- a/lib/feeds.ts +++ b/lib/feeds.ts @@ -634,6 +634,7 @@ export async function fetchFifaScores(): Promise<{ switch (fm.MatchStatus) { case 0: status = "FINISHED"; break; case 1: status = "SCHEDULED"; break; + case 10: status = "POSTPONED"; break; default: status = "LIVE"; break; } scores.set(fm.MatchNumber, { diff --git a/lib/types.ts b/lib/types.ts index a975289..0b44a0f 100644 --- a/lib/types.ts +++ b/lib/types.ts @@ -19,7 +19,7 @@ export interface Team { } export type MatchStatus = - | "SCHEDULED" | "LIVE" | "IN_PLAY" | "PAUSED" | "FINISHED"; + | "SCHEDULED" | "LIVE" | "IN_PLAY" | "PAUSED" | "FINISHED" | "POSTPONED"; export interface GoalEvent { scorer: string; // Torschützen-Name