diff --git a/frontend/src/components/BackendServers.js b/frontend/src/components/BackendServers.js index eff81c9..ae25077 100644 --- a/frontend/src/components/BackendServers.js +++ b/frontend/src/components/BackendServers.js @@ -1047,28 +1047,28 @@ const BackendServers = () => { title: 'Servers', dataIndex: 'servers', key: 'servers', + width: 100, render: (servers = []) => { - // CRITICAL FIX: Handle null/undefined servers array for backends without servers if (!servers || !Array.isArray(servers)) { return ( - - 0 - /0 - active - - ⚠️ Empty - - + + 0 / 0 + ); } const activeServers = servers.filter(s => s.is_active).length; const totalServers = servers.length; + const allActive = activeServers === totalServers; + const tooltipText = `${activeServers} active / ${totalServers} total server${totalServers !== 1 ? 's' : ''}`; return ( - - {activeServers} - /{totalServers} - active - + + + {activeServers} / {totalServers} + + ); }, }, diff --git a/frontend/src/components/ClusterSelector.js b/frontend/src/components/ClusterSelector.js index 661036a..72946c1 100644 --- a/frontend/src/components/ClusterSelector.js +++ b/frontend/src/components/ClusterSelector.js @@ -82,16 +82,40 @@ const ClusterSelector = () => { return Math.max(250, Math.min(estimated, 500)); }; + const isUnselected = !selectedCluster; + return ( -
- +
+ + + {isUnselected && ( + + Cluster: + + )}