diff --git a/src-tauri/src/models.rs b/src-tauri/src/models.rs index d538d5f8..01653c26 100644 --- a/src-tauri/src/models.rs +++ b/src-tauri/src/models.rs @@ -192,6 +192,7 @@ pub async fn duplicate_request(id: &str, pool: &Pool) -> Result) -> Result({ + const queryClient = useQueryClient(); + return useMutation({ mutationFn: async () => { if (id === null) throw new Error("Can't duplicate a null request"); return invoke('duplicate_request', { id }); }, - onSuccess: async (newId: string) => { + onSuccess: async (request) => { + queryClient.setQueryData( + requestsQueryKey({ workspaceId: request.workspaceId }), + (requests) => [...(requests ?? []), request], + ); if (navigateAfter && workspaceId !== null) { - routes.navigate('request', { workspaceId, requestId: newId }); + routes.navigate('request', { workspaceId, requestId: request.id }); } }, });