import { useInject } from '@/lib/di/hooks/useInject'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; import { LEAGUE_SETTINGS_SERVICE_TOKEN } from '@/lib/di/tokens'; import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { LeagueSettingsViewModel } from '@/lib/view-models/LeagueSettingsViewModel'; import { useQuery, UseQueryOptions } from '@tanstack/react-query'; export function useLeagueSettings( leagueId: string, options?: Omit, 'queryKey' | 'queryFn'> ) { const leagueSettingsService = useInject(LEAGUE_SETTINGS_SERVICE_TOKEN); const queryResult = useQuery({ queryKey: ['leagueSettings', leagueId], queryFn: () => leagueSettingsService.getLeagueSettings(leagueId), enabled: !!leagueId, retry: false, refetchOnWindowFocus: false, ...options, }); return enhanceQueryResult(queryResult); }