import { useShallow } from "zustand/react/shallow"; import { useMachineStore, usePatternUploaded } from "../stores/useMachineStore"; import { usePatternStore } from "../stores/usePatternStore"; import { ConnectionPrompt } from "./ConnectionPrompt"; import { FileUpload } from "./FileUpload"; import { PatternSummaryCard } from "./PatternSummaryCard"; import { ProgressMonitor } from "./ProgressMonitor"; export function LeftSidebar() { const { isConnected } = useMachineStore( useShallow((state) => ({ isConnected: state.isConnected, })), ); const { pesData, uploadedPesData } = usePatternStore( useShallow((state) => ({ pesData: state.pesData, uploadedPesData: state.uploadedPesData, })), ); // Derived state: pattern is uploaded if machine has pattern info const patternUploaded = usePatternUploaded(); const hasPattern = pesData || uploadedPesData; return (