Korrekturen bei KO Spiele
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { fetchMatchesAndTeams, fetchOdds, attachOdds, attachKOOdds, fetchLiveScores, applyLiveScores, assignKONumbersBySlots, fetchKOLiveData, attachKOLiveData } from "@/lib/feeds";
|
||||
import { fetchMatchesAndTeams, fetchOdds, attachOdds, attachKOOdds, fetchFifaScores, applyFifaScores, assignKONumbersBySlots } from "@/lib/feeds";
|
||||
import { computeGroupTables, computeThirdPlaceTable } from "@/lib/standings";
|
||||
import { qualifiedThirdGroups, resolveAnnexC } from "@/lib/bracket";
|
||||
import { securelyQualifiedThirdTeams } from "@/lib/third-place-security";
|
||||
@@ -22,31 +22,23 @@ export async function GET() {
|
||||
console.error("[polymarket] fetchOdds fehlgeschlagen:", err);
|
||||
}
|
||||
|
||||
// Live-Scores von worldcup26.ir (additiv, Fallback auf football-data)
|
||||
try {
|
||||
const liveScores = await fetchLiveScores();
|
||||
matches = applyLiveScores(matches, teams, liveScores);
|
||||
} catch (err) {
|
||||
console.warn("[worldcup26] fetchLiveScores fehlgeschlagen:", err instanceof Error ? err.message : err);
|
||||
}
|
||||
|
||||
const groupTables = computeGroupTables(teams, matches);
|
||||
const groupTablesLive = computeGroupTables(teams, matches, true);
|
||||
|
||||
// FIFA-Live-Scores (additiv, Fallback auf football-data)
|
||||
assignKONumbersBySlots(matches, teams);
|
||||
|
||||
if (odds) {
|
||||
matches = attachKOOdds(matches, teams, odds);
|
||||
}
|
||||
|
||||
// KO-Live-Daten (Tore, Minute) von worldcup26
|
||||
try {
|
||||
const koGames = await fetchKOLiveData();
|
||||
matches = attachKOLiveData(matches, teams, koGames);
|
||||
const fifaMap = await fetchFifaScores();
|
||||
matches = applyFifaScores(matches, fifaMap);
|
||||
} catch (err) {
|
||||
console.warn("[worldcup26] KO-Live-Daten fehlgeschlagen:", err instanceof Error ? err.message : err);
|
||||
console.warn("[fifa] Scores fehlgeschlagen:", err instanceof Error ? err.message : err);
|
||||
}
|
||||
|
||||
const groupTables = computeGroupTables(teams, matches);
|
||||
const groupTablesLive = computeGroupTables(teams, matches, true);
|
||||
|
||||
const normalizedMatches = matches.map((m) => ({ ...m, prob: m.prob ?? null }));
|
||||
|
||||
const thirdTable = computeThirdPlaceTable(groupTablesLive);
|
||||
|
||||
@@ -17,7 +17,11 @@ function fmtTime(iso: string): string {
|
||||
|
||||
function scoreDisplay(m: Match): string {
|
||||
if (m.status === "SCHEDULED" || (m.homeScore == null && m.awayScore == null)) return "– : –";
|
||||
return `${m.homeScore ?? 0} : ${m.awayScore ?? 0}`;
|
||||
const base = `${m.homeScore ?? 0} : ${m.awayScore ?? 0}`;
|
||||
if (m.homePenalty != null && m.awayPenalty != null) {
|
||||
return `${base} (${m.homePenalty}:${m.awayPenalty} i.E.)`;
|
||||
}
|
||||
return base;
|
||||
}
|
||||
|
||||
function statusLabel(m: Match): string {
|
||||
|
||||
Reference in New Issue
Block a user