From 16c502dc1732d1afd7fd6ec7cc9075fd822287df Mon Sep 17 00:00:00 2001 From: taylanbakircioglu Date: Wed, 18 Feb 2026 19:32:30 +0300 Subject: [PATCH] ui: improve backend servers column and cluster selector visibility - Replace wrapping "active" text in Servers column with compact tag showing active/total count with tooltip for details - Add subtle pulse animation and dashed border to cluster selector when no cluster is selected to guide new users Co-authored-by: Cursor --- frontend/src/components/BackendServers.js | 28 +++++++++--------- frontend/src/components/ClusterSelector.js | 34 ++++++++++++++++++---- 2 files changed, 43 insertions(+), 19 deletions(-) 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: + + )}