Spaces:
Sleeping
Sleeping
| import React from 'react'; | |
| import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; | |
| import { AuthProvider } from './contexts/AuthContext'; | |
| import { AppProvider } from './contexts/AppContext'; | |
| import ProtectedRoute from './components/ProtectedRoute'; | |
| import LoginPage from './pages/LoginPage'; | |
| import HomePage from './pages/HomePage'; | |
| import PromptGroupDetailPage from './pages/PromptGroupDetailPage'; | |
| import CreatePromptGroupPage from './pages/CreatePromptGroupPage'; | |
| import EditPromptGroupPage from './pages/EditPromptGroupPage'; | |
| import CategoriesPage from './pages/CategoriesPage'; | |
| import SettingsPage from './pages/SettingsPage'; | |
| import './styles/global.css'; | |
| import './styles/iosStyles.css'; | |
| function App() { | |
| return ( | |
| <AuthProvider> | |
| <AppProvider> | |
| <Router> | |
| <Routes> | |
| {/* 公开路由 */} | |
| <Route path="/login" element={<LoginPage />} /> | |
| {/* 受保护路由 */} | |
| <Route | |
| path="/" | |
| element={ | |
| <ProtectedRoute> | |
| <HomePage /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| <Route | |
| path="/prompt-group/:id" | |
| element={ | |
| <ProtectedRoute> | |
| <PromptGroupDetailPage /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| <Route | |
| path="/create" | |
| element={ | |
| <ProtectedRoute> | |
| <CreatePromptGroupPage /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| <Route | |
| path="/edit-prompt-group/:id" | |
| element={ | |
| <ProtectedRoute> | |
| <EditPromptGroupPage /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| <Route | |
| path="/categories" | |
| element={ | |
| <ProtectedRoute> | |
| <CategoriesPage /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| <Route | |
| path="/settings" | |
| element={ | |
| <ProtectedRoute> | |
| <SettingsPage /> | |
| </ProtectedRoute> | |
| } | |
| /> | |
| {/* 默认重定向 */} | |
| <Route path="*" element={<Navigate to="/" replace />} /> | |
| </Routes> | |
| </Router> | |
| </AppProvider> | |
| </AuthProvider> | |
| ); | |
| } | |
| export default App; |