Files
gridpilot.gg/apps/website/lib/hooks/useRaceStewarding.ts
2026-01-06 19:36:03 +01:00

29 lines
814 B
TypeScript

'use client';
import { useQuery } from '@tanstack/react-query';
import { useInject } from '@/lib/di/hooks/useInject';
import { RACE_STEWARDING_SERVICE_TOKEN } from '@/lib/di/tokens';
/**
* Hook for race stewarding data
*/
export function useRaceStewarding(raceId: string, driverId: string) {
const raceStewardingService = useInject(RACE_STEWARDING_SERVICE_TOKEN);
const query = useQuery({
queryKey: ['raceStewarding', raceId, driverId],
queryFn: async () => {
return await raceStewardingService.getRaceStewardingData(raceId, driverId);
},
staleTime: 2 * 60 * 1000, // 2 minutes
gcTime: 5 * 60 * 1000, // 5 minutes
enabled: !!raceId && !!driverId,
});
return {
data: query.data,
isLoading: query.isLoading,
error: query.error,
retry: query.refetch,
};
}