di usage in website

This commit is contained in:
2026-01-06 19:36:03 +01:00
parent 589b55a87e
commit e589c30bf8
191 changed files with 6367 additions and 4253 deletions

View File

@@ -1,26 +1,16 @@
import { useQuery } from '@tanstack/react-query';
import { useServices } from '@/lib/services/ServiceProvider';
export function useLeagueMemberships(leagueId: string) {
const { leagueMembershipService } = useServices();
return useQuery({
queryKey: ['leagueMemberships', leagueId],
queryFn: () => leagueMembershipService.fetchLeagueMemberships(leagueId),
enabled: !!leagueId,
});
}
import { useInject } from '@/lib/di/hooks/useInject';
import { LEAGUE_MEMBERSHIP_SERVICE_TOKEN } from '@/lib/di/tokens';
import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError';
export function useLeagueMembership(leagueId: string, driverId: string) {
const { leagueMembershipService } = useServices();
const leagueMembershipService = useInject(LEAGUE_MEMBERSHIP_SERVICE_TOKEN);
return useQuery({
const queryResult = useQuery({
queryKey: ['leagueMembership', leagueId, driverId],
queryFn: async () => {
// First fetch memberships if not cached
await leagueMembershipService.fetchLeagueMemberships(leagueId);
return leagueMembershipService.getMembership(leagueId, driverId);
},
queryFn: () => leagueMembershipService.getMembership(leagueId, driverId),
enabled: !!leagueId && !!driverId,
});
}
return enhanceQueryResult(queryResult);
}