diff --git a/frontend/src/pages/DeviceDetail.tsx b/frontend/src/pages/DeviceDetail.tsx index 7159e53..9d1df2f 100644 --- a/frontend/src/pages/DeviceDetail.tsx +++ b/frontend/src/pages/DeviceDetail.tsx @@ -462,17 +462,26 @@ export function DeviceDetailPage() { - - {device.last_seen ? ( - + + {(device.last_ping_at ?? device.last_seen) ? ( + - {dayjs(device.last_seen).format('DD.MM.YYYY HH:mm:ss')} - {effectivePing !== null && {effectivePing}мс} + {dayjs(device.last_ping_at ?? device.last_seen).format('DD.MM.YYYY HH:mm:ss')} ) : '—'} + {device.last_seen && device.last_ping_at !== device.last_seen && ( + + + + + {dayjs(device.last_seen).format('DD.MM.YYYY HH:mm:ss')} + + + + )} {device.monitor_enabled ? Включён diff --git a/frontend/src/pages/ObjectDetail.tsx b/frontend/src/pages/ObjectDetail.tsx index ba7246f..bf703ac 100644 --- a/frontend/src/pages/ObjectDetail.tsx +++ b/frontend/src/pages/ObjectDetail.tsx @@ -457,20 +457,23 @@ export function ObjectDetailPage({ defaultMode = 'inventory' }: { defaultMode?: ? : null - const lastSeenHint = d.last_seen && d.last_ping_at && d.last_ping_at !== d.last_seen - ? `онлайн был: ${dayjs(d.last_seen).format('DD.MM.YYYY HH:mm')}` - : null - - const tooltipText = [elapsedAgo(pingTime), lastSeenHint].filter(Boolean).join(' · ') + const showLastSeen = d.status !== 'online' && d.last_seen && d.last_ping_at !== d.last_seen return ( - + {dot} - - - {dayjs(pingTime).format('DD.MM.YYYY HH:mm')} - - +
+ + + {dayjs(pingTime).format('DD.MM.YYYY HH:mm')} + + + {showLastSeen && ( +
+ онлайн: {dayjs(d.last_seen).format('DD.MM.YYYY HH:mm')} +
+ )} +
{pauseIcon}
)