// ── NAVIGATION ────────────────────────────────────────────────── function Nav({ activeSection, mode = 'home' }) { const [scrolled, setScrolled] = useState(false); const [menuOpen, setMenuOpen] = useState(false); const [scrollDir, setScrollDir] = useState('up'); const [isMobile, setIsMobile] = useState(false); useEffect(() => { const handleResize = () => setIsMobile(window.innerWidth <= 768); handleResize(); // Init window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); useEffect(() => { let lastScrollY = window.scrollY; const onScroll = () => { const currentScrollY = window.scrollY; setScrolled(currentScrollY > 60); if (currentScrollY > lastScrollY && currentScrollY > 80) { setScrollDir('down'); } else if (currentScrollY < lastScrollY) { setScrollDir('up'); } lastScrollY = currentScrollY; }; window.addEventListener('scroll', onScroll, { passive: true }); onScroll(); return () => window.removeEventListener('scroll', onScroll); }, []); const links = [ { id: 'koleksiyonlar', label: 'Koleksiyonlar' }, { id: 'hakkimizda', label: 'Hakkımızda' }, { id: 'iletisim', label: 'İletişim' }, ]; const hrefFor = (id) => mode === 'home' ? `#${id}` : `/#${id}`; const ctaHref = mode === 'home' ? '#iletisim' : '/#iletisim'; const logoClick = () => { if (mode === 'home') window.scrollTo({top:0, behavior:'smooth'}); else window.location.href = '/'; }; const forceSolid = mode === 'product' || menuOpen; const isSolid = scrolled || forceSolid; const navStyle = { position: 'fixed', top: 0, left: 0, right: 0, zIndex: 1000, width: '100%', padding: isSolid ? '12px clamp(20px, 5vw, 60px)' : '20px clamp(20px, 5vw, 60px)', display: 'flex', alignItems: 'center', justifyContent: 'space-between', background: isSolid ? 'rgba(26,25,24,0.97)' : 'transparent', borderBottom: isSolid ? '1px solid rgba(201,168,76,0.15)' : '1px solid transparent', transition: 'transform 0.4s ease, background 0.5s ease, padding 0.5s ease', transform: (scrollDir === 'down' && !menuOpen && scrolled && !isMobile) ? 'translateY(-100%)' : 'translateY(0)', backdropFilter: isSolid ? 'blur(12px)' : 'none', }; return ( ); } // ── FOOTER ────────────────────────────────────────────────────── function Footer() { return ( ); } Object.assign(window, { Nav, Footer });