{seasonsQuery.error instanceof Error ? seasonsQuery.error.message : 'Failed to load seasons'}
)
}
const seasons = seasonsQuery.data ?? []
if (seasons.length === 0) {
return (
Local Data
{seasons.map((year) => (
))}
{meetingsQuery.isLoading && (
loading meetings…
)}
{meetingsQuery.isError && (
{meetingsQuery.error instanceof Error ? meetingsQuery.error.message : 'Failed to load meetings'}
)}
{!meetingsQuery.isLoading && !meetingsQuery.isError && meetings.length === 0 && (
No meetings ingested for {selectedYear}.
)}
{meetings.length > 0 && (
Meetings
{meetings.length}
| Grand Prix |
Country |
Dates |
Open |
{meetings.map((meeting) => {
const selected = meeting.meeting_key === selectedMeetingKey
return (
|
{meeting.meeting_name}
{meeting.circuit_short_name && meeting.circuit_short_name !== meeting.meeting_name && (
{meeting.circuit_short_name}
)}
|
{meeting.country_code || meeting.country_name}
|
{formatMeetingDates(meeting)}
|
|
)
})}
)}
{selectedMeetingKey != null && weekendQuery.isLoading && (
loading sessions…
)}
{selectedMeetingKey != null && weekendQuery.isError && (
{weekendQuery.error instanceof Error ? weekendQuery.error.message : 'Failed to load weekend'}
)}
{weekend && (
{weekend.meeting.meeting_name} Sessions
{weekend.sessions.length}
{weekend.sessions.length === 0 ? (
No sessions stored for this meeting.
) : (
| Session |
Type |
Coverage |
Source |
Open |
{weekend.sessions.map(({ session, source, datasets }) => {
const coverage = formatCoverageHint(datasets)
const isDefault = session.session_key === weekend.default_session_key
return (
|
{session.session_name}
{isDefault && default}
{session.session_key}
|
{session.session_type}
|
{coverage}
|
{sessionSourceBadge(source)} |
|
)
})}
)}
)}
)
}
// Re-export helpers used by tests
export { countRaceHubDatasets, formatCoverageHint } from '../lib/coverage'