'use client'; import { SimpleChart } from '@/components/simple-chart'; import { cn } from '@/lib/utils'; import NumberFlow from '@number-flow/react'; import { AnimatePresence, motion } from 'framer-motion'; import { ArrowUpIcon } from 'lucide-react'; import Image from 'next/image'; import { useEffect, useState } from 'react'; const TRAFFIC_SOURCES = [ { icon: 'https://api.openpanel.dev/misc/favicon?url=https%3A%2F%2Fgoogle.com', name: 'Google', percentage: 49, value: 2039, }, { icon: 'https://api.openpanel.dev/misc/favicon?url=https%3A%2F%2Finstagram.com', name: 'Instagram', percentage: 23, value: 920, }, { icon: 'https://api.openpanel.dev/misc/favicon?url=https%3A%2F%2Ffacebook.com', name: 'Facebook', percentage: 18, value: 750, }, { icon: 'https://api.openpanel.dev/misc/favicon?url=https%3A%2F%2Ftwitter.com', name: 'Twitter', percentage: 10, value: 412, }, ]; const COUNTRIES = [ { icon: 'πΊπΈ', name: 'United States', percentage: 37, value: 1842 }, { icon: 'π©πͺ', name: 'Germany', percentage: 28, value: 1391 }, { icon: 'π¬π§', name: 'United Kingdom', percentage: 20, value: 982 }, { icon: 'π―π΅', name: 'Japan', percentage: 15, value: 751 }, ]; export function WebAnalyticsFeature() { const [currentSourceIndex, setCurrentSourceIndex] = useState(0); const [currentCountryIndex, setCurrentCountryIndex] = useState(0); useEffect(() => { const interval = setInterval(() => { setCurrentSourceIndex((prev) => (prev + 1) % TRAFFIC_SOURCES.length); setCurrentCountryIndex((prev) => (prev + 1) % COUNTRIES.length); }, 3000); return () => clearInterval(interval); }, []); return (