Files
thrilltrack-explorer/src-old/hooks/parks/useParkRides.ts

29 lines
786 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import { supabase } from '@/lib/supabaseClient';
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,
});
}