## 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 |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| useDraftAuthRecovery.ts | ||
| useDraftNotifications.ts | ||
| useDraftRoomState.ts | ||
| useDraftSocket.ts | ||
| useDraftSocketEvents.ts | ||
| useFocusTrap.ts | ||
| useHasMounted.ts | ||
| useLocalTimezone.ts | ||
| useMediaQuery.ts | ||
| useRoundTransition.ts | ||
| useSortableData.ts | ||