Files

20 lines
901 B
TypeScript

/** Receipt time is not the timestamp of a network measurement. */
export function TrafficDataTime({ label, receivedAt, source, serverAt, serverTimeLabel = "метка сервера" }: {
label: string
receivedAt?: number | null
source: "API" | "live-поток"
serverAt?: string
serverTimeLabel?: string
}) {
if (receivedAt == null || !Number.isFinite(receivedAt)) return null
const date = new Date(receivedAt)
return (
<p aria-label={label} className="text-xs text-muted-foreground mb-3 break-words">
Получено ({source}): <time dateTime={date.toISOString()}>{date.toLocaleString("ru-RU")}</time>
{serverAt && Number.isFinite(Date.parse(serverAt))
? <> · {serverTimeLabel}: <time dateTime={serverAt}>{new Date(serverAt).toLocaleString("ru-RU")}</time></>
: " · время измерения не предоставлено"}
</p>
)
}