import { useQuery } from '@tanstack/react-query'; import { InsightCard } from '../insights/insight-card'; import { Skeleton } from '../skeleton'; import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, } from '../ui/carousel'; import { useEventQueryFilters } from '@/hooks/use-event-query-filters'; import { useTRPC } from '@/integrations/trpc/react'; interface OverviewInsightsProps { projectId: string; } export default function OverviewInsights({ projectId }: OverviewInsightsProps) { const trpc = useTRPC(); const [filters, setFilter] = useEventQueryFilters(); const { data: insights, isLoading } = useQuery( trpc.insight.list.queryOptions({ projectId, limit: 20, }) ); if (isLoading) { const keys = Array.from({ length: 4 }, (_, i) => `insight-skeleton-${i}`); return (
{keys.map((key) => ( ))}
); } if (!insights || insights.length === 0) { return null; } return (
{insights.map((insight) => ( { insight.payload.dimensions.forEach((dim) => { void setFilter(dim.key, dim.value, 'is'); }); }} /> ))}
); }