diff --git a/backend/lib/mikrotik-validator.js b/backend/lib/mikrotik-validator.js index 6a99f1f..47728ed 100644 --- a/backend/lib/mikrotik-validator.js +++ b/backend/lib/mikrotik-validator.js @@ -39,8 +39,11 @@ function validateMikrotikConfig(config) { inBlock = true; blockName = line.match(/^\/\w+(\s+\w+)*/)?.[0] || ''; currentBlockLine = lineNum; - braceBalance++; - continue; + // Считаем скобки только один раз для этой строки (чтобы не дублировать подсчёт ниже) + const openBraces = (line.match(/\{/g) || []).length; + const closeBraces = (line.match(/\}/g) || []).length; + braceBalance += openBraces - closeBraces; + continue; } // Подсчет фигурных скобок diff --git a/frontend/src/AutoUrlManager.jsx b/frontend/src/AutoUrlManager.jsx index 630d371..28be3c0 100644 --- a/frontend/src/AutoUrlManager.jsx +++ b/frontend/src/AutoUrlManager.jsx @@ -385,69 +385,53 @@ function AutoUrlManager() { {!loading && urls.length > 0 && (
-
-
-
-
- - - -
-
-
{stats.total}
-
Всего URL
-
+
+
+ + + +
+
{stats.total}
+
Всего URL
-
-
-
-
- - - -
-
-
{stats.valid}
-
Валидных
-
+
+
+ + + +
+
{stats.valid}
+
Валидных
-
-
-
-
- - - -
-
-
{stats.invalid}
-
Невалидных
-
+
+
+ + + +
+
{stats.invalid}
+
Невалидных
-
-
-
-
- - - -
-
-
{filteredAndSortedUrls.length}
-
Отображается
-
+
+
+ + + +
+
{filteredAndSortedUrls.length}
+
Отображается
@@ -465,8 +449,8 @@ function AutoUrlManager() {
-
- +
+ {searchTerm && (
-
+