// Header / nav with language switcher const NAV = [ { id: "academy", label: { en: "Academy", fr: "Académie", it: "Accademia", es: "Academia" } }, { id: "project", label: { en: "The Project", fr: "Le Projet", it: "Il Progetto", es: "El Proyecto" } }, { id: "training", label: { en: "Training & Network", fr: "Formation & Réseau", it: "Formazione & Rete", es: "Formación & Red" } }, { id: "partnership", label: { en: "Partnership", fr: "Partenariat", it: "Partenariato", es: "Asociación" } }, { id: "contact", label: { en: "Contact", fr: "Contact", it: "Contatti", es: "Contacto" } }, ]; const LANGS = [ { code: "EN", name: "English" }, { code: "FR", name: "Français" }, { code: "IT", name: "Italiano" }, { code: "ES", name: "Español" }, ]; function Header({ scrolled, lang, setLang }) { const [langOpen, setLangOpen] = React.useState(false); const langRef = React.useRef(null); React.useEffect(() => { const onClick = (e) => { if (langRef.current && !langRef.current.contains(e.target)) setLangOpen(false); }; document.addEventListener("mousedown", onClick); return () => document.removeEventListener("mousedown", onClick); }, []); return ( {/* Logo */} VINIRRIG Learn irrigation practice {/* Nav */} {NAV.map((n) => ( e.currentTarget.style.opacity=1} onMouseLeave={(e)=>e.currentTarget.style.opacity=.9}> {n.label[lang.toLowerCase()] || n.label.en} ))} {/* Right: lang + CTA */} setLangOpen(o=>!o)} style={{ display: "inline-flex", alignItems: "center", gap: 8, padding: "8px 14px", borderRadius: 999, border: `1px solid ${scrolled ? "var(--line)" : "rgba(255,255,255,.4)"}`, color: scrolled ? "var(--navy)" : "#fff", fontSize: 13, fontWeight: 600, letterSpacing: "0.06em", fontFamily: '"Tomorrow", sans-serif', transition: "all 300ms ease", }}> {lang} {langOpen && ( {LANGS.map((l) => ( { setLang(l.code); setLangOpen(false); }} style={{ width: "100%", padding: "10px 12px", textAlign: "left", borderRadius: 10, fontSize: 13, fontFamily: '"Tomorrow", sans-serif', color: lang === l.code ? "#fff" : "var(--navy)", background: lang === l.code ? "var(--navy)" : "transparent", display: "flex", justifyContent: "space-between", alignItems: "center", gap: 12, }}> {l.name} {l.code} ))} )} Access course → ); } function Logomark({ color = "var(--navy)" }) { // Stylized droplet+grape mark inspired by brand logo return ( {/* grape cluster (white dots) */} {/* cursor arrow */} ); } function GlobeIcon() { return ( ); } function Caret({ open }) { return ; } window.Header = Header; window.Logomark = Logomark;