import React from 'react'; import { BrowserRouter as Router, Route, Routes, Navigate, useParams } from 'react-router-dom'; import { AuthProvider } from './contexts/AuthContext'; import { ToastProvider } from './contexts/ToastContext'; import { ThemeProvider } from './contexts/ThemeContext'; import { ServerProvider } from './contexts/ServerContext'; import { SettingsProvider } from './contexts/SettingsContext'; import MainLayout from './layouts/MainLayout'; import ProtectedRoute from './components/ProtectedRoute'; import LoginPage from './pages/LoginPage'; import DashboardPage from './pages/Dashboard'; import ServersPage from './pages/ServersPage'; import GroupsPage from './pages/GroupsPage'; import UsersPage from './pages/UsersPage'; import SettingsPage from './pages/SettingsPage'; import MarketPage from './pages/MarketPage'; import LogsPage from './pages/LogsPage'; import { getBasePath } from './utils/runtime'; // Helper component to redirect cloud server routes to market const CloudRedirect: React.FC = () => { const { serverName } = useParams<{ serverName: string }>(); return ; }; function App() { const basename = getBasePath(); return ( {/* 公共路由 */} } /> {/* 受保护的路由,使用 MainLayout 作为布局容器 */} }> }> } /> } /> } /> } /> } /> } /> {/* Legacy cloud routes redirect to market with cloud tab */} } /> } /> } /> } /> {/* 未匹配的路由重定向到首页 */} } /> ); } export default App;