fix(ui): показывать подтверждённые метрики участков пути

This commit is contained in:
Denozordec committed 2026-10-04 00:18:21 +07:00
1 parent d4ae1c3127
commit c3a9c00aed
9 files changed
+78 -117

No files matched your search

+2 -2
View File
@@ -379,11 +379,11 @@ export function InternetPathMapCanvas({ model }: { model: InternetPathViewModel
{model && (
<div className="mt-3 grid grid-cols-1 md:grid-cols-2 gap-2 text-xs">
<div className={cn("rounded-md border p-2", model.pathState === "failover" ? "border-amber-500/40 bg-amber-500/5" : "border-emerald-500/40 bg-emerald-500/5")}>
<p className="font-medium">Primary path</p>
<p className="font-medium">Рекомендация оптимизатора</p>
<p className="text-muted-foreground mt-1">{model.primaryPath?.reason ?? "Не определен"}</p>
</div>
<div className={cn("rounded-md border p-2", model.pathState === "failover" ? "border-amber-500/40 bg-amber-500/5" : "border-emerald-500/40 bg-emerald-500/5")}>
<p className="font-medium">Current path</p>
<p className="font-medium">Наблюдаемый default route</p>
<p className="text-muted-foreground mt-1">{model.currentPath?.reason ?? "Не определен"}</p>
</div>
{model.directWan.enabled && (
@@ -14,7 +14,7 @@ import { ArrowRightIcon, HomeIcon, RadioIcon, ServerIcon, GlobeIcon } from "luci
function pathStateToServerStatus(state: InternetPathViewModel["pathState"]): ServerStatus {
if (state === "healthy") return "online"
if (state === "failover" || state === "degraded") return "degraded"
return "offline"
return "unknown"
}
function HopChip({
@@ -89,6 +89,7 @@ export function InternetPathSummary({ model }: { model: InternetPathViewModel |
) : null}
</div>
<p className="text-muted-foreground text-xs">JH/Exit — схема кандидатов. Default route подтверждает только WAN. Метрики — последние подтверждённые пробы участков.</p>
<div className="flex flex-col gap-2 @3xl:flex-row @3xl:items-center">
<HopChip
label="Home"
@@ -123,7 +124,7 @@ export function InternetPathSummary({ model }: { model: InternetPathViewModel |
</div>
<p className="text-muted-foreground text-xs leading-relaxed">
{model.currentPath?.reason ?? model.primaryPath?.reason ?? "Текущий путь не определён"}
{model.currentPath?.reason ?? "Текущий маршрут не подтверждён"}
</p>
</div>
)