import { useEffect, useState } from 'react' import { motion, AnimatePresence } from 'framer-motion' import { Lightning } from '@phosphor-icons/react' import { routePreloadManager } from '@/lib/route-preload-manager' export function PreloadIndicator() { const [stats, setStats] = useState(routePreloadManager.getStats()) const [visible, setVisible] = useState(false) useEffect(() => { const interval = setInterval(() => { const newStats = routePreloadManager.getStats() setStats(newStats) setVisible(newStats.activePreloads > 0 || newStats.queuedCount > 0) }, 500) return () => clearInterval(interval) }, []) return ( {visible && (
Preloading routes {stats.queuedCount > 0 && ( {stats.queuedCount} in queue )}
)}
) }