mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-05-17 01:22:45 +00:00
refactor: make sidebar a global component
This commit is contained in:
88
src/App.tsx
88
src/App.tsx
@@ -1,37 +1,81 @@
|
||||
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
|
||||
import { RouterProvider, createBrowserRouter } from 'react-router-dom';
|
||||
import { I18nextProvider } from 'react-i18next';
|
||||
import { ThemeProvider } from './contexts/ThemeContext';
|
||||
import { AuthProvider, ProtectedRoute } from './components/auth';
|
||||
import { TaskMasterProvider } from './contexts/TaskMasterContext';
|
||||
import { TasksSettingsProvider } from './contexts/TasksSettingsContext';
|
||||
import { WebSocketProvider } from './contexts/WebSocketContext';
|
||||
import { PluginsProvider } from './contexts/PluginsContext';
|
||||
import AppContent from './components/app/AppContent';
|
||||
import i18n from './i18n/config.js';
|
||||
import { RootLayout } from '@/components/refactored/shared/RootLayout';
|
||||
|
||||
// Mock page components
|
||||
const Home = () => <div className="p-8"><h1>Home Page</h1><p>Select a session or create a new project.</p></div>;
|
||||
const SessionContent = () => <div className="p-8"><h1>Session View</h1><p>Chat interface goes here.</p></div>;
|
||||
|
||||
const router = createBrowserRouter([
|
||||
{
|
||||
path: "/",
|
||||
element: <RootLayout />, // The layout wraps all children
|
||||
children: [
|
||||
{
|
||||
path: "/",
|
||||
element: <Home />,
|
||||
},
|
||||
{
|
||||
path: "/sessions/:sessionId",
|
||||
element: <SessionContent />,
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<I18nextProvider i18n={i18n}>
|
||||
<ThemeProvider>
|
||||
<AuthProvider>
|
||||
<WebSocketProvider>
|
||||
<PluginsProvider>
|
||||
<TasksSettingsProvider>
|
||||
<TaskMasterProvider>
|
||||
<ProtectedRoute>
|
||||
<Router basename={window.__ROUTER_BASENAME__ || ''}>
|
||||
<Routes>
|
||||
<Route path="/" element={<AppContent />} />
|
||||
<Route path="/session/:sessionId" element={<AppContent />} />
|
||||
</Routes>
|
||||
</Router>
|
||||
</ProtectedRoute>
|
||||
</TaskMasterProvider>
|
||||
</TasksSettingsProvider>
|
||||
</PluginsProvider>
|
||||
</WebSocketProvider>
|
||||
<ProtectedRoute>
|
||||
<RouterProvider router={router} />
|
||||
</ProtectedRoute>
|
||||
</AuthProvider>
|
||||
</ThemeProvider>
|
||||
</I18nextProvider>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
|
||||
// import { I18nextProvider } from 'react-i18next';
|
||||
// import { ThemeProvider } from './contexts/ThemeContext';
|
||||
// import { AuthProvider, ProtectedRoute } from './components/auth';
|
||||
// import { TaskMasterProvider } from './contexts/TaskMasterContext';
|
||||
// import { TasksSettingsProvider } from './contexts/TasksSettingsContext';
|
||||
// import { WebSocketProvider } from './contexts/WebSocketContext';
|
||||
// import { PluginsProvider } from './contexts/PluginsContext';
|
||||
// import AppContent from './components/app/AppContent';
|
||||
// import i18n from './i18n/config.js';
|
||||
|
||||
// export default function App() {
|
||||
// return (
|
||||
// <I18nextProvider i18n={i18n}>
|
||||
// <ThemeProvider>
|
||||
// <AuthProvider>
|
||||
// <WebSocketProvider>
|
||||
// 1<PluginsProvider>
|
||||
// <TasksSettingsProvider>
|
||||
// <TaskMasterProvider>
|
||||
// <ProtectedRoute>
|
||||
// <Router basename={window.__ROUTER_BASENAME__ || ''}>
|
||||
// <Routes>
|
||||
// <Route path="/" element={<AppContent />} />
|
||||
// <Route path="/session/:sessionId" element={<AppContent />} />
|
||||
// <Route path='/' element={<SampleElement />} />
|
||||
// </Routes>
|
||||
// </Router>
|
||||
// </ProtectedRoute>
|
||||
// </TaskMasterProvider>
|
||||
// </TasksSettingsProvider>
|
||||
// </PluginsProvider>
|
||||
// </WebSocketProvider>
|
||||
// </AuthProvider>
|
||||
// </ThemeProvider>
|
||||
// </I18nextProvider>
|
||||
// );
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user