Update local model stores in all mutations (#129)

This commit is contained in:
Gregory Schier
2024-10-23 09:54:43 -07:00
committed by GitHub
parent c5e6d6f2cb
commit 7759649963
29 changed files with 270 additions and 79 deletions

View File

@@ -1,14 +1,18 @@
import { useMutation } from '@tanstack/react-query';
import type { GrpcRequest } from '@yaakapp-internal/models';
import {useSetAtom} from "jotai";
import { InlineCode } from '../components/core/InlineCode';
import { trackEvent } from '../lib/analytics';
import { fallbackRequestName } from '../lib/fallbackRequestName';
import { getGrpcRequest } from '../lib/store';
import { invokeCmd } from '../lib/tauri';
import { useConfirm } from './useConfirm';
import {grpcRequestsAtom} from "./useGrpcRequests";
import {removeModelById} from "./useSyncModelStores";
export function useDeleteAnyGrpcRequest() {
const confirm = useConfirm();
const setGrpcRequests = useSetAtom(grpcRequestsAtom);
return useMutation<GrpcRequest | null, string, string>({
mutationKey: ['delete_any_grpc_request'],
@@ -29,6 +33,12 @@ export function useDeleteAnyGrpcRequest() {
if (!confirmed) return null;
return invokeCmd('cmd_delete_grpc_request', { requestId: id });
},
onSuccess: (request) => {
if (request == null) return;
// Optimistic update
setGrpcRequests(removeModelById(request));
},
onSettled: () => trackEvent('grpc_request', 'delete'),
});
}