20 lines
901 B
TypeScript
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>
|
|
)
|
|
}
|