diff options
author | firecoperana <xuqiaowei1124@gmail.com> | 2025-06-08 11:38:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-08 14:38:47 +0300 |
commit | df170c83a554df526e25a825389e692669644c85 (patch) | |
tree | 962efa23b4a7f341f5578ddfc8e171ecdbf8f869 /examples/server/webui/src/App.tsx | |
parent | 9e567e385adacbc4710e94ee7223c5f6b0404699 (diff) |
Webui improvement (#481)
* update webui
* add token/s in webui
* add webui files
* fix webui first message disappear in some browser
* add missing html files
---------
Co-authored-by: firecoperana <firecoperana>
Diffstat (limited to 'examples/server/webui/src/App.tsx')
-rw-r--r-- | examples/server/webui/src/App.tsx | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/server/webui/src/App.tsx b/examples/server/webui/src/App.tsx new file mode 100644 index 00000000..cc4659e1 --- /dev/null +++ b/examples/server/webui/src/App.tsx @@ -0,0 +1,47 @@ +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; |