diff --git a/apps/ui/src/components/MeasurementDashboard.tsx b/apps/ui/src/components/MeasurementDashboard.tsx index b5bd634b..416bc78f 100644 --- a/apps/ui/src/components/MeasurementDashboard.tsx +++ b/apps/ui/src/components/MeasurementDashboard.tsx @@ -33,7 +33,7 @@ import { StyledDataTable, TokenBadgeList, } from './MeasurementPrimitives'; -import { DeviceRack, MetricTile } from './ui'; +import { DeviceRack, EmptyState, MetricTile } from './ui'; import { Sparkline } from './Sparkline'; import { SpectralCursorProvider } from '../hooks/useSpectralCursorBus'; import { formatDisplayText, getTextRoleClassName } from '../utils/displayText'; @@ -202,20 +202,25 @@ function UnavailableMeasurementCard({ description: string; detail?: string; }) { + // Delegates to the EmptyState primitive — preserves the (title, + // description, detail) API that the dashboard's two call sites at + // :1805 and :1858 depend on, while folding the visual chrome into + // the canonical primitive. The optional `detail` line renders as a + // children slot since EmptyState's prop surface stops at description. return ( -
- {description} -
+{detail}
) : null} -