diff --git a/frontend/src/FilterManager.jsx b/frontend/src/FilterManager.jsx index 49a72aa..6b3ad51 100644 --- a/frontend/src/FilterManager.jsx +++ b/frontend/src/FilterManager.jsx @@ -19,7 +19,9 @@ import { IconEye, IconServer, IconSettings, - IconDeviceFloppy + IconDeviceFloppy, + IconHash, + IconRocket } from '@tabler/icons-react'; const API_URL = '/api'; @@ -490,7 +492,19 @@ function FilterManager() { } }; - // Удаляем старые переменные фильтрации + // Состояние для поиска + const [searchTerm, setSearchTerm] = useState(''); + + // Фильтрация серверов по поиску + const filteredServers = servers.filter(server => + server.name.toLowerCase().includes(searchTerm.toLowerCase()) || + (server.description && server.description.toLowerCase().includes(searchTerm.toLowerCase())) + ); + + // Статистика + const totalServers = servers.length; + const enabledServers = servers.filter(s => s.enabled).length; + const serversWithFilters = servers.filter(s => s.id === selectedServer?.id ? serverFilters.length > 0 : false).length; return (
Серверы не найдены по запросу "{searchTerm}"
+{server.description}
)} -Нет фильтров для этого сервера
++ Добавьте фильтры community/gateway для генерации конфигурации MikroTik +
| COMMUNITY | -GATEWAY | -ОПИСАНИЕ | -ДЕЙСТВИЯ | +COMMUNITY | +GATEWAY | +ОПИСАНИЕ | +ДЕЙСТВИЯ |
|---|---|---|---|---|---|---|---|
|
- {filter.community}
+
+
+
{filter.community}
+ |
- {filter.gateway}
+
+
+
+ {filter.gateway}
+ |
+
+
+ {filter.description ? (
+ {filter.description}
+ ) : (
+ Без описания
+ )}
+
|
- {filter.description || '-'} |
|