'use client'; import { Suspense, useMemo } from 'react'; import { SearchForm } from '@/components/search/SearchForm'; import { NoResults } from '@/components/search/NoResults'; import { PopularFeatures } from '@/components/home/PopularFeatures'; import { WatchHistorySidebar } from '@/components/history/WatchHistorySidebar'; import { FavoritesSidebar } from '@/components/favorites/FavoritesSidebar'; import { Navbar } from '@/components/layout/Navbar'; import { SearchResults } from '@/components/home/SearchResults'; import { useHomePage } from '@/lib/hooks/useHomePage'; import { useLatencyPing } from '@/lib/hooks/useLatencyPing'; function HomePage() { const { query, hasSearched, loading, results, availableSources, completedSources, totalSources, handleSearch, handleReset, } = useHomePage(); // Real-time latency pinging const sourceUrls = useMemo(() => availableSources.map(s => ({ id: s.id, baseUrl: s.id })), // Using id as baseUrl if not available elsewhere [availableSources] ); const { latencies } = useLatencyPing({ sourceUrls, enabled: hasSearched && results.length > 0, }); return (