fix(ui): сделать сетевые показатели и настройки читаемыми в обеих темах
This commit is contained in:
1 parent
3c9096804b
commit
3d51bba86d
21 files changed
+5148
-31
No files matched your search
@@ -456,7 +456,6 @@ function AnalyticsTab({ sessions }: { sessions: BgpSession[] }) {
|
||||
return (
|
||||
<div className="flex flex-col gap-5">
|
||||
<KpiStatGrid
|
||||
gridClassName="grid-cols-2 @3xl:grid-cols-2 @6xl:grid-cols-4"
|
||||
aria-label="Сводка префиксов BGP"
|
||||
items={[
|
||||
{
|
||||
@@ -812,7 +811,6 @@ function BgpPageContent({ selectedServerId, selectedSessionId, activeTab, onSele
|
||||
)}
|
||||
|
||||
<KpiStatGrid
|
||||
gridClassName="grid-cols-2 @3xl:grid-cols-2 @6xl:grid-cols-4"
|
||||
aria-label="Сводка BGP"
|
||||
items={[
|
||||
{
|
||||
|
||||
@@ -617,7 +617,6 @@ function GrePageContent({ selectedServerId, selectedTunnelId, allTunnelsHref, on
|
||||
|
||||
<KpiStatGrid
|
||||
aria-label="Сводка GRE"
|
||||
gridClassName="grid-cols-2 @3xl:grid-cols-2 @6xl:grid-cols-4"
|
||||
items={[
|
||||
{
|
||||
id: "tunnels",
|
||||
|
||||
@@ -1062,7 +1062,6 @@ function BfdTab({ sessions, dataIncomplete, hasSearch }: { sessions: BfdSession[
|
||||
return (
|
||||
<div className="flex flex-col gap-4">
|
||||
<KpiStatGrid
|
||||
gridClassName="grid-cols-2 md:grid-cols-4"
|
||||
aria-label="Сводка BFD"
|
||||
items={[
|
||||
{
|
||||
@@ -1373,7 +1372,6 @@ function OspfPageContent({ search, selectedNodeId, onSearch, onSelectNode, filte
|
||||
)}
|
||||
|
||||
{(activeTab === "interfaces" || unavailable || isLive && !liveData) && <KpiStatGrid
|
||||
gridClassName="grid-cols-2 md:grid-cols-3"
|
||||
aria-label="Сводка OSPF"
|
||||
items={[
|
||||
{
|
||||
|
||||
@@ -12,6 +12,7 @@ import { RecursiveGatewayChoices, type GatewayOption } from "@/components/recurs
|
||||
import { FormField, SectionTitle } from "@/components/form-kit"
|
||||
import { DataPageCard } from "@/components/data-page-card"
|
||||
import { Frame, FramePanel } from "@/components/reui/frame"
|
||||
import { Badge } from "@/components/reui/badge"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle } from "@/components/ui/sheet"
|
||||
@@ -330,15 +331,10 @@ function RouteSheet({
|
||||
|
||||
function TypeChip({ type }: { type: "jump-host" | "exit-node" | "home-router" }) {
|
||||
return (
|
||||
<span className={cn(
|
||||
"inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-bold border shrink-0",
|
||||
type === "home-router" ? "bg-success/10 text-success border-success/20" :
|
||||
type === "jump-host"
|
||||
? "bg-focus/10 text-focus border-focus/20"
|
||||
: "bg-info/10 text-info border-info/20",
|
||||
)}>
|
||||
<Badge size="xs" className="shrink-0 text-foreground"
|
||||
variant={type === "home-router" ? "success-light" : type === "jump-host" ? "primary-light" : "info-light"}>
|
||||
{type === "jump-host" ? "JH" : type === "home-router" ? "HR" : "EN"}
|
||||
</span>
|
||||
</Badge>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -949,7 +949,8 @@ function RouteOptimizerContent({requestedServer,onSelectServer}:{requestedServer
|
||||
contentClassName="px-5 py-4 flex flex-col gap-4"
|
||||
>
|
||||
|
||||
<div className={cn("flex flex-col gap-3 transition-opacity", !ecmpEnabled && "opacity-40 pointer-events-none")}>
|
||||
<fieldset disabled={!ecmpEnabled} className="flex min-w-0 flex-col gap-3">
|
||||
<legend className="sr-only">Параметры черновика ECMP</legend>
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<span className="text-xs text-muted-foreground">Макс. путей</span>
|
||||
<div className="flex items-center gap-2">
|
||||
@@ -966,7 +967,7 @@ function RouteOptimizerContent({requestedServer,onSelectServer}:{requestedServer
|
||||
{([["per-dst","По dst"],["per-conn","По conn"],["per-packet","По пакет"]] as const).map(([v, l]) => (
|
||||
<button type="button" disabled={!ecmpEnabled} aria-pressed={ecmpAlgo===v} key={v} onClick={() => setEcmpAlgo(v)}
|
||||
className={cn("flex-1 transition-colors cursor-pointer",
|
||||
ecmpAlgo === v ? "bg-focus text-primary-foreground" : "text-muted-foreground hover:bg-muted")}>
|
||||
ecmpAlgo === v ? "bg-muted text-foreground" : "text-muted-foreground hover:bg-muted")}>
|
||||
{l}
|
||||
</button>
|
||||
))}
|
||||
@@ -977,7 +978,7 @@ function RouteOptimizerContent({requestedServer,onSelectServer}:{requestedServer
|
||||
<InfoIcon aria-hidden="true" className="size-3 shrink-0 mt-0.5" />
|
||||
<span>Черновой сценарий ECMP для сравнения настроек.</span>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</OpsPanel>
|
||||
|
||||
{/* RPF Card */}
|
||||
|
||||
@@ -298,7 +298,6 @@ function VxlanPageContent({ selectedServerId, selectedTunnelId, allTunnelsHref,
|
||||
|
||||
<KpiStatGrid
|
||||
aria-label="Сводка VXLAN"
|
||||
gridClassName="grid-cols-2 @3xl:grid-cols-2 @6xl:grid-cols-4"
|
||||
items={[
|
||||
{
|
||||
id: "tunnels",
|
||||
|
||||
Reference in new issue
Block a user