import { keepPreviousData } from '@tanstack/react-query'; import { useApi } from '../useApi'; import { useFilterParameters } from '../useFilterParameters'; import { useDateParameters } from '../useDateParameters'; import { ReactQueryOptions } from '@/lib/types'; export type WebsiteMetricsData = { x: string; y: number; }[]; export function useWebsiteMetricsQuery( websiteId: string, params: { type: string; limit?: number; search?: string }, options?: ReactQueryOptions, ) { const { get, useQuery } = useApi(); const date = useDateParameters(); const filters = useFilterParameters(); return useQuery({ queryKey: [ 'websites:metrics', { websiteId, ...date, ...filters, ...params, }, ], queryFn: async () => get(`/websites/${websiteId}/metrics`, { ...date, ...filters, ...params, }), enabled: !!websiteId, placeholderData: keepPreviousData, ...options, }); }