From 54ef752a5bd1b77c09d308c2f401ae11cbe56626 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Wed, 30 Sep 2026 22:08:22 +0700 Subject: [PATCH] =?UTF-8?q?fix(api):=20=D1=81=D0=BE=D1=85=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D1=8F=D1=82=D1=8C=20=D0=B4=D0=BE=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BD=D1=8B=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D1=8B=20=D1=80=D0=B5=D0=BA=D1=83=D1=80=D1=81?= =?UTF-8?q?=D0=B8=D0=B2=D0=BD=D1=8B=D1=85=20=D0=BC=D0=B0=D1=80=D1=88=D1=80?= =?UTF-8?q?=D1=83=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(main)/recursive-routes/page.tsx | 21 +++++---- backend/package.json | 2 +- backend/src/routes/recursive-routes.test.ts | 18 ++++++++ backend/src/routes/recursive-routes.ts | 33 +++++++++++++ .../services/recursive-route-catalog.test.ts | 20 ++++++++ .../src/services/recursive-route-catalog.ts | 46 +++++++++++++++++++ .../data-grids/recursive-routes-data-grid.tsx | 13 +++--- docs/ux-ui-progress.md | 10 +++- docs/ux-ui-stage-10.md | 4 ++ lib/recursive-route-response.ts | 2 +- tests/e2e/config-history.spec.ts | 8 ++-- tests/e2e/page-header.spec.ts | 4 +- tests/e2e/recursive-routes-context.spec.ts | 10 ++-- tests/e2e/recursive-routes-data.spec.ts | 22 ++++----- tests/e2e/recursive-routes-links.spec.ts | 4 +- tests/e2e/recursive-routes-table.spec.ts | 4 +- tests/e2e/recursive-routes-values.spec.ts | 22 +++++++++ 17 files changed, 198 insertions(+), 45 deletions(-) create mode 100644 backend/src/services/recursive-route-catalog.test.ts create mode 100644 backend/src/services/recursive-route-catalog.ts create mode 100644 tests/e2e/recursive-routes-values.spec.ts diff --git a/app/(main)/recursive-routes/page.tsx b/app/(main)/recursive-routes/page.tsx index db40873e..7e757ae4 100644 --- a/app/(main)/recursive-routes/page.tsx +++ b/app/(main)/recursive-routes/page.tsx @@ -7,7 +7,6 @@ import { PageHeader } from "@/components/page-header" import { RecursiveRoutesDataGrid, type RecursiveRouteGroup, - inferCountry, } from "@/components/data-grids/recursive-routes-data-grid" import { FormField, SectionTitle } from "@/components/form-kit" import { DataPageCard } from "@/components/data-page-card" @@ -47,7 +46,7 @@ interface GatewayOption { id: string name: string ip: string - status: "up" | "down" + status: "active" | "inactive" | "unknown" } const COUNTRY_OPTIONS = [ @@ -100,6 +99,7 @@ interface RouteForm { interface RouteEndpointForm { id: string + disabled: boolean gateway: string distance: number scope: number | null @@ -110,6 +110,7 @@ interface RouteEndpointForm { const newEndpoint = (): RouteEndpointForm => ({ id: `ep-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`, + disabled: false, gateway: "", distance: 1, scope: null, @@ -241,7 +242,7 @@ function RouteSheet({
- Endpoint {idx + 1} + Endpoint {idx + 1}{ep.disabled ? " · отключён" : ""}