import { useQuery } from '@tanstack/react-query'; import { supabase } from '@/integrations/supabase/client'; import { queryKeys } from '@/lib/queryKeys'; export function useHomepageRecentlyOpenedParks(enabled = true) { return useQuery({ queryKey: queryKeys.homepage.recentlyOpenedParks(), queryFn: async () => { const oneYearAgo = new Date(); oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1); const { data, error } = await supabase .from('parks') .select(`*, location:locations(*), operator:companies!parks_operator_id_fkey(*)`) .gte('opened_date', oneYearAgo.toISOString()) .order('opened_date', { ascending: false }) .limit(12); if (error) throw error; return data || []; }, enabled, staleTime: 5 * 60 * 1000, gcTime: 15 * 60 * 1000, refetchOnWindowFocus: false, }); } export function useHomepageRecentlyOpenedRides(enabled = true) { return useQuery({ queryKey: queryKeys.homepage.recentlyOpenedRides(), queryFn: async () => { const oneYearAgo = new Date(); oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1); const { data, error } = await supabase .from('rides') .select(`*, park:parks(*), location:locations(*)`) .gte('opened_date', oneYearAgo.toISOString()) .order('opened_date', { ascending: false }) .limit(12); if (error) throw error; return data || []; }, enabled, staleTime: 5 * 60 * 1000, gcTime: 15 * 60 * 1000, refetchOnWindowFocus: false, }); }