import { useQuery } from '@tanstack/react-query'; import { lazy, Suspense, useEffect } from 'react'; import { Navigate, Route, Routes, useLocation } from 'react-router'; import { useAuth } from './components/auth/AuthProvider'; import { SidebarLayout } from './components/layouts/SidebarLayout'; import { useDocsVisibility } from './hooks/api'; import { applyTheme } from './lib/theme'; // Eagerly loaded (landing page critical path) import Home from './pages/Home'; // Lazy-loaded pages const AuthCallback = lazy(() => import('./pages/AuthCallback')); const Login = lazy(() => import('./pages/Login')); const ForgotPassword = lazy(() => import('./pages/ForgotPassword')); const ResetPassword = lazy(() => import('./pages/ResetPassword')); const MFAVerify = lazy(() => import('./pages/MFAVerify')); const Onboarding = lazy(() => import('./pages/Onboarding')); const Dashboard = lazy(() => import('./pages/Dashboard')); const UIComponents = lazy(() => import('./pages/UIComponents')); const Charts = lazy(() => import('./pages/Charts')); const NotFound = lazy(() => import('./pages/NotFound')); const HomePreview = lazy(() => import('./pages/HomePreview')); // Content pages const ApiDocs = lazy(() => import('./pages/ApiDocs')); const Blog = lazy(() => import('./pages/Blog')); const Changelog = lazy(() => import('./pages/Changelog')); const Docs = lazy(() => import('./pages/Docs')); const Legal = lazy(() => import('./pages/Legal')); const Checkout = lazy(() => import('./pages/Checkout')); const Pricing = lazy(() => import('./pages/Pricing')); // Settings const Profile = lazy(() => import('./pages/settings/Profile')); const Billing = lazy(() => import('./pages/settings/Billing')); const Security = lazy(() => import('./pages/settings/Security')); // Organizations const OrgDetails = lazy(() => import('./pages/organizations/Details')); const OrgMembers = lazy(() => import('./pages/organizations/Members')); // Admin const AdminDashboard = lazy(() => import('./pages/admin/Dashboard')); const AdminOrganizations = lazy(() => import('./pages/admin/Organizations')); const AdminUsers = lazy(() => import('./pages/admin/Users')); const AdminLogs = lazy(() => import('./pages/admin/Logs')); const AdminNotifications = lazy(() => import('./pages/admin/Notifications')); const AdminInfrastructure = lazy(() => import('./pages/admin/Infrastructure')); const AdminSettings = lazy(() => import('./pages/admin/Settings')); const AdminTheme = lazy(() => import('./pages/admin/Theme')); const AdminJobs = lazy(() => import('./pages/admin/Jobs')); const AdminCrawlers = lazy(() => import('./pages/admin/Crawlers')); const AdminContactSubmissions = lazy(() => import('./pages/admin/ContactSubmissions')); const AdminNewsletter = lazy(() => import('./pages/admin/Newsletter')); const Contact = lazy(() => import('./pages/Contact')); function PageSpinner() { return (