import { useEffect } from 'react'; import { Routes, Route, useNavigate } from 'react-router-dom'; import { RouterShell } from '@/lib/router-shell'; import { TooltipProvider } from '@/components/ui/tooltip'; import { useAuthStore } from '@/stores/auth-store'; import { LoginPage } from '@/features/auth/login-page'; import { QueryClientProvider } from '@tanstack/react-query'; import SettingsPage from '@/features/settings-page'; import AudioVideoSettingsPage from '@/features/settings/audio-video-settings-page'; import NetworkSelector from '@/features/network-selector'; import NetworkRoot from '@/features/network-root'; import ParticleViewResolver from '@/features/particles/particle-view-resolver'; import Layout from '@/features/layout'; import NetworkSettingsPage from '@/features/network-settings'; import { Toaster } from '@/components/ui/sonner'; import { PusherProvider } from '@/lib/pusher-provider'; import { createQueryClient } from '@/lib/query-client'; import { RouteErrorBoundary, TopLevelErrorBoundary, } from '@/components/app-error-boundary'; import { SoundEffectsProvider } from '@/lib/sound-effects/sound-effects-provider'; import { platform } from '@/lib/platform'; import { InAppAutoplayCard } from '@/components/in-app-autoplay-card'; const queryClient = createQueryClient(); const App = () => { const status = useAuthStore((s) => s.status); const restoreSession = useAuthStore((s) => s.restoreSession); useEffect(() => { restoreSession(); }, [restoreSession]); if (status === 'idle' || status === 'restoring') { return (
Loading...