import { useQuery } from '@tanstack/react-query';
import { supabase } from '@/integrations/supabase/client';
import { queryKeys } from '@/lib/queryKeys';

/**
 * Hook to fetch all rides for a specific park
 */
export function useParkRides(parkId: string | undefined, enabled = true) {
  return useQuery({
    queryKey: queryKeys.parks.rides(parkId || ''),
    queryFn: async () => {
      if (!parkId) throw new Error('Park ID is required');

      const { data, error } = await supabase
        .from('rides')
        .select('*')
        .eq('park_id', parkId)
        .order('name');

      if (error) throw error;
      return data || [];
    },
    enabled: enabled && !!parkId,
    staleTime: 5 * 60 * 1000, // 5 minutes
    gcTime: 15 * 60 * 1000,
    refetchOnWindowFocus: false,
  });
}
