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

28 lines
657 B
TypeScript

'use client';
import { useQuery } from '@tanstack/react-query';
import { useInject } from '@/lib/di/hooks/useInject';
import { TEAM_SERVICE_TOKEN } from '@/lib/di/tokens';
/**
* Hook for team leaderboard data
*/
export function useTeamLeaderboard() {
const teamService = useInject(TEAM_SERVICE_TOKEN);
const query = useQuery({
queryKey: ['allTeams'],
queryFn: async () => {
return await teamService.getAllTeams();
},
staleTime: 5 * 60 * 1000, // 5 minutes
gcTime: 10 * 60 * 1000, // 10 minutes
});
return {
data: query.data,
isLoading: query.isLoading,
error: query.error,
retry: query.refetch,
};
}