import React, { useState, useRef, useEffect } from 'react'; import { Camera, ChevronRight, X } from 'lucide-react'; interface VisionMenuProps { isOpen: boolean; onClose: () => void; } export const VisionMenu: React.FC = ({ isOpen, onClose }) => { const [activeSubmenu, setActiveSubmenu] = useState(null); const menuRef = useRef(null); useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if (menuRef.current && !menuRef.current.contains(event.target as Node)) { onClose(); } }; if (isOpen) { document.addEventListener('mousedown', handleClickOutside); } return () => { document.removeEventListener('mousedown', handleClickOutside); }; }, [isOpen, onClose]); if (!isOpen) return null; const handleQRCodeCamera = () => { console.log('[VisionMenu] Camera (QRCode) clicked'); // TODO: Implement QR Code camera functionality }; const handleKeyenceBarcode = () => { console.log('[VisionMenu] Barcode (Keyence) clicked'); // TODO: Implement Keyence barcode functionality }; return (
{/* Header */}

VISION

{/* Menu Items */}
{/* Camera (QRCode) */}
{/* QRCode Submenu */} {activeSubmenu === 'qrcode' && (
setActiveSubmenu(null)} >
)}
{/* Barcode (Keyence) */}
{/* Keyence Submenu */} {activeSubmenu === 'keyence' && (
setActiveSubmenu(null)} >
)}
); };