From cd71113cf89ae2af3e362652af5a548d179f5c08 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Tue, 3 Dec 2024 22:27:08 +0200 Subject: [PATCH] Tournament default sort incomplete teams after full teams --- .../tournament-bracket/core/Tournament.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/app/features/tournament-bracket/core/Tournament.ts b/app/features/tournament-bracket/core/Tournament.ts index b4eabbaaf..980ca3647 100644 --- a/app/features/tournament-bracket/core/Tournament.ts +++ b/app/features/tournament-bracket/core/Tournament.ts @@ -62,7 +62,11 @@ export class Tournament { return 1; } - return this.compareUnseededTeams(a, b); + return this.compareUnseededTeams( + a, + b, + ctx.settings.minMembersPerTeam ?? 4, + ); }); this.simulateBrackets = simulateBrackets; this.ctx = { @@ -80,7 +84,19 @@ export class Tournament { private compareUnseededTeams( a: TournamentData["ctx"]["teams"][number], b: TournamentData["ctx"]["teams"][number], + minMembersPerTeam: number, ) { + const aIsFull = a.members.length >= minMembersPerTeam; + const bIsFull = b.members.length >= minMembersPerTeam; + + if (aIsFull && !bIsFull) { + return -1; + } + + if (!aIsFull && bIsFull) { + return 1; + } + if (a.avgSeedingSkillOrdinal && b.avgSeedingSkillOrdinal) { return b.avgSeedingSkillOrdinal - a.avgSeedingSkillOrdinal; }