| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { HashRouter, Outlet, Route, Routes } from 'react-router';
- import Header from './components/Header';
- import Sidebar from './components/Sidebar';
- import { AppContextProvider, useAppContext } from './utils/app.context';
- import ChatScreen from './components/ChatScreen';
- import SettingDialog from './components/SettingDialog';
- function App() {
- return (
- <HashRouter>
- <div className="flex flex-row drawer lg:drawer-open">
- <AppContextProvider>
- <Routes>
- <Route element={<AppLayout />}>
- <Route path="/chat/:convId" element={<ChatScreen />} />
- <Route path="*" element={<ChatScreen />} />
- </Route>
- </Routes>
- </AppContextProvider>
- </div>
- </HashRouter>
- );
- }
- function AppLayout() {
- const { showSettings, setShowSettings } = useAppContext();
- return (
- <>
- <Sidebar />
- <div
- className="drawer-content grow flex flex-col h-screen w-screen mx-auto px-4 overflow-auto bg-base-100"
- id="main-scroll"
- >
- <Header />
- <Outlet />
- </div>
- {
- <SettingDialog
- show={showSettings}
- onClose={() => setShowSettings(false)}
- />
- }
- </>
- );
- }
- export default App;
|