// Header navigation component — mobile-ready function Header({ page, setPage, cartCount, session, onLogout, lang, setLang }) { const [menuOpen, setMenuOpen] = React.useState(false); const [scrolled, setScrolled] = React.useState(false); React.useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 40); window.addEventListener('scroll', onScroll); return () => window.removeEventListener('scroll', onScroll); }, []); // Close menu on page change React.useEffect(() => { setMenuOpen(false); }, [page]); const t = lang === 'pt' ? { home: 'Início', shop: 'Loja', about: 'Sobre Nós', contact: 'Contacto', cart: 'Carrinho', login: 'Entrar', logout: 'Sair', account: 'A minha conta', admin: 'Admin' } : { home: 'Home', shop: 'Shop', about: 'About', contact: 'Contact', cart: 'Cart', login: 'Sign In', logout: 'Sign Out', account: 'My Account', admin: 'Admin' }; const navItems = [ { key: 'home', label: t.home }, { key: 'shop', label: t.shop }, { key: 'about', label: t.about }, { key: 'contact', label: t.contact }, ]; const nav = (key) => { setPage(key); setMenuOpen(false); }; return ( <>
{/* Logo */}
nav('home')}>
Dom Papança
Iguarias com Alma
{/* Desktop nav */} {/* Right actions */}
{/* Language */} {/* Cart */} {/* Desktop account — hidden on mobile via inline media */}
{session ? ( <> {session.role === 'admin' && ( )} ) : ( )}
{/* Hamburger */}
{/* Mobile menu overlay */}
{navItems.map(item => ( ))}
{session ? ( <> {session.role === 'admin' && } ) : ( )}
); } Object.assign(window, { Header });