diff --git a/frontend/src/pages/ObjectDetail.tsx b/frontend/src/pages/ObjectDetail.tsx
index 94c580c..47e9d01 100644
--- a/frontend/src/pages/ObjectDetail.tsx
+++ b/frontend/src/pages/ObjectDetail.tsx
@@ -434,13 +434,10 @@ export function ObjectDetailPage({ defaultMode = 'inventory' }: { defaultMode?:
if (row._type === 'group') return null
const d = row as DeviceRow
- // Мониторинг выключен и история отсутствует
- if (!d.monitor_enabled && !d.last_ping_at) {
- return выключен
- }
-
- // Мониторинг включён, но ни разу не пинговалось
- if (d.monitor_enabled && !d.last_ping_at) {
+ // Нет никаких данных о пинге
+ const pingTime = d.last_ping_at ?? d.last_seen
+ if (!pingTime) {
+ if (!d.monitor_enabled) return выключен
return ожидание...
}
@@ -448,30 +445,35 @@ export function ObjectDetailPage({ defaultMode = 'inventory' }: { defaultMode?:
? ⏸
: null
- // Устройство online — last_ping_at ≈ last_seen
+ // Устройство online
if (d.status === 'online') {
return (
-
-
- {dayjs(d.last_ping_at).format('DD.MM.YYYY HH:mm')}
-
+
+
+
+ {dayjs(pingTime).format('DD.MM.YYYY HH:mm')}
+
+
{pauseIcon}
-
+
)
}
- // Устройство offline или unknown — показываем время попытки, в tooltip — когда был онлайн
- const lastSeenHint = d.last_seen
+ // Устройство offline или unknown
+ // pingTime = последняя попытка (last_ping_at) или последний онлайн (last_seen как fallback)
+ 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
return (
-
-
- {dayjs(d.last_ping_at).format('DD.MM.YYYY HH:mm')}
-
+
+
+
+ {dayjs(pingTime).format('DD.MM.YYYY HH:mm')}
+
+
{pauseIcon}
-
+
)
},
},