From 31c96b0935d284aae2ca061520b31aef7dafb732 Mon Sep 17 00:00:00 2001 From: Chris Parsons Date: Sun, 12 Apr 2026 22:09:11 -0700 Subject: [PATCH] fix: hasGroupStage check for templates without groupStage property undefined !== null is true, so templates that omit groupStage (like nba_20) were incorrectly treated as group-stage templates, triggering the generate-groups action and the "Invalid template or template has no group stage" error. Co-Authored-By: Claude Sonnet 4.6 --- app/routes/admin.sports-seasons.$id.events.$eventId.bracket.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.tsx b/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.tsx index 98b8e2d..8008ea4 100644 --- a/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.tsx +++ b/app/routes/admin.sports-seasons.$id.events.$eventId.bracket.tsx @@ -67,7 +67,7 @@ export default function EventBracket({ const template = templates.find((t) => t.id === selectedTemplate); // Determine if this is a group-stage event - const hasGroupStage = template?.groupStage !== null; + const hasGroupStage = template?.groupStage !== null && template?.groupStage !== undefined; // Determine if this template uses named regions (e.g. NCAA 68) const hasRegions = (template?.regions?.length ?? 0) > 0;