const NAV_I18N = { EN: { items: [ { label: 'About', href: 'about.html' }, { label: 'Services', dropdown: true, href: 'services.html' }, { label: 'Case Studies', href: 'case-studies.html' }, { label: 'Insights', href: 'insights.html' }, { label: 'Contact Us', href: 'contact.html' }, ], services: [ { name: 'Managed IT Services', desc: 'Cloud, security & end-user support', href: 'services/managed-it.html' }, { name: 'Database Management', desc: 'SQL, Oracle, SAP HANA, PostgreSQL', href: 'services/database.html' }, { name: 'AI Solutions & Simulation', desc: 'GPU CFD, FEA, multiphysics', href: 'services/ai-simulation.html' }, { name: 'Medical Device Integration', desc: 'HL7, EMR/EHR, MIS/LIS', href: 'services/medical-devices.html' }, { name: 'ServiceNow', desc: 'Implementation, ITSM, AI workflows', href: 'services/servicenow.html' }, { name: 'Digital Services', desc: 'Web, SEO, social, content', href: 'services/digital.html' }, ], servicesEyebrow: 'Services', servicesTitle: 'Six practice areas, one accountable team.', allServices: 'All services', bookCall: 'Book a call', }, DE: { items: [ { label: 'Über uns', href: 'about.html' }, { label: 'Leistungen', dropdown: true, href: 'services.html' }, { label: 'Case Studies', href: 'case-studies.html' }, { label: 'Insights', href: 'insights.html' }, { label: 'Kontakt', href: 'contact.html' }, ], services: [ { name: 'Managed IT Services', desc: 'Cloud, Sicherheit & End-User-Support', href: 'services/managed-it.html' }, { name: 'Datenbankmanagement', desc: 'SQL, Oracle, SAP HANA, PostgreSQL', href: 'services/database.html' }, { name: 'KI-Lösungen & Simulation', desc: 'GPU CFD, FEA, Multiphysik', href: 'services/ai-simulation.html' }, { name: 'Integration Medizintechnik', desc: 'HL7, EMR/EHR, MIS/LIS', href: 'services/medical-devices.html' }, { name: 'ServiceNow', desc: 'Implementierung, ITSM, KI-Workflows', href: 'services/servicenow.html' }, { name: 'Digital Services', desc: 'Web, SEO, Social, Content', href: 'services/digital.html' }, ], servicesEyebrow: 'Leistungen', servicesTitle: 'Sechs Praxisfelder, ein verantwortliches Team.', allServices: 'Alle Leistungen', bookCall: 'Termin buchen', }, }; const SERVICES_MENU = NAV_I18N.EN.services; const NAV_ITEMS = NAV_I18N.EN.items; function Nav({ lang, setLang, base, current }) { const N = NAV_I18N[lang] || NAV_I18N.EN; const navItems = N.items; const servicesMenu = N.services; const [hovered, setHovered] = React.useState(null); const [open, setOpen] = React.useState(false); const [mobileOpen, setMobileOpen] = React.useState(false); const [mobileServicesOpen, setMobileServicesOpen] = React.useState(false); const closeT = React.useRef(null); const B = base || ''; const onEnter = (label) => { setHovered(label); if (closeT.current) clearTimeout(closeT.current); if (label === 'Services') setOpen(true); else setOpen(false); }; const onLeave = () => { setHovered(null); closeT.current = setTimeout(() => setOpen(false), 120); }; // Close mobile menu on resize to desktop React.useEffect(() => { const handler = () => { if (window.innerWidth > 1024) setMobileOpen(false); }; window.addEventListener('resize', handler); return () => window.removeEventListener('resize', handler); }, []); return ( ); } window.Nav = Nav; window.SERVICES_MENU = SERVICES_MENU;