diff --git a/frontend/src/components/server/ServerCard.jsx b/frontend/src/components/server/ServerCard.jsx
index 4e783fa..f742003 100644
--- a/frontend/src/components/server/ServerCard.jsx
+++ b/frontend/src/components/server/ServerCard.jsx
@@ -6,10 +6,13 @@ import {
IconCopy,
IconChevronDown,
IconChevronUp,
- IconNetwork,
IconCheck,
IconCircleCheck,
- IconExternalLink
+ IconWorld,
+ IconNetwork,
+ IconCloud,
+ IconRouter,
+ IconArrowsRightLeft
} from '@tabler/icons-react';
import { useState } from 'react';
@@ -46,195 +49,176 @@ export default function ServerCard({
const isExit = server.type === 'exit';
const primaryGateway = server.gateways?.find(g => g.primary)?.name || server.gateway || '';
const connectionsCount = server.gateways?.length || 0;
- const shortName = server.dns?.split('.')[0] || server.ip?.split('.').slice(0, 2).join('.');
+ const serverName = server.dns?.split('.')[0] || server.ip;
return (
- {/* Основная строка */}
-
- {/* Статус онлайн */}
-
-
- {/* Чекбокс выбора */}
-
-
- {/* Количество соединений */}
-
-
- {connectionsCount}
-
-
- {/* Флаг + Страна */}
-
- {countryToFlag(server.country)}
-
-
- {/* Название */}
-
- {shortName}
-
-
- {/* Тип сервера */}
-
- {isExit ? 'EXIT' : 'JUMP'}
-
-
- {/* Провайдер */}
-
- {server.provider}
-
-
- {/* Туннель */}
-
- {server.tunnel}
-
-
- {/* DNS */}
-
-
-
+ {/* Основная строка */}
+
+ {/* Левая часть: статус + выбор + тип */}
+
- {server.dns}
-
-
+
+
+ {isExit ? (
+
+ ) : (
+
+ )}
+
+ {isExit ? 'EXIT' : 'JUMP'}
+
+
+
- {/* Gateway */}
- {primaryGateway && (
-
-
- {primaryGateway}
-
- )}
-
- {/* Действия */}
-
-
-
-
-
-
-
-
-
- {/* Расширенная информация */}
- {expanded && (
-
-
-
-
IP адрес
-
{server.ip}
-
-
-
Внешний IP
-
{server.extIp || '—'}
-
-
-
Внутренний IP
-
{server.internalIp || '—'}
-
-
-
Страна
-
{countryToFlag(server.country)} {server.country}
-
- {server.gateways?.length > 0 && (
-
-
Шлюзы ({server.gateways.length})
-
- {server.gateways.map((gw, idx) => (
-
- {gw.primary && }
- {gw.name}
- {gw.ip && ({gw.ip})}
-
- ))}
+ {/* Центральная часть: информация о сервере */}
+
+
+ {/* Флаг + Название */}
+
+
{countryToFlag(server.country)}
+
+
{serverName}
+
{server.country}
- )}
+
+ {/* Провайдер */}
+
+
Провайдер
+
{server.provider}
+
+
+ {/* DNS */}
+
+
Домен
+
+ {server.dns || server.ip}
+
+
+
+ {/* Туннель + Connections */}
+
+
+
+ {server.tunnel}
+
+ {connectionsCount > 0 && (
+
+
+ {connectionsCount}
+
+ )}
+
+
+ {/* Gateway */}
+ {primaryGateway && (
+
+
Шлюз
+
{primaryGateway}
+
+ )}
+
+
+
+ {/* Правая часть: действия */}
+
+
+
+
+
+
+
- )}
+
+ {/* Расширенная информация */}
+ {expanded && (
+
+
+ {/* IP адреса */}
+
+
+
+ Сетевые адреса
+
+
+
+
+
Внешний
+
{server.extIp || '—'}
+
+
+
Внутренний
+
{server.internalIp || '—'}
+
+
+
+
+ {/* Шлюзы */}
+
+
+
+ Шлюзы ({server.gateways?.length || 0})
+
+ {server.gateways?.length > 0 ? (
+
+ {server.gateways.map((gw, idx) => (
+
+ {gw.primary && }
+ {gw.name}
+ {gw.ip && ({gw.ip})}
+
+ ))}
+
+ ) : (
+
Нет шлюзов
+ )}
+
+
+
+ )}
+
);
}