"use client"; import React, { useRef } from 'react'; import { useVisualization } from '../hooks/use-visualization'; import { VisualizationSummaryCards } from './visualization-summary-cards'; import { VisualizationToolbar } from './visualization-toolbar'; import { SatelliteViewer, SatelliteViewerRef } from './satellite-viewer'; import { PixelInspector } from './pixel-inspector'; import { FrameInfoPanel } from './frame-info-panel'; import { VisualizationEmptyState } from './visualization-empty-state'; import { Skeleton } from '@/components/ui/skeleton'; import { motion } from 'framer-motion'; interface VisualizationDashboardProps { fileId?: string | null; } export function VisualizationDashboard({ fileId }: VisualizationDashboardProps) { const { state, data, colorMap, setColorMap, isFullscreen, toggleFullscreen, pixelData, handleHover, handleUnhover } = useVisualization(fileId); const viewerRef = useRef(null); const handleResetView = () => { if (viewerRef.current) { viewerRef.current.resetView(); } }; if (state === 'loading') { return (
{[...Array(4)].map((_, i) => )}
); } if (state === 'error') { return ; } if (state === 'empty' || !data) { return ; } return ( {!isFullscreen && }
{!isFullscreen && ( <> {/* We remove FrameHistogram or update it later if it doesn't support the new data shape. Let's just remove it for now as it's not in the requirements */} )}
); }