import { X, Star, History, Settings, Info, Share2, ClipboardCheck, Phone, MessageSquare, BookOpen } from 'lucide-react'; import { Link } from 'react-router-dom'; interface MenuSheetProps { isOpen: boolean; onClose: () => void; } const MenuSheet = ({ isOpen, onClose }: MenuSheetProps) => { if (!isOpen) return null; const handleShare = async () => { const shareData = { title: 'EMERGES TES - Guía de Protocolos', text: 'Guía rápida de protocolos médicos de emergencias para Técnicos de Emergencias Sanitarias', url: window.location.origin, }; try { // Intentar usar Web Share API nativa (móviles) if (navigator.share) { await navigator.share(shareData); onClose(); } else { // Fallback: copiar URL al portapapeles await navigator.clipboard.writeText(shareData.url); alert('URL copiada al portapapeles'); onClose(); } } catch (error) { // Usuario canceló o error if ((error as Error).name !== 'AbortError') { console.error('Error al compartir:', error); // Fallback: copiar URL try { await navigator.clipboard.writeText(shareData.url); alert('URL copiada al portapapeles'); } catch (clipboardError) { console.error('Error al copiar:', clipboardError); } } } }; const menuItems = [ { icon: , label: 'Manual Completo', path: '/manual', onClick: onClose }, { icon: , label: 'Protocolos Transtelefónicos', path: '/telefono', onClick: onClose }, { icon: , label: 'Guiones de Comunicación', path: '/comunicacion', onClick: onClose }, { icon: , label: 'Checklists Material', path: '/material', onClick: onClose }, { icon: , label: 'Favoritos', onClick: () => {} }, { icon: , label: 'Historial', onClick: () => {} }, { icon: , label: 'Compartir App', onClick: handleShare }, { icon: , label: 'Ajustes', onClick: () => {} }, { icon: , label: 'Acerca de', onClick: () => {} }, ]; return ( <>

Menú

{menuItems.map((item, index) => { const content = ( <> {item.icon} {item.label} ); if (item.path) { return ( {content} ); } return ( ); })}

EMERGES TES v1.0.0

Guía de Protocolos para TES

); }; export default MenuSheet;