From 804f132d4284391154d39cd489eb24a2cd47db8a Mon Sep 17 00:00:00 2001 From: shats Date: Tue, 17 Feb 2026 10:57:46 +0700 Subject: [PATCH] refactor(ServerGroupCard): update layout and improve server information display in expanded view --- .../src/components/server/ServerGroupCard.jsx | 84 ++++++++++++------- 1 file changed, 53 insertions(+), 31 deletions(-) diff --git a/frontend/src/components/server/ServerGroupCard.jsx b/frontend/src/components/server/ServerGroupCard.jsx index 98bfe4d..231b46c 100644 --- a/frontend/src/components/server/ServerGroupCard.jsx +++ b/frontend/src/components/server/ServerGroupCard.jsx @@ -38,7 +38,6 @@ export default function ServerGroupCard({ const [expanded, setExpanded] = useState(false); const first = servers[0]; const title = groupKey || (first?.dns?.split('.')[0] || 'Группа'); - const provider = first?.provider || ''; const tunnel = first?.tunnel; const wanCount = servers.length; const anySelected = servers.some((s) => selectedSet.has(s.ip)); @@ -81,7 +80,7 @@ export default function ServerGroupCard({ - {/* Центр: флаг, название, провайдер; ниже DNS и теги */} + {/* Центр: в свёрнутом виде — все провайдеры и домены, чтобы было однозначно */}
{countryToFlag(first?.country)}
{title} - {provider && ( - <> - - {provider} - - )} + · мультиван
{wanCount} WAN
-
- - {first?.dns || first?.ip || ''} - +
+ + {servers.map((s) => s.dns?.split('.')[0] || s.ip).join(', ')} + + + {servers.map((s, i) => ( + + {s.dns || s.ip}{i < servers.length - 1 ? ' · ' : ''} + + ))} {tunnel && ( @@ -147,9 +147,20 @@ export default function ServerGroupCard({
- {/* Развёрнутый список WAN */} + {/* Развёрнутый список WAN: визуально отделённый блок, у каждой строки — бейдж HOME */} {expanded && ( -
+
+
+ WAN-подключения группы +
{servers.map((server) => { const isSelected = selectedSet.has(server.ip); @@ -157,26 +168,37 @@ export default function ServerGroupCard({ return (
- - {countryToFlag(server.country)} -
- {serverName} - {server.dns || server.ip} + + HOME
-
+
+ + {countryToFlag(server.country)} +
+ {serverName} + {server.dns || server.ip} +
+
+