brackt/app/components/sport-season
chrisp 08ae2bb88a
All checks were successful
🚀 Deploy / ʦ🔍 Typecheck & Lint (push) Successful in 1m38s
🚀 Deploy / 🧪 Test (push) Successful in 3m30s
🚀 Deploy / 🐳 Build (push) Successful in 1m9s
🚀 Deploy / 🚀 Deploy (push) Successful in 11s
Fix SSR/hydration timezone flip in event date and time display (#95)
## Summary

- Adds `useHasMounted` hook (using `useSyncExternalStore` — no extra render cycle) to gate UTC timestamp formatting to client-only
- Fixes the visible time-flip in `EventSchedule` and `UpcomingCalendarPanel` where SSR rendered UTC time (e.g. "9:00 PM") and the client re-rendered with local time (e.g. "2:00 PM PDT") after hydration, with `suppressHydrationWarning` silently hiding the mismatch
- Fixes `formatEventDate` in `date-utils.ts` (and `EventSchedule`'s private copy) to parse `YYYY-MM-DD` strings as local midnight instead of UTC midnight, correcting an off-by-one day bug for UTC-negative users across all callers

## Test plan

- [ ] Navigate to a sports season page — confirm event times show in local timezone with no flash/flip on load
- [ ] Hard-reload the page — confirm no brief UTC time visible before settling on local time
- [ ] Check the home page `UpcomingCalendarPanel` — confirm same behavior
- [ ] Verify dates display correctly (e.g. no "Jun 17" showing for a "Jun 18" event near midnight UTC)

Co-authored-by: Chris Parsons <chrisparsons1127@gmail.com>
Reviewed-on: #95
2026-06-17 06:09:29 +00:00
..
__tests__ Fix standings table bugs and polish across all three scoring patterns (#415) 2026-05-12 10:39:25 -07:00
EventSchedule.tsx Fix SSR/hydration timezone flip in event date and time display (#95) 2026-06-17 06:09:29 +00:00
GroupStageStandings.tsx claude/inspiring-turing-9w84hu (#94) 2026-06-17 04:29:23 +00:00
RegularSeasonStandings.tsx Fix standings table bugs and polish across all three scoring patterns (#415) 2026-05-12 10:39:25 -07:00
UpcomingCalendarPanel.tsx Fix SSR/hydration timezone flip in event date and time display (#95) 2026-06-17 06:09:29 +00:00
UpcomingEventsCard.stories.tsx New design (#309) 2026-04-23 13:14:55 -07:00
UpcomingEventsCard.tsx claude/funny-maxwell-vcyb19 (#91) 2026-06-15 22:05:25 +00:00
UpcomingEventsCardFull.stories.tsx New design (#309) 2026-04-23 13:14:55 -07:00