diff --git a/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.server.ts b/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.server.ts index 9ff856f..88d3ccd 100644 --- a/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.server.ts +++ b/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.server.ts @@ -824,7 +824,19 @@ export async function action({ request, params }: Route.ActionArgs) { // Generate the empty knockout bracket structure await generateBracketFromTemplate(params.eventId, templateId); - return { success: "Groups and knockout bracket structure created successfully" }; + // Eliminate participants from this sport season who are not in any group + const allParticipants = await findParticipantsBySportsSeasonId(params.id); + let eliminatedCount = 0; + for (const participant of allParticipants) { + if (!uniqueParticipants.has(participant.id)) { + await setParticipantResult(participant.id, params.id, 0); + eliminatedCount++; + } + } + + return { + success: `Groups and knockout bracket structure created successfully${eliminatedCount > 0 ? ` (${eliminatedCount} participant(s) not in any group marked as eliminated)` : ""}`, + }; } catch (error) { logger.error("Error generating groups:", error); return {