From 1ce791d517c335904dc80f520de3b7a6cf11c1c0 Mon Sep 17 00:00:00 2001 From: icarus Date: Fri, 19 Sep 2025 14:07:56 +0800 Subject: [PATCH] feat(AgentsTab): add loading spinner for agents list Show spinner while agents are loading to improve user experience --- .../src/pages/home/Tabs/AgentsTab.tsx | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/renderer/src/pages/home/Tabs/AgentsTab.tsx b/src/renderer/src/pages/home/Tabs/AgentsTab.tsx index 2846d055f3..2019656c28 100644 --- a/src/renderer/src/pages/home/Tabs/AgentsTab.tsx +++ b/src/renderer/src/pages/home/Tabs/AgentsTab.tsx @@ -1,4 +1,4 @@ -import { Button } from '@heroui/react' +import { Button, Spinner } from '@heroui/react' import { AgentModal } from '@renderer/components/Popups/AgentModal' import { useAgents } from '@renderer/hooks/agents/useAgents' import { useRuntime } from '@renderer/hooks/useRuntime' @@ -13,10 +13,11 @@ import AgentItem from './components/AgentItem' interface AssistantsTabProps {} export const AgentsTab: FC = () => { - const { agents, deleteAgent } = useAgents() + const { agents, deleteAgent, isLoading } = useAgents() const { t } = useTranslation() const { chat } = useRuntime() const { activeAgentId } = chat + const dispatch = useAppDispatch() const setActiveAgentId = useCallback( @@ -28,15 +29,17 @@ export const AgentsTab: FC = () => { return (
- {agents.map((agent) => ( - deleteAgent(agent.id)} - onPress={() => setActiveAgentId(agent.id)} - /> - ))} + {isLoading && } + {!isLoading && + agents.map((agent) => ( + deleteAgent(agent.id)} + onPress={() => setActiveAgentId(agent.id)} + /> + ))}