fix(traffic): сохранять историю и показывать достоверную свежесть
This commit is contained in:
1 parent
ebe62ae2ef
commit
1275dd7b9b
48 files changed
+1899
-187
No files matched your search
@@ -1,14 +1,14 @@
|
||||
import { Fragment } from "react"
|
||||
|
||||
/** Compact RX/TX history shared by traffic cards. Gaps remain gaps. */
|
||||
export function TrafficMiniChart({ rx, tx, height = 44 }: { rx: number[]; tx: number[]; height?: number }) {
|
||||
const valid = (value: number) => Number.isFinite(value) && value >= 0
|
||||
export function TrafficMiniChart({ rx, tx, height = 44 }: { rx: (number|null)[]; tx: (number|null)[]; height?: number }) {
|
||||
const valid = (value: number|null): value is number => value !== null && Number.isFinite(value) && value >= 0
|
||||
const values = [...rx, ...tx].filter(valid)
|
||||
if (!values.length) return <p className="text-xs text-muted-foreground">Нет истории трафика</p>
|
||||
const width = 300
|
||||
const count = Math.max(rx.length, tx.length)
|
||||
const max = Math.max(...values, 1) * 1.1
|
||||
const segments = (series: number[]) => {
|
||||
const segments = (series: (number|null)[]) => {
|
||||
const result: Array<Array<{ x: number; y: number }>> = []
|
||||
let current: Array<{ x: number; y: number }> = []
|
||||
series.forEach((value, index) => {
|
||||
|
||||
Reference in new issue
Block a user