import { createBrowserRouter, Navigate, Outlet, RouterProvider, useParams } from 'react-router-dom'; import { routePaths, useAppRoutes } from '../hooks/useAppRoutes'; import { DialogProvider } from './DialogContext'; import { GlobalHooks } from './GlobalHooks'; import RouteError from './RouteError'; import Workspace from './Workspace'; import { RedirectToLatestWorkspace } from './RedirectToLatestWorkspace'; const router = createBrowserRouter([ { path: '/', errorElement: , element: , children: [ { path: '/', element: , }, { path: routePaths.workspaces(), element: , }, { path: routePaths.workspace({ workspaceId: ':workspaceId', }), element: , }, { path: routePaths.request({ workspaceId: ':workspaceId', requestId: ':requestId', }), element: , }, { path: '/workspaces/:workspaceId/environments/:environmentId/requests/:requestId', element: , }, ], }, ]); export function AppRouter() { return ; } function RedirectLegacyEnvironmentURLs() { const routes = useAppRoutes(); const { requestId, environmentId: rawEnvironmentId, workspaceId, } = useParams<{ requestId?: string; workspaceId?: string; environmentId?: string; }>(); const environmentId = rawEnvironmentId === '__default__' ? undefined : rawEnvironmentId; let to = '/'; if (workspaceId != null && requestId != null) { to = routes.paths.request({ workspaceId, environmentId, requestId }); } else if (workspaceId != null) { to = routes.paths.workspace({ workspaceId, environmentId }); } else { to = routes.paths.workspaces(); } return ; } function DefaultLayout() { return ( ); }