import React, { lazy, Suspense } from "react"; import { Routes, Route } from "react-router-dom"; import { I18nextProvider } from "react-i18next"; import { ContextWrapper } from "@/AuthContext"; import PrivateRoute, { AdminRoute, ManagerRoute, } from "@/components/PrivateRoute"; import { ToastContainer } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; import Login from "@/pages/Login"; import SimpleSSOPassthrough from "@/pages/Login/SSO/simple"; import OnboardingFlow from "@/pages/OnboardingFlow"; import i18n from "./i18n"; import { PfpProvider } from "./PfpContext"; import { LogoProvider } from "./LogoContext"; import { FullScreenLoader } from "./components/Preloader"; import { ThemeProvider } from "./ThemeContext"; const Main = lazy(() => import("@/pages/Main")); // 原首页-AI问政 const Home = lazy(() => import("@/pages/Home")); // 新首页 const PolicyLibrary = lazy(() => import("@/pages/PolicyLibrary")); // 政策库 const DataAnalysis = lazy(() => import("@/pages/DataAnalysis")); // 数据分析 const Tendency = lazy(() => import("@/pages/Tendency")); // 趋势洞察 const Yuqingfenxi = lazy(() => import("@/pages/Yuqingfenxi")); // 分析详情 const Economics = lazy(() => import("@/pages/Economics")); // 经济发展 const Talents = lazy(() => import("@/pages/Talents")); // 人才分析 const Industry = lazy(() => import("@/pages/Industry")); // 产业分析 const TrendPrediction = lazy(() => import("@/pages/TrendPrediction")); // 趋势预测 const ReportGeneration = lazy(() => import("@/pages/ReportGeneration")); // 报告生成 const Report = lazy(() => import("@/pages/Report")); // 报告生成1 const InvitePage = lazy(() => import("@/pages/Invite")); const WorkspaceChat = lazy(() => import("@/pages/WorkspaceChat")); const AdminUsers = lazy(() => import("@/pages/Admin/Users")); const AdminSection = lazy(() => import("@/pages/Admin/Section")); const AdminInvites = lazy(() => import("@/pages/Admin/Invitations")); const AdminWorkspaces = lazy(() => import("@/pages/Admin/Workspaces")); const AdminLogs = lazy(() => import("@/pages/Admin/Logging")); const AdminAgents = lazy(() => import("@/pages/Admin/Agents")); const GeneralChats = lazy(() => import("@/pages/GeneralSettings/Chats")); const GeneralAppearance = lazy( () => import("@/pages/GeneralSettings/Appearance") ); const GeneralApiKeys = lazy(() => import("@/pages/GeneralSettings/ApiKeys")); const GeneralLLMPreference = lazy( () => import("@/pages/GeneralSettings/LLMPreference") ); const GeneralTranscriptionPreference = lazy( () => import("@/pages/GeneralSettings/TranscriptionPreference") ); const GeneralAudioPreference = lazy( () => import("@/pages/GeneralSettings/AudioPreference") ); const GeneralEmbeddingPreference = lazy( () => import("@/pages/GeneralSettings/EmbeddingPreference") ); const EmbeddingTextSplitterPreference = lazy( () => import("@/pages/GeneralSettings/EmbeddingTextSplitterPreference") ); const GeneralVectorDatabase = lazy( () => import("@/pages/GeneralSettings/VectorDatabase") ); const GeneralSecurity = lazy(() => import("@/pages/GeneralSettings/Security")); const GeneralBrowserExtension = lazy( () => import("@/pages/GeneralSettings/BrowserExtensionApiKey") ); const WorkspaceSettings = lazy(() => import("@/pages/WorkspaceSettings")); const EmbedConfigSetup = lazy( () => import("@/pages/GeneralSettings/EmbedConfigs") ); const EmbedChats = lazy(() => import("@/pages/GeneralSettings/EmbedChats")); const PrivacyAndData = lazy( () => import("@/pages/GeneralSettings/PrivacyAndData") ); const ExperimentalFeatures = lazy( () => import("@/pages/Admin/ExperimentalFeatures") ); const LiveDocumentSyncManage = lazy( () => import("@/pages/Admin/ExperimentalFeatures/Features/LiveSync/manage") ); const AgentBuilder = lazy(() => import("@/pages/Admin/AgentBuilder")); const CommunityHubTrending = lazy( () => import("@/pages/GeneralSettings/CommunityHub/Trending") ); const CommunityHubAuthentication = lazy( () => import("@/pages/GeneralSettings/CommunityHub/Authentication") ); const CommunityHubImportItem = lazy( () => import("@/pages/GeneralSettings/CommunityHub/ImportItem") ); export default function App() { return ( }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Admin */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Manager */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Onboarding Flow */} } /> } /> {/* Experimental feature pages */} {/* Live Document Sync feature */} } /> } /> } /> } /> ); }