import { Box, Container } from '@chakra-ui/react'; import { SSEProvider } from "@flamefrontend/sse-runtime-react"; import { createBrowserRouter, Outlet, type RouteObject, RouterProvider, useLocation } from "react-router-dom"; import type {MsSseEvent} from '../core/Api'; import { AppHeader } from './components/AppHeader'; import { MSErrorBoundary } from './components/ErrorBoundary'; import { ComponentDetailedRoutable } from './components/msComponent/MSComponentDetailed'; import { MSComponentListFetchable } from './components/msComponent/MSComponentList'; import { Provider } from './components/Provider'; import { SettingsContainer } from './components/settings/settings'; import { Toaster } from './components/Toaster'; function NoMatch() { const location = useLocation(); return (
No page for {location.pathname} exists!
); } // https://tailwindflex.com/@sienna/copy-code-block function MissingDocs() { return (
Oops! You need to build docs first. Run the following commands to build:
$ npm run docs:install && npm run docs:build
npm run docs:install && npm run docs:build
); } const Layout = () => { //const [logsEnabled, setLogsEnabled] = useState(true); const location = useLocation(); return (<> ); } const routesNested: RouteObject[] = [ { path: "/", Component: Layout, children: [ { index: true, element: , }, { path: "components/:componentId", element: }, { path: "settings", element: }, { path: "*", element: } ], }, { path: "/docs", element: }, { path: "*", element: } ]; // server injects window.__MS_RUNTIME__ per-request (src/backend/server/index.ts) // with the actual runtime mount path: '/' at root, '/myapp' under a subpath const router = createBrowserRouter(routesNested, { basename: window.__MS_RUNTIME__?.basePath ?? '/' }); export const sseProviderOptions = { key: ['events'], url: 'api/events?next=true' } function App() { return ( {/* */} options={sseProviderOptions}> ); } export default App;