diff --git a/frontend/src/FilterManager.jsx b/frontend/src/FilterManager.jsx index c96622b..db69099 100644 --- a/frontend/src/FilterManager.jsx +++ b/frontend/src/FilterManager.jsx @@ -1,4 +1,5 @@ import { useState, useEffect, useRef } from 'react'; +import { Link } from 'react-router-dom'; import api from './lib/api.js'; import ConfirmDialog from './components/ConfirmDialog.jsx'; import FormModal from './components/FormModal.jsx'; @@ -716,14 +717,32 @@ function FilterManager() { }; // Функции для управления серверами + // Загружаем jumphost'ы из раздела "Серверы" (/api/servers) const fetchServers = async () => { try { - const response = await api.get(`/server-configs`); - const payload = Array.isArray(response.data) ? response.data : []; - setServers(payload.map(s => ({ ...s, gateways: normalizeGateways(s.gateways, s.name) }))); + const response = await api.get(`/servers`); + const allServers = Array.isArray(response.data) ? response.data : []; + + // Фильтруем только jumphost'ы (не exit-ноды) + const jumphosts = allServers + .filter(s => s.type !== 'exit') + .map(s => ({ + id: s.id || s.ip, // Используем id или ip как идентификатор + name: s.dns?.split('.')[0] || s.ip, // Короткое имя из DNS или IP + fullName: s.dns || s.ip, + description: `${s.provider || ''} ${s.country || ''}`.trim(), + enabled: true, + ip: s.ip, + dns: s.dns, + country: s.country, + provider: s.provider, + tunnel: s.tunnel, + gateways: normalizeGateways(s.gateways, s.dns?.split('.')[0] || s.ip) + })); + + setServers(jumphosts); } catch (error) { console.error('Error fetching servers:', error); - // Если файл не существует, создаем пустой массив setServers([]); } }; @@ -1435,13 +1454,13 @@ function FilterManager() { )}
- + + Управление серверами +
@@ -1450,18 +1469,18 @@ function FilterManager() {
-

Нет серверов

+

Нет jumphost серверов

- Создайте первый сервер для работы с фильтрами + Добавьте серверы типа JUMP в разделе "Серверы"

- + + Перейти к серверам +
) : ( @@ -2121,17 +2140,18 @@ function FilterManager() { title="Управление серверами" size="xl" > -
- + + Управление серверами +
{servers.length === 0 ? ( @@ -2139,9 +2159,9 @@ function FilterManager() {
-

Нет серверов

+

Нет jumphost серверов

- Создайте первый сервер для работы с фильтрами + Добавьте серверы типа JUMP в разделе "Серверы"

) : (