import { createBrowserRouter, Navigate, RouterProvider, useParams } from 'react-router-dom'; import { routePaths, useAppRoutes } from '../hooks/useAppRoutes'; import { DefaultLayout } from './DefaultLayout'; import { RedirectToLatestWorkspace } from './RedirectToLatestWorkspace'; import RouteError from './RouteError'; import { Settings } from './Settings/Settings'; import Workspace from './Workspace'; 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: , }, { path: routePaths.workspaceSettings({ workspaceId: ':workspaceId', }), 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 ; }