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,15 @@
import { useParams } from '@tanstack/react-router';
import { useSearch } from '@tanstack/react-router';
import { atom, useAtomValue } from 'jotai';
import { useEffect } from 'react';
import { jotaiStore } from '../lib/jotai';
export const activeRequestIdAtom = atom<string>();
export const activeRequestIdAtom = atom<string | null>(null);
export function useActiveRequestId(): string | null {
return useAtomValue(activeRequestIdAtom) ?? null;
return useAtomValue(activeRequestIdAtom);
}
export function useSubscribeActiveRequestId() {
const { requestId } = useParams({ strict: false });
useEffect(() => jotaiStore.set(activeRequestIdAtom, requestId), [requestId]);
const { request_id } = useSearch({ strict: false });
useEffect(() => jotaiStore.set(activeRequestIdAtom, request_id ?? null), [request_id]);
}