cross mix knockout seeds

This commit is contained in:
yohlo
2026-03-01 19:36:26 -06:00
parent c5b3ad50ca
commit 873ca3e4c4
4 changed files with 84 additions and 20 deletions

View File

@@ -94,13 +94,23 @@ const SetupGroupStage: React.FC<SetupGroupStageProps> = ({
const groupNames = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
const seedLabels: Record<number, string> = {};
const totalTeams = selectedConfig.num_groups * selectedConfig.advance_per_group;
let seedIndex = 1;
for (let rank = 1; rank <= selectedConfig.advance_per_group; rank++) {
for (let groupIdx = 0; groupIdx < selectedConfig.num_groups; groupIdx++) {
const groupName = groupNames[groupIdx] || `Group ${groupIdx + 1}`;
const rankSuffix = rank === 1 ? '1st' : rank === 2 ? '2nd' : rank === 3 ? '3rd' : `${rank}th`;
seedLabels[seedIndex++] = `${groupName} ${rankSuffix}`;
}
for (let i = 0; i < totalTeams / 2; i++) {
const group1 = i % selectedConfig.num_groups;
const rankIndex1 = Math.floor(i / selectedConfig.num_groups);
const rank1 = rankIndex1 + 1;
const groupName1 = groupNames[group1] || `Group ${group1 + 1}`;
const rankSuffix1 = rank1 === 1 ? '1st' : rank1 === 2 ? '2nd' : rank1 === 3 ? '3rd' : `${rank1}th`;
seedLabels[seedIndex++] = `${groupName1} ${rankSuffix1}`;
const group2 = (i + 1) % selectedConfig.num_groups;
const rankIndex2 = selectedConfig.advance_per_group - 1 - rankIndex1;
const rank2 = rankIndex2 + 1;
const groupName2 = groupNames[group2] || `Group ${group2 + 1}`;
const rankSuffix2 = rank2 === 1 ? '1st' : rank2 === 2 ? '2nd' : rank2 === 3 ? '3rd' : `${rank2}th`;
seedLabels[seedIndex++] = `${groupName2} ${rankSuffix2}`;
}
const ordersMap: Record<number, number> = {};