diff --git a/frontend/src/components/server/ServerGroupCard.jsx b/frontend/src/components/server/ServerGroupCard.jsx
index 875b2c5..98bfe4d 100644
--- a/frontend/src/components/server/ServerGroupCard.jsx
+++ b/frontend/src/components/server/ServerGroupCard.jsx
@@ -1,12 +1,13 @@
import {
- IconServer,
IconEdit,
IconTrash,
IconChevronDown,
IconChevronUp,
IconRouter,
IconCircleCheck,
- IconSquare
+ IconSquare,
+ IconNetwork,
+ IconCloud
} from '@tabler/icons-react';
import { useState } from 'react';
@@ -23,8 +24,8 @@ function countryToFlag(isoCode) {
}
/**
- * Одна карточка для группы серверов (например два home-роутера с одним groupKey — мультиван).
- * Каждый сервер в группе сохраняет свой id; отображаются объединённо.
+ * Карточка группы серверов в том же формате, что и одиночная ServerCard:
+ * слева бейдж HOME, центр — флаг, название, провайдер и DNS с тегами, справа кнопки.
*/
export default function ServerGroupCard({
groupKey,
@@ -34,93 +35,171 @@ export default function ServerGroupCard({
onEdit,
onDelete
}) {
- const [expanded, setExpanded] = useState(true);
- const title = groupKey || (servers[0]?.dns?.split('.')[0] || 'Группа');
+ 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));
return (
- {/* Заголовок группы */}
-
setExpanded(!expanded)}
- >
-
-
{title}
-
({servers.length} WAN)
-