import type { GrpcRequest } from '@yaakapp/api'; import { atom, useAtom } from 'jotai'; import { useEffect } from 'react'; import { invokeCmd } from '../lib/tauri'; import { useActiveWorkspace } from './useActiveWorkspace'; export const grpcRequestsAtom = atom([]); export function useGrpcRequests() { const [items, setItems] = useAtom(grpcRequestsAtom); const workspace = useActiveWorkspace(); // Fetch new requests when workspace changes useEffect(() => { if (workspace == null) return; invokeCmd('cmd_list_grpc_requests', { workspaceId: workspace.id }).then( setItems, ); }, [setItems, workspace]); return items; }