From 17cd5a8f4309a8396b17460f8f2d16ce2c1e4f8a Mon Sep 17 00:00:00 2001 From: shats Date: Tue, 17 Feb 2026 15:29:48 +0700 Subject: [PATCH] refactor(SettingsPage): streamline loading and success/error message display for improved clarity and user experience --- frontend/src/SettingsPage.jsx | 130 ++++++++++++++-------------------- 1 file changed, 53 insertions(+), 77 deletions(-) diff --git a/frontend/src/SettingsPage.jsx b/frontend/src/SettingsPage.jsx index 4f1c2c5..f4b7995 100644 --- a/frontend/src/SettingsPage.jsx +++ b/frontend/src/SettingsPage.jsx @@ -246,82 +246,58 @@ export default function SettingsPage() { if (loading) { return ( -
-
-
- } - pretitle="Интерфейс" - /> -
-
-
-

Загрузка настроек…

-
-
+ <> + } pretitle="Интерфейс" /> +
+
+
+

Загрузка настроек…

-
+ ); } return ( -
-
-
- } - pretitle="Интерфейс" - meta="WebSocket, DoH, пинг, PTR зона" - actions={ -
- -
- } - /> + <> + {error && ( + setError('')} /> + )} + {success && ( +
+
+
{success}
+
+
+ )} - {error && ( -
- setError('')} /> -
- )} - - {success && ( -
} + pretitle="Интерфейс" + meta="WebSocket, DoH, пинг, PTR зона" + actions={ +
+
- )} + {saving && } + + Сохранить + +
+ } + /> - {/* Как в Tabler Settings: одна card, row g-0, col-md-3 border-end + col-md-9 */} -
-
- {/* Левая колонка — навигация (list-group list-group-transparent) */} -
-
+
+ {/* Сайдбар навигации — как блок в общем стиле страниц */} +
+
+
@@ -360,14 +336,16 @@ export default function SettingsPage() {
))} {sidebarGroupsFiltered.length === 0 && ( -

Нет подходящих разделов

- )} -
-
+

Нет подходящих разделов

+ )} +
+
+
- {/* Правая колонка — контент раздела */} -
-
+ {/* Контент раздела — карточка как на других страницах */} +
+
+
{activeSection === 'live-doh' && ( <> @@ -558,12 +536,10 @@ export default function SettingsPage() {
)} -
-
-
+ ); }