From e6a9c17aa0b067710a8c20f2ff09bcf81ce262c8 Mon Sep 17 00:00:00 2001 From: Denis Shatskiy Date: Mon, 14 Jul 2025 15:00:39 +0700 Subject: [PATCH] refactor: Simplify FilterManager layout by conditionally rendering server statistics and search section based on advanced mode, and remove custom hover effects in App.css for cleaner UI --- frontend/src/App.css | 6 - frontend/src/FilterManager.jsx | 394 +++++++++++++++++---------------- 2 files changed, 199 insertions(+), 201 deletions(-) diff --git a/frontend/src/App.css b/frontend/src/App.css index 894b3a2..97e403c 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -22,12 +22,6 @@ animation: fadeIn 0.3s ease-out; } -/* Custom hover effects */ -.btn:hover { - transform: translateY(-1px); - transition: all 0.2s ease; -} - /* Custom focus states */ .btn:focus, .form-control:focus, diff --git a/frontend/src/FilterManager.jsx b/frontend/src/FilterManager.jsx index 0ad5e5f..510242d 100644 --- a/frontend/src/FilterManager.jsx +++ b/frontend/src/FilterManager.jsx @@ -662,230 +662,234 @@ function FilterManager() { )} {/* Панель статистики */} -
-
-
-
-
-
- - - -
-
-
{totalServers}
-
Всего серверов
+ {mode === 'advanced' && ( +
+
+
+
+
+
+ + + +
+
+
{totalServers}
+
Всего серверов
+
-
-
-
-
-
-
- - - -
-
-
{enabledServers}
-
Активных серверов
+
+
+
+
+
+ + + +
+
+
{enabledServers}
+
Активных серверов
+
-
-
-
-
-
-
- - - +
+
+
+
+
+ + + +
+
+
{selectedServer ? serverFilters.length : '-'}
+
+ {selectedServer ? 'Фильтров в выбранном сервере' : 'Выберите сервер'} +
+
-
-
{selectedServer ? serverFilters.length : '-'}
-
- {selectedServer ? 'Фильтров в выбранном сервере' : 'Выберите сервер'} +
+
+
+
+
+
+
+
+ + + +
+
+
+ {!selectedServer ? 'Не выбран' : serverFilters.length > 0 ? 'Готов' : 'Не готов'} +
+
Статус конфигурации
-
-
-
-
-
- - - -
-
-
- {!selectedServer ? 'Не выбран' : serverFilters.length > 0 ? 'Готов' : 'Не готов'} -
-
Статус конфигурации
-
-
-
-
-
-
+ )} {/* Секция управления серверами */} -
-
-
-
-

- - Готовые конфигурации серверов -

-
-
- - - - setSearchTerm(e.target.value)} - /> - + {mode === 'advanced' && ( +
+
+
+
+

+ + Готовые конфигурации серверов +

+
+
+ + + + setSearchTerm(e.target.value)} + /> + +
-
-
- {servers.length === 0 ? ( -
- -

Нет добавленных серверов

- -
- ) : filteredServers.length === 0 ? ( -
- -

Серверы не найдены по запросу "{searchTerm}"

- -
- ) : ( -
- {filteredServers.map(server => ( -
-
-
-
-
-

- {server.name} - {selectedServer?.id === server.id && ( - Выбран - )} -

-
- - {server.enabled ? 'Активен' : 'Неактивен'} - - {server.id === selectedServer?.id && ( - - {serverFilters.length} фильтров +
+ {servers.length === 0 ? ( +
+ +

Нет добавленных серверов

+ +
+ ) : filteredServers.length === 0 ? ( +
+ +

Серверы не найдены по запросу "{searchTerm}"

+ +
+ ) : ( +
+ {filteredServers.map(server => ( +
+
+
+
+
+

+ {server.name} + {selectedServer?.id === server.id && ( + Выбран + )} +

+
+ + {server.enabled ? 'Активен' : 'Неактивен'} - )} + {server.id === selectedServer?.id && ( + + {serverFilters.length} фильтров + + )} +
+
+
+ { + const updatedServers = servers.map(s => + s.id === server.id ? { ...s, enabled: !s.enabled } : s + ); + try { + await axios.post(`${API_URL}/server-configs`, { servers: updatedServers }); + setServers(updatedServers); + } catch (error) { + setError('Не удалось обновить статус сервера'); + } + }} + />
-
- { - const updatedServers = servers.map(s => - s.id === server.id ? { ...s, enabled: !s.enabled } : s - ); - try { - await axios.post(`${API_URL}/server-configs`, { servers: updatedServers }); - setServers(updatedServers); - } catch (error) { - setError('Не удалось обновить статус сервера'); - } - }} - /> + + {server.description && ( +

{server.description}

+ )} + +
+ + + +
- - {server.description && ( -

{server.description}

- )} - -
- - - - -
-
- ))} -
- )} + ))} +
+ )} +
-
+ )} {/* Секция фильтров выбранного сервера */} {selectedServer && (