From 3b0995c8efde6ffa4da68b7bca4d8ac823d32de9 Mon Sep 17 00:00:00 2001 From: icarus Date: Thu, 18 Sep 2025 21:22:20 +0800 Subject: [PATCH] feat(agents): add deleteAgent hook to useAgents Implement agent deletion functionality with optimistic updates and error handling --- src/renderer/src/hooks/agents/useAgents.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/hooks/agents/useAgents.ts b/src/renderer/src/hooks/agents/useAgents.ts index 7dbe22511c..585d9e0c08 100644 --- a/src/renderer/src/hooks/agents/useAgents.ts +++ b/src/renderer/src/hooks/agents/useAgents.ts @@ -40,11 +40,27 @@ export const useAgents = () => { [client, mutate, t] ) + const deleteAgent = useCallback( + async (id: string) => { + try { + await client.deleteAgent(id) + mutate((prev) => ({ + agents: prev?.agents.filter((a) => a.id !== id) ?? [], + total: prev ? prev.total - 1 : 0 + })) + } catch (error) { + window.toast.error(formatErrorMessageWithPrefix(error, t('agent.delete.error.failed'))) + } + }, + [client, mutate, t] + ) + return { agents: data?.agents ?? [], error, isLoading, addAgent, - updateAgent + updateAgent, + deleteAgent } }