import { useState } from 'react'; import type { Contact, RawPacket, RadioConfig } from '../types'; import { PacketVisualizer3D } from './PacketVisualizer3D'; import { RawPacketList } from './RawPacketList'; import { Tabs, TabsContent, TabsList, TabsTrigger } from './ui/tabs'; import { cn } from '@/lib/utils'; interface VisualizerViewProps { packets: RawPacket[]; contacts: Contact[]; config: RadioConfig | null; onClearPackets?: () => void; } export function VisualizerView({ packets, contacts, config, onClearPackets }: VisualizerViewProps) { const [fullScreen, setFullScreen] = useState(false); return (
{/* Header */}
Mesh Visualizer
{/* Mobile: Tabbed interface */}
Visualizer Packet Feed
{/* Desktop: Split screen (or full screen if toggled) */}
{/* Visualizer panel */}
{/* Packet feed panel - hidden when full screen */}
Packet Feed
); }