fix(ui): улучшить мобильную сводку и детали BGP

This commit is contained in:
Denozordec committed 2026-09-30 17:23:18 +07:00
1 parent aa678b9d5d
commit 72a63b4a4f
13 files changed
+76 -15

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@ import type { BgpSessionRow } from "@/lib/bgp/types"
import { fmtBgpNum } from "@/lib/bgp/helpers"
function BgpSessionDetail({ session }: { session: BgpSessionRow }) {
return <div className="px-4 pb-4 pt-2 bg-muted/20 border-t border-border/60">
return <div className="sticky left-0 w-[calc(100vw-2rem)] max-w-full md:static md:w-auto px-4 pb-4 pt-2 bg-muted/20 border-t border-border/60">
{session.state === "Unknown" && <p role="status" className="mb-3 text-xs text-muted-foreground">Состояние сессии неизвестно. Значения относятся к последнему полученному снимку.</p>}
<div className="grid grid-cols-2 lg:grid-cols-4 gap-4 mb-4">
{[
@@ -14,6 +14,7 @@ import {
DATA_GRID_CELL_PAD_FIRST,
} from "@/components/data-grids/shared/data-grid-layout"
import { DataGridSortHeader } from "@/components/data-grids/shared/data-grid-sort-header"
import { Button } from "@/components/ui/button"
import { EmptyState } from "@/components/empty-state"
import { BgpSessionDetail } from "@/components/data-grids/bgp-session-detail"
import type { BgpSessionRow, BgpState, BgpType } from "@/lib/bgp/types"
@@ -120,11 +121,10 @@ function BgpSessionsDataGrid({ sessions, emptyTitle, selectedSessionId, onSelect
const expanded = row.getIsExpanded()
return (
<div className="flex items-center gap-2">
{expanded ? (
<ChevronDownIcon className="size-3.5 shrink-0 text-muted-foreground" />
) : (
<ChevronRightIcon className="size-3.5 shrink-0 text-muted-foreground/40" />
)}
<Button variant="ghost" size="icon-xs" aria-label={(expanded ? "Закрыть" : "Открыть") + " сессию " + row.original.serverLabel + " · " + row.original.peerIp} aria-expanded={expanded}
onClick={event => { event.stopPropagation(); if (onSelectSession) onSelectSession(expanded ? null : row.id); else row.toggleExpanded() }}>
{expanded ? <ChevronDownIcon className="size-3.5" /> : <ChevronRightIcon className="size-3.5" />}
</Button>
<span className="font-mono whitespace-nowrap">{row.original.serverLabel}</span>
</div>
)
@@ -261,7 +261,7 @@ function BgpSessionsDataGrid({ sessions, emptyTitle, selectedSessionId, onSelect
},
},
],
[],
[onSelectSession],
)
const table = useTable({