Files
wm-projekt/lib/stadiums.ts
2026-06-27 16:58:28 -05:00

75 lines
3.4 KiB
TypeScript

// Statische Stadion-Daten für WM 2026.
export const STADIUMS: Record<string, { name: string; city: string }> = {
"1": { name: "Estadio Azteca", city: "Mexico City" },
"2": { name: "Estadio Akron", city: "Guadalajara" },
"3": { name: "Estadio BBVA", city: "Monterrey" },
"4": { name: "AT&T Stadium", city: "Dallas" },
"5": { name: "NRG Stadium", city: "Houston" },
"6": { name: "GEHA Field at Arrowhead Stadium", city: "Kansas City" },
"7": { name: "Mercedes-Benz Stadium", city: "Atlanta" },
"8": { name: "Hard Rock Stadium", city: "Miami" },
"9": { name: "Gillette Stadium", city: "Boston" },
"10": { name: "Lincoln Financial Field", city: "Philadelphia" },
"11": { name: "MetLife Stadium", city: "New York/New Jersey" },
"12": { name: "BMO Field", city: "Toronto" },
"13": { name: "BC Place", city: "Vancouver" },
"14": { name: "Lumen Field", city: "Seattle" },
"15": { name: "Levi's Stadium", city: "San Francisco Bay Area" },
"16": { name: "SoFi Stadium", city: "Los Angeles" },
};
// K.o.-Spielnummer → ISO-8601 UTC-Anstoßzeit (FIFA-Spielplan, statisch).
export const MATCH_DATES: Record<number, string> = {
// Letzte 32 (28.06. - 03.07.)
73: "2026-06-28T19:00:00Z", // 28.06. 14:00
74: "2026-06-29T20:30:00Z", // 29.06. 15:30
75: "2026-06-30T01:00:00Z", // 29.06. 20:00 (UTC nächster Tag)
76: "2026-06-29T17:00:00Z", // 29.06. 12:00
77: "2026-06-30T21:00:00Z", // 30.06. 16:00
78: "2026-06-30T17:00:00Z", // 30.06. 12:00
79: "2026-07-01T01:00:00Z", // 30.06. 20:00 (UTC nächster Tag)
80: "2026-07-01T16:00:00Z", // 01.07. 11:00
81: "2026-07-02T00:00:00Z", // 01.07. 19:00 (UTC nächster Tag)
82: "2026-07-01T20:00:00Z", // 01.07. 15:00
83: "2026-07-02T23:00:00Z", // 02.07. 18:00
84: "2026-07-02T19:00:00Z", // 02.07. 14:00
85: "2026-07-03T03:00:00Z", // 02.07. 22:00 (UTC nächster Tag)
86: "2026-07-03T22:00:00Z", // 03.07. 17:00
87: "2026-07-04T01:30:00Z", // 03.07. 20:30 (UTC nächster Tag)
88: "2026-07-03T18:00:00Z", // 03.07. 13:00
// Achtelfinale (04.07. - 07.07.)
89: "2026-07-04T21:00:00Z", // 04.07. 16:00
90: "2026-07-04T17:00:00Z", // 04.07. 12:00
91: "2026-07-05T20:00:00Z", // 05.07. 15:00
92: "2026-07-06T00:00:00Z", // 05.07. 19:00 (UTC nächster Tag)
93: "2026-07-06T19:00:00Z", // 06.07. 14:00
94: "2026-07-07T00:00:00Z", // 06.07. 19:00 (UTC nächster Tag)
95: "2026-07-07T16:00:00Z", // 07.07. 11:00
96: "2026-07-07T20:00:00Z", // 07.07. 15:00
// Viertelfinale (09.07. - 11.07.)
97: "2026-07-09T20:00:00Z", // 09.07. 15:00
98: "2026-07-10T19:00:00Z", // 10.07. 14:00
99: "2026-07-11T21:00:00Z", // 11.07. 16:00
100: "2026-07-12T01:00:00Z",// 11.07. 20:00 (UTC nächster Tag)
// Halbfinale (14.07. - 15.07.)
101: "2026-07-14T19:00:00Z",// 14.07. 14:00
102: "2026-07-15T19:00:00Z",// 15.07. 14:00
// Spiel um Platz 3 (18.07.)
103: "2026-07-18T21:00:00Z",// 18.07. 16:00
// Finale (19.07.)
104: "2026-07-19T19:00:00Z",// 19.07. 14:00
};
// K.o.-Spielnummer → stadium_id (FIFA-Quelle, statisch).
export const MATCH_STADIUMS: Record<number, string> = {
73: "16", 74: "9", 75: "3", 76: "5", 77: "11", 78: "4", 79: "1", 80: "7",
81: "15", 82: "14", 83: "12", 84: "16", 85: "13", 86: "8", 87: "6", 88: "4",
89: "10", 90: "5", 91: "11", 92: "1", 93: "4", 94: "14", 95: "7", 96: "13",
97: "9", 98: "16", 99: "8", 100: "6", 101: "4", 102: "7", 103: "8", 104: "11",
};