import { createBrowserRouter, Navigate, Outlet, RouterProvider } from 'react-router-dom'; import { routePaths, useAppRoutes } from '../hooks/useAppRoutes'; import { useRecentRequests } from '../hooks/useRecentRequests'; import { useRequests } from '../hooks/useRequests'; import { GlobalHooks } from './GlobalHooks'; import Workspace from './Workspace'; import Workspaces from './Workspaces'; import { DialogProvider } from './DialogContext'; import { useActiveEnvironmentId } from '../hooks/useActiveEnvironmentId'; import RouteError from './RouteError'; const router = createBrowserRouter([ { path: '/', errorElement: , element: , children: [ { path: '/', element: , }, { path: routePaths.workspaces(), element: , }, { path: routePaths.workspace({ workspaceId: ':workspaceId', environmentId: ':environmentId', }), element: , }, { path: routePaths.request({ workspaceId: ':workspaceId', environmentId: ':environmentId', requestId: ':requestId', }), element: , }, ], }, ]); export function AppRouter() { return ; } function WorkspaceOrRedirect() { const recentRequests = useRecentRequests(); const activeEnvironmentId = useActiveEnvironmentId(); const requests = useRequests(); const request = requests.find((r) => r.id === recentRequests[0]); const routes = useAppRoutes(); if (request === undefined) { return ; } const { id: requestId, workspaceId } = request; const environmentId = activeEnvironmentId ?? undefined; return ( ); } function Layout() { return ( ); }