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 (