From 00101ff6b32e153ddfa905a120c6bf57b1795432 Mon Sep 17 00:00:00 2001 From: dv Date: Tue, 14 Apr 2026 10:44:45 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D0=BF=D0=B8=D0=BD?= =?UTF-8?q?=D0=B3=D0=B0=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/DeviceDetail.tsx | 3 +++ frontend/src/pages/ObjectDetail.tsx | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/DeviceDetail.tsx b/frontend/src/pages/DeviceDetail.tsx index 034a92d..0830bc3 100644 --- a/frontend/src/pages/DeviceDetail.tsx +++ b/frontend/src/pages/DeviceDetail.tsx @@ -25,6 +25,7 @@ import { Typography, message, } from 'antd' +import { useQueryClient } from '@tanstack/react-query' import dayjs from 'dayjs' import { useState } from 'react' import { useNavigate, useParams } from 'react-router-dom' @@ -386,6 +387,7 @@ export function DeviceDetailPage() { const { data: device, isLoading } = useDevice(objId, deviceId) const deleteDevice = useDeleteDevice(objId) + const qc = useQueryClient() const [editOpen, setEditOpen] = useState(false) const [activeTab, setActiveTab] = useState('info') const [liveStatus, setLiveStatus] = useState<{ status: string; ping_ms: number | null } | null>(null) @@ -394,6 +396,7 @@ export function DeviceDetailPage() { onDeviceStatus: (ev) => { if (ev.device_id === deviceId) { setLiveStatus({ status: ev.status, ping_ms: ev.ping_ms }) + qc.invalidateQueries({ queryKey: ['device', objId, deviceId] }) } }, }) diff --git a/frontend/src/pages/ObjectDetail.tsx b/frontend/src/pages/ObjectDetail.tsx index bf703ac..108c1fd 100644 --- a/frontend/src/pages/ObjectDetail.tsx +++ b/frontend/src/pages/ObjectDetail.tsx @@ -457,7 +457,7 @@ export function ObjectDetailPage({ defaultMode = 'inventory' }: { defaultMode?: ? : null - const showLastSeen = d.status !== 'online' && d.last_seen && d.last_ping_at !== d.last_seen + const showLastSeen = d.last_seen && d.last_ping_at !== d.last_seen return (