import { useEffect } from 'react'; import { createBrowserRouter, Navigate, Outlet, RouterProvider, useLocation, } from 'react-router-dom'; import { routePaths } from '../hooks/useRoutes'; import { useTauriListeners } from '../hooks/useTauriListeners'; import { setLastLocation } from '../lib/lastLocation'; import RouteError from './RouteError'; import Workspace from './Workspace'; import Workspaces from './Workspaces'; 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: , }, ], }, ]); export function AppRouter() { useTauriListeners(); return ; } function RouterRoot() { const { pathname } = useLocation(); useEffect(() => { setLastLocation(pathname).catch(console.error); }, [pathname]); return ; }