Remove useNavigate everywhere, and make request a query param. And convert dialog to Jotai

This commit is contained in:
Gregory Schier
2025-01-06 16:54:07 -08:00
parent 806a8eb801
commit bc50891edb
54 changed files with 592 additions and 545 deletions

View File

@@ -1,15 +1,14 @@
import { useNavigate } from '@tanstack/react-router';
import { useEffect } from 'react';
import { getRecentCookieJars } from '../hooks/useRecentCookieJars';
import { getRecentEnvironments } from '../hooks/useRecentEnvironments';
import { getRecentRequests } from '../hooks/useRecentRequests';
import { useRecentWorkspaces } from '../hooks/useRecentWorkspaces';
import { useWorkspaces } from '../hooks/useWorkspaces';
import { router } from '../lib/router';
export function RedirectToLatestWorkspace() {
const workspaces = useWorkspaces();
const recentWorkspaces = useRecentWorkspaces();
const navigate = useNavigate();
useEffect(() => {
if (workspaces.length === 0 || recentWorkspaces == null) {
@@ -22,23 +21,16 @@ export function RedirectToLatestWorkspace() {
const environmentId = (await getRecentEnvironments(workspaceId))[0] ?? null;
const cookieJarId = (await getRecentCookieJars(workspaceId))[0] ?? null;
const requestId = (await getRecentRequests(workspaceId))[0] ?? null;
const search = { cookie_jar_id: cookieJarId, environment_id: environmentId };
const params = { workspaceId };
const search = {
cookie_jar_id: cookieJarId,
environment_id: environmentId,
requestId: requestId,
};
if (workspaceId != null && requestId != null) {
await navigate({
to: '/workspaces/$workspaceId/requests/$requestId',
params: { workspaceId, requestId },
search,
});
} else {
await navigate({
to: '/workspaces/$workspaceId',
params: { workspaceId },
search,
});
}
await router.navigate({ to: '/workspaces/$workspaceId', params, search });
})();
}, [navigate, recentWorkspaces, workspaces, workspaces.length]);
}, [recentWorkspaces, workspaces, workspaces.length]);
return <></>;
}