import { lazy, Suspense } from 'react' import { ErrorBoundary } from 'react-error-boundary' import { TooltipProvider } from '@/components/ui/tooltip' import { Button } from '@/components/ui/button' import { SocketProvider } from '@/providers/SocketProvider' import HomePage from '@/pages/HomePage' import { BrowserRouter, Route, Routes, useLocation, useNavigate } from 'react-router-dom' import { Toaster } from 'sonner' import { AnimatePresence } from 'motion/react' import { AlertTriangle } from 'lucide-react' // Lazy-loaded routes (keep HomePage sync for fast first paint) const RoomPage = lazy(() => import('@/pages/RoomPage')) const NotFoundPage = lazy(() => import('@/pages/NotFoundPage')) function ErrorFallback({ error, resetErrorBoundary }: { error: unknown; resetErrorBoundary: () => void }) { const message = error instanceof Error ? error.message : '应用遇到了意外错误' return (
{message}