bracket fixes ...
This commit is contained in:
@@ -109,3 +109,26 @@ export function slotLabel(
|
||||
}
|
||||
return `3. ${slot.thirdPool?.join("/") ?? "?"}`;
|
||||
}
|
||||
|
||||
// Lookup: matchNumber → Quellspiele (fromHome, fromAway, losers).
|
||||
// Exkludiert "Spiel um Platz 3" (losers: true), weil es nicht im Siegerbaum mitläuft.
|
||||
const SOURCE_MAP: Map<number, KnockoutMatch> = (() => {
|
||||
const m = new Map<number, KnockoutMatch>();
|
||||
for (const km of LATER_ROUNDS) {
|
||||
if (!km.losers) m.set(km.matchNumber, km);
|
||||
}
|
||||
return m;
|
||||
})();
|
||||
|
||||
// Berechnet die vertikale Anzeige-Reihenfolge einer früheren Runde aus der
|
||||
// Reihenfolge der Folgerunde. parentRound sind die Match-Nummern der Folgerunde
|
||||
// in Anzeige-Reihenfolge. Gibt die Nummern der Quellspiele in korrekter
|
||||
// Baum-Topologie-Reihenfolge zurück.
|
||||
export function orderedRound(parentRound: number[]): number[] {
|
||||
const result: number[] = [];
|
||||
for (const parent of parentRound) {
|
||||
const src = SOURCE_MAP.get(parent);
|
||||
if (src) result.push(src.fromHome, src.fromAway);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user