'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 { 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, handleCancelSearch, } = useHomePage(); // Real-time latency pinging const sourceUrls = useMemo(() => availableSources.flatMap((source) => source.baseUrl ? [{ id: source.id, baseUrl: source.baseUrl }] : [] ), [availableSources] ); const { latencies } = useLatencyPing({ sourceUrls, enabled: hasSearched && results.length > 0, }); return (