Files
ontime/apps/client/src/common/hooks-query/useReport.ts
T
2026-09-05 20:35:44 +02:00

35 lines
860 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import type { ReportData } from 'ontime-types';
import { MILLIS_PER_HOUR } from 'ontime-utils';
import { REPORT } from '../api/constants';
import { fetchReport } from '../api/report';
const emptyReport: ReportData = {
eventReports: {},
rundown: null,
show: {
plannedStart: null,
plannedEnd: null,
plannedDuration: null,
actualStart: null,
actualEnd: null,
actualDuration: null,
},
};
export default function useReport() {
const { data: report, refetch } = useQuery<ReportData>({
queryKey: REPORT,
queryFn: ({ signal }) => fetchReport({ signal }),
placeholderData: (previousData) => previousData,
staleTime: MILLIS_PER_HOUR,
});
return {
data: report?.eventReports ?? emptyReport.eventReports,
report: report ?? emptyReport,
refetch,
};
}