// Fixed header — one-page landing: anchor links to sections + PL/EN switch. function Nav({ onQuote, onLegal }) { const { Icon } = window.ArmaekDesignSystem_06a5c5; const { lang, setLang } = window.ArmaekI18n.useLang(); const t = window.ArmaekI18n.STR[lang]; const [scrolled, setScrolled] = React.useState(false); const [mobOpen, setMobOpen] = React.useState(false); // Order follows the page: services, portfolio, process, why us, contact. const links = [ ['#domov', t.nav.home], ['#sluzby-detail', t.nav.services], ['#portfolio', t.nav.portfolio], ['#proces', t.nav.process], ['#preco', t.nav.about], ['#kontakt', t.nav.contact], ]; React.useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 24); onScroll(); window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, []); React.useEffect(() => { document.body.style.overflow = mobOpen ? 'hidden' : ''; return () => { document.body.style.overflow = ''; }; }, [mobOpen]); const linkStyle = { fontFamily: 'var(--font-display)', fontSize: 'var(--text-sm)', textTransform: 'uppercase', letterSpacing: 'var(--tracking-wide)', color: 'var(--text-muted)', transition: 'color var(--dur-fast)', cursor: 'pointer', whiteSpace: 'nowrap', }; const LangSwitch = () => (
{['pl', 'en'].map((l) => ( ))}
); return (
Armaek
{/* Mobile: language switch + hamburger */}
{/* Portal: header's backdrop-filter would otherwise trap position:fixed */} {mobOpen && ReactDOM.createPortal(
, document.body )}
); } window.Nav = Nav;