import { useQuery } from '@tanstack/react-query'; import { supabase } from '@/lib/supabaseClient'; import { queryKeys } from '@/lib/queryKeys'; export function useHomepageHighestRatedParks(enabled = true) { return useQuery({ queryKey: queryKeys.homepage.highestRatedParks(), queryFn: async () => { const { data, error } = await supabase .from('parks') .select(`*, location:locations(*), operator:companies!parks_operator_id_fkey(*)`) .not('average_rating', 'is', null) .order('average_rating', { ascending: false }) .limit(12); if (error) throw error; return data || []; }, enabled, staleTime: 5 * 60 * 1000, gcTime: 15 * 60 * 1000, refetchOnWindowFocus: false, }); } export function useHomepageHighestRatedRides(enabled = true) { return useQuery({ queryKey: queryKeys.homepage.highestRatedRides(), queryFn: async () => { const { data, error } = await supabase .from('rides') .select(` *, park:parks(*, location:locations(*)), manufacturer:companies!rides_manufacturer_id_fkey(*), designer:companies!rides_designer_id_fkey(*) `) .not('average_rating', 'is', null) .order('average_rating', { ascending: false }) .limit(12); if (error) throw error; return data || []; }, enabled, staleTime: 5 * 60 * 1000, gcTime: 15 * 60 * 1000, refetchOnWindowFocus: false, }); }