import { Suspense } from 'react'; import { createBrowserRouter, createRoutesFromElements, RouterProvider, Route, Navigate, } from 'react-router-dom'; import './styles/global.css'; import { AuthProvider } from './hooks/useAuth'; import { ThemeProvider } from './hooks/useTheme'; import MainLayout from './layouts/MainLayout'; import AdminLayout from './layouts/AdminLayout'; import ErrorBoundary from './components/ErrorBoundary'; import AppRouteError from './components/AppRouteError'; import PageLoader from './components/PageLoader'; import AuthPageFallback from './components/AuthPageFallback'; import { Toaster } from './components/ui/sonner'; import PullToRefresh from './components/PullToRefresh'; import TopProgressBar from './components/TopProgressBar'; import { lazyWithRetry } from './utils/lazyWithRetry'; const HomePage = lazyWithRetry(() => import('./pages/HomePage')); const PostDetailPage = lazyWithRetry(() => import('./pages/PostDetailPage')); const LoginPage = lazyWithRetry(() => import('./pages/LoginPage')); const RegisterPage = lazyWithRetry(() => import('./pages/RegisterPage')); const ForgotPasswordPage = lazyWithRetry(() => import('./pages/ForgotPasswordPage')); const ComposePage = lazyWithRetry(() => import('./pages/ComposePage')); const BoardsManagePage = lazyWithRetry(() => import('./pages/BoardsManagePage')); const ProfilePage = lazyWithRetry(() => import('./pages/ProfilePage')); const UserProfilePage = lazyWithRetry(() => import('./pages/UserProfilePage')); const FavoritesPage = lazyWithRetry(() => import('./pages/FavoritesPage')); const MessagesPage = lazyWithRetry(() => import('./pages/MessagesPage')); const ProjectsPage = lazyWithRetry(() => import('./pages/ProjectsPage')); const LinksPage = lazyWithRetry(() => import('./pages/LinksPage')); const ShowcasePage = lazyWithRetry(() => import('./pages/ShowcasePage')); const AdminDashboardPage = lazyWithRetry(() => import('./pages/admin/AdminDashboardPage')); const AdminPostsPage = lazyWithRetry(() => import('./pages/admin/AdminPostsPage')); const AdminCommentsPage = lazyWithRetry(() => import('./pages/admin/AdminCommentsPage')); const AdminReportsPage = lazyWithRetry(() => import('./pages/admin/AdminReportsPage')); const AdminUsersPage = lazyWithRetry(() => import('./pages/admin/AdminUsersPage')); const AdminBadgesPage = lazyWithRetry(() => import('./pages/admin/AdminBadgesPage')); const AdminMediaPage = lazyWithRetry(() => import('./pages/admin/AdminMediaPage')); const AdminMonitorPage = lazyWithRetry(() => import('./pages/admin/AdminMonitorPage')); const AdminPagesPage = lazyWithRetry(() => import('./pages/admin/AdminPagesPage')); const AdminSitePageEditPage = lazyWithRetry(() => import('./pages/admin/AdminSitePageEditPage')); const AdminLinksPage = lazyWithRetry(() => import('./pages/admin/AdminLinksPage')); const SitePageView = lazyWithRetry(() => import('./pages/SitePageView')); const AdminSettingsPage = lazyWithRetry(() => import('./pages/admin/AdminSettingsPage')); const AdminCommunityPage = lazyWithRetry(() => import('./pages/admin/AdminCommunityPage')); const NotFoundPage = lazyWithRetry(() => import('./pages/NotFoundPage')); const router = createBrowserRouter( createRoutesFromElements( }> }>} /> }>} /> }>} /> } /> }> } /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }>} /> }> } /> } /> {/* :id 可为 123 或 123.html(伪静态后缀由后台配置) */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> }>} /> , ), ); export default function App() { return ( ); }