diff --git a/app/components/sport-season/EventSchedule.tsx b/app/components/sport-season/EventSchedule.tsx
index 3b21e99..013a94f 100644
--- a/app/components/sport-season/EventSchedule.tsx
+++ b/app/components/sport-season/EventSchedule.tsx
@@ -113,9 +113,13 @@ export function EventSchedule({ upcomingEvents, recentEvents, leagueId, sportsSe
{getDisplayDate(event)}
- {isMounted && (event.earliestGameTime ?? event.eventStartsAt) && (
- · {new Date(event.earliestGameTime ?? (event.eventStartsAt as string)).toLocaleTimeString(undefined, { hour: "numeric", minute: "2-digit" })}
- )}
+ {isMounted && (() => {
+ const ts = event.earliestGameTime ?? (event.eventStartsAt as string | null | undefined);
+ if (!ts) return null;
+ const d = new Date(ts);
+ if (isNaN(d.getTime())) return null;
+ return · {d.toLocaleTimeString(undefined, { hour: "numeric", minute: "2-digit" })};
+ })()}
{event.eventType === "schedule_event" ? (
diff --git a/app/models/scoring-event.ts b/app/models/scoring-event.ts
index 26e31e9..80e45f4 100644
--- a/app/models/scoring-event.ts
+++ b/app/models/scoring-event.ts
@@ -379,7 +379,9 @@ export async function getUpcomingScoringEvents(
.slice(0, limit)
.map((e) => ({
...e,
- earliestGameTime: earliestGameById.get(e.id)?.toISOString() ?? null,
+ earliestGameTime: earliestGameById.get(e.id)?.toISOString()
+ ?? e.eventStartsAt?.toISOString()
+ ?? null,
}));
}
diff --git a/database/schema.ts b/database/schema.ts
index 96fadae..8cbb2be 100644
--- a/database/schema.ts
+++ b/database/schema.ts
@@ -886,7 +886,9 @@ export const tournamentGroups = pgTable("tournament_groups", {
.references(() => scoringEvents.id, { onDelete: "cascade" }),
groupName: varchar("group_name", { length: 10 }).notNull(), // "A" through "L"
createdAt: timestamp("created_at").defaultNow().notNull(),
-});
+}, (t) => [
+ index("tournament_groups_scoring_event_id_idx").on(t.scoringEventId),
+]);
export const tournamentGroupMembers = pgTable("tournament_group_members", {
id: uuid("id").primaryKey().defaultRandom(),