From 3b852464d6d177d8a98cf989c98c15d82948827e Mon Sep 17 00:00:00 2001 From: Denis Shatskiy Date: Mon, 14 Jul 2025 15:41:29 +0700 Subject: [PATCH] feat: Enhance FilterManager with advanced and simple preview modes for configuration, including improved modal display and copy functionality --- frontend/src/FilterManager.jsx | 120 ++++++++++++++++++++++++++++++++- 1 file changed, 117 insertions(+), 3 deletions(-) diff --git a/frontend/src/FilterManager.jsx b/frontend/src/FilterManager.jsx index 5c10560..6d63f46 100644 --- a/frontend/src/FilterManager.jsx +++ b/frontend/src/FilterManager.jsx @@ -34,6 +34,7 @@ function FilterManager() { // Состояние для предварительного просмотра конфигурации const [previewModalOpen, setPreviewModalOpen] = useState(false); const [generatedConfig, setGeneratedConfig] = useState(''); + const [previewMode, setPreviewMode] = useState(''); // 'simple' | 'advanced' // Состояния для управления серверами const [servers, setServers] = useState([]); @@ -499,6 +500,7 @@ function FilterManager() { const handlePreviewConfig = async () => { const config = await generateMikrotikConfig(); setGeneratedConfig(config); + setPreviewMode('advanced'); setPreviewModalOpen(true); }; @@ -1139,7 +1141,11 @@ function FilterManager() { setPreviewModalOpen(false)} + mode={previewMode} + onClose={() => { + setPreviewModalOpen(false); + setPreviewMode(''); + }} onCopy={copyConfigToClipboard} /> @@ -1343,6 +1349,70 @@ function FilterManager() {
+ +
+ {getConfigInfo()}