const { useState, useEffect } = React; function WebsiteNav({ showLinks = true } = {}) { const [scrolled, setScrolled] = useState(false); const [menuOpen, setMenuOpen] = useState(false); const { isMobile } = useViewport(); useEffect(() => { const fn = () => setScrolled(window.scrollY > window.innerHeight * 0.8); window.addEventListener('scroll', fn, { passive: true }); fn(); return () => window.removeEventListener('scroll', fn); }, []); // lock page scroll while the overlay menu is open useEffect(() => { document.body.style.overflow = menuOpen ? 'hidden' : ''; return () => { document.body.style.overflow = ''; }; }, [menuOpen]); // close menu if we grow back to desktop useEffect(() => { if (!isMobile) setMenuOpen(false); }, [isMobile]); const links = [['#portfolio', 'trabalhos'], ['#servicos', 'serviços'], ['#sobre', 'sobre'], ['#contato', 'contato']]; if (isMobile) { if (!showLinks) { return ( ); } const bar = (rot, ty) => ({ width: 22, height: 2, borderRadius: 2, background: menuOpen ? '#1D1D1B' : '#fff', transition: 'transform .35s cubic-bezier(.76,0,.24,1), background .2s', transform: menuOpen ? 'translateY(' + ty + 'px) rotate(' + rot + 'deg)' : 'none', }); return ( {/* Hamburger — always reachable on mobile; mix-blend so it reads on dark hero & light sections */} {/* Full-screen overlay menu */}
{links.map(([href, label]) => ( setMenuOpen(false)} style={{ fontFamily: 'HelveticaCompressed, "Arial Narrow", Arial, sans-serif', fontWeight: 700, fontSize: 'clamp(42px, 14vw, 76px)', textTransform: 'uppercase', lineHeight: 1.05, color: '#E3DDD8', textDecoration: 'none', letterSpacing: '-.01em', }}>{label} ))}
lucasqueiroz@gmail.com +55 11 97551 4667
); } return ( ); } Object.assign(window, { WebsiteNav });