Files
MuMuAINovel/frontend/src/App.tsx
T

82 lines
4.1 KiB
TypeScript
Raw Normal View History

2025-10-30 11:14:43 +08:00
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
import ProjectList from './pages/ProjectList';
import ProjectWizardNew from './pages/ProjectWizardNew';
2025-11-14 17:16:24 +08:00
import Inspiration from './pages/Inspiration';
2025-10-30 11:14:43 +08:00
import ProjectDetail from './pages/ProjectDetail';
import WorldSetting from './pages/WorldSetting';
import Outline from './pages/Outline';
import Characters from './pages/Characters';
import Careers from './pages/Careers';
2025-10-30 11:14:43 +08:00
import Relationships from './pages/Relationships';
import RelationshipGraph from './pages/RelationshipGraph';
2025-10-30 11:14:43 +08:00
import Organizations from './pages/Organizations';
import Chapters from './pages/Chapters';
import ChapterReader from './pages/ChapterReader';
import ChapterAnalysis from './pages/ChapterAnalysis';
import Foreshadows from './pages/Foreshadows';
2025-10-31 17:23:25 +08:00
import WritingStyles from './pages/WritingStyles';
2026-01-27 16:15:47 +08:00
import PromptWorkshop from './pages/PromptWorkshop';
2025-10-30 16:53:50 +08:00
import Settings from './pages/Settings';
import MCPPlugins from './pages/MCPPlugins';
import UserManagement from './pages/UserManagement';
import PromptTemplates from './pages/PromptTemplates';
import Sponsor from './pages/Sponsor';
import About from './pages/About';
2025-10-30 11:14:43 +08:00
// import Polish from './pages/Polish';
import Login from './pages/Login';
import AuthCallback from './pages/AuthCallback';
import ProtectedRoute from './components/ProtectedRoute';
2025-11-23 13:28:42 +08:00
import AppFooter from './components/AppFooter';
import SpringFestival from './components/SpringFestival';
2025-10-30 11:14:43 +08:00
import './App.css';
function App() {
return (
<>
{/* 🧧 春节喜庆装饰 */}
<SpringFestival />
2025-10-30 11:14:43 +08:00
<BrowserRouter
future={{
v7_startTransition: true,
v7_relativeSplatPath: true,
}}
>
<Routes>
2025-11-23 13:28:42 +08:00
<Route path="/login" element={<><Login /><AppFooter /></>} />
2025-10-30 11:14:43 +08:00
<Route path="/auth/callback" element={<AuthCallback />} />
<Route path="/" element={<ProtectedRoute><><ProjectList /><AppFooter sidebarWidth={220} /></></ProtectedRoute>} />
<Route path="/projects" element={<ProtectedRoute><><ProjectList /><AppFooter sidebarWidth={220} /></></ProtectedRoute>} />
2025-10-30 11:14:43 +08:00
<Route path="/wizard" element={<ProtectedRoute><ProjectWizardNew /></ProtectedRoute>} />
2025-11-14 17:16:24 +08:00
<Route path="/inspiration" element={<ProtectedRoute><Inspiration /></ProtectedRoute>} />
2025-10-30 16:53:50 +08:00
<Route path="/settings" element={<ProtectedRoute><Settings /></ProtectedRoute>} />
<Route path="/prompt-templates" element={<ProtectedRoute><><PromptTemplates /><AppFooter /></></ProtectedRoute>} />
<Route path="/mcp-plugins" element={<ProtectedRoute><MCPPlugins /></ProtectedRoute>} />
<Route path="/user-management" element={<ProtectedRoute><UserManagement /></ProtectedRoute>} />
<Route path="/chapters/:chapterId/reader" element={<ProtectedRoute><ChapterReader /></ProtectedRoute>} />
2025-10-30 11:14:43 +08:00
<Route path="/project/:projectId" element={<ProtectedRoute><ProjectDetail /></ProtectedRoute>}>
<Route index element={<Navigate to="sponsor" replace />} />
2025-10-30 11:14:43 +08:00
<Route path="world-setting" element={<WorldSetting />} />
<Route path="careers" element={<Careers />} />
2025-10-30 11:14:43 +08:00
<Route path="outline" element={<Outline />} />
<Route path="characters" element={<Characters />} />
<Route path="relationships" element={<Relationships />} />
<Route path="relationships-graph" element={<RelationshipGraph />} />
2025-10-30 11:14:43 +08:00
<Route path="organizations" element={<Organizations />} />
<Route path="chapters" element={<Chapters />} />
<Route path="chapter-analysis" element={<ChapterAnalysis />} />
<Route path="foreshadows" element={<Foreshadows />} />
2025-10-31 17:23:25 +08:00
<Route path="writing-styles" element={<WritingStyles />} />
2026-01-27 16:15:47 +08:00
<Route path="prompt-workshop" element={<PromptWorkshop />} />
<Route path="sponsor" element={<Sponsor />} />
<Route path="about" element={<About />} />
2025-10-30 11:14:43 +08:00
{/* <Route path="polish" element={<Polish />} /> */}
</Route>
</Routes>
</BrowserRouter>
</>
2025-10-30 11:14:43 +08:00
);
}
export default App;