Изменения в логике получения данных по датчикам из бэкенда, изменение тултипа сенсора для исправления получения данных на реальные
This commit is contained in:
@@ -56,8 +56,6 @@ export interface ModelViewerProps {
|
||||
onSensorPick?: (sensorId: string | null) => void
|
||||
highlightAllSensors?: boolean
|
||||
sensorStatusMap?: Record<string, string>
|
||||
showStats?: boolean
|
||||
onToggleStats?: () => void
|
||||
}
|
||||
|
||||
const ModelViewer: React.FC<ModelViewerProps> = ({
|
||||
@@ -923,49 +921,8 @@ const ModelViewer: React.FC<ModelViewerProps> = ({
|
||||
panActive={panActive}
|
||||
onToggleSensorHighlights={useNavigationStore.getState().toggleSensorHighlights}
|
||||
sensorHighlightsActive={useNavigationStore.getState().showSensorHighlights}
|
||||
onToggleStats={onToggleStats}
|
||||
statsActive={showStats}
|
||||
/>
|
||||
{/* Блок статистики датчиков */}
|
||||
{showStats && sensorStatusMap && (
|
||||
<div className="absolute top-24 left-8 z-[60] pointer-events-none">
|
||||
<div className="bg-[#161824] rounded-[15px] border border-white/10 shadow-[0_8px_32px_rgba(0,0,0,0.3)] py-3 px-4">
|
||||
<div className="flex flex-col gap-2 text-gray-300">
|
||||
{/* Всего датчиков */}
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<span className="text-xs">Всего:</span>
|
||||
<span className="text-sm font-semibold">{Object.keys(sensorStatusMap).length}</span>
|
||||
</div>
|
||||
|
||||
<div className="h-px bg-white/10"></div>
|
||||
|
||||
{/* Нормальный */}
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<span className="text-xs">Норма:</span>
|
||||
<span className="text-sm font-semibold">
|
||||
{Object.values(sensorStatusMap).filter(s => s === '#4ade80' || s.toLowerCase() === 'normal').length}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{/* Предупреждение */}
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<span className="text-xs">Предупр.:</span>
|
||||
<span className="text-sm font-semibold">
|
||||
{Object.values(sensorStatusMap).filter(s => s === '#fb923c' || s.toLowerCase() === 'warning').length}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{/* Критический */}
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<span className="text-xs">Критич.:</span>
|
||||
<span className="text-sm font-semibold">
|
||||
{Object.values(sensorStatusMap).filter(s => s === '#ef4444' || s.toLowerCase() === 'critical').length}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
</>
|
||||
)}
|
||||
{/* UPDATED: Interactive overlay circles with hover effects */}
|
||||
|
||||
Reference in New Issue
Block a user