From 87eaaa564b41b7f35df6f47311f50443daaf8e36 Mon Sep 17 00:00:00 2001 From: Ivan087 Date: Wed, 13 May 2026 10:47:33 +0800 Subject: [PATCH] fix: remove per-card Refresh button in InstanceCard, consolidate to page-level refresh - Remove onRefresh prop from InstanceCard component - Remove handleRefresh callback from InstancesManagementPage - Remove onRefresh passing from both filtered and unfiltered instance lists - Keep global page refresh button in PageHeader --- .../instances/components/InstanceCard.tsx | 2 -- .../pages/InstancesManagementPage.tsx | 35 ++----------------- 2 files changed, 2 insertions(+), 35 deletions(-) diff --git a/frontend/src/features/artifact/instances/components/InstanceCard.tsx b/frontend/src/features/artifact/instances/components/InstanceCard.tsx index 5feb7bd..95c4b1f 100644 --- a/frontend/src/features/artifact/instances/components/InstanceCard.tsx +++ b/frontend/src/features/artifact/instances/components/InstanceCard.tsx @@ -27,7 +27,6 @@ interface InstanceCardProps { instance: InstanceResponse; onModify: (instance: InstanceResponse) => void; onTerminate: (instance: InstanceResponse) => void; - onRefresh: (instance: InstanceResponse) => void; onViewEntries: (instance: InstanceResponse) => void; onViewDiagnostics: (instance: InstanceResponse) => void; } @@ -135,7 +134,6 @@ export const InstanceCard: React.FC = ({ instance, onModify, onTerminate, - onRefresh, onViewEntries, onViewDiagnostics, }) => { diff --git a/frontend/src/features/artifact/instances/pages/InstancesManagementPage.tsx b/frontend/src/features/artifact/instances/pages/InstancesManagementPage.tsx index 50e4787..270cc30 100644 --- a/frontend/src/features/artifact/instances/pages/InstancesManagementPage.tsx +++ b/frontend/src/features/artifact/instances/pages/InstancesManagementPage.tsx @@ -188,37 +188,6 @@ const InstancesManagementPage: React.FC = () => { }; }, [autoRefresh]); - const handleRefresh = useCallback(async (instance: Instance) => { - const clusterId = instance.clusterId; - if (!clusterId) { - toastError("Cluster ID is missing"); - return; - } - - toastInfo(`Refreshing status for "${instance.name || "instance"}"...`, { - title: "Instance Status", - durationMs: 1800, - mergeKey: `instance-refresh-${instance.id || clusterId}`, - }); - - try { - const normalized = await fetchClusterInstances(clusterId); - setInstancesByCluster((prev) => { - const next = new Map(prev); - next.set(clusterId, normalized.instances); - return next; - }); - setInstanceTotals((prev) => { - const next = new Map(prev); - next.set(clusterId, normalized.total); - return next; - }); - success(SuccessMessages.INSTANCE_STATUS_REFRESHED); - } catch (err: unknown) { - toastError(formatApiError(err) || InstanceErrors.STATUS_FETCH_FAILED); - } - }, [success, toastError, toastInfo]); - const handleModify = useCallback((instance: Instance) => { setModifyInstance(instance); }, []); @@ -459,7 +428,7 @@ const InstancesManagementPage: React.FC = () => { instance={instance} onModify={handleModify} onTerminate={handleTerminate} - onRefresh={handleRefresh} + onViewEntries={handleViewEntries} onViewDiagnostics={handleViewDiagnostics} /> @@ -476,7 +445,7 @@ const InstancesManagementPage: React.FC = () => { instance={instance} onModify={handleModify} onTerminate={handleTerminate} - onRefresh={handleRefresh} + onViewEntries={handleViewEntries} onViewDiagnostics={handleViewDiagnostics} />