import React, { useState, useEffect } from 'react'; import { useNavigate, useLocation } from 'react-router-dom'; import { motion } from 'framer-motion'; import Modal from './Modal'; import './Header.css'; const navItems = [ { name: 'Home', link: '/' }, { name: 'About Us', link: '/about' }, { name: 'Services', link: '/services' }, { name: 'Pricing', link: '/pricing' }, { name: 'Blog', link: '/blog' }, { name: 'Contacts', link: '#contact' }, ]; const Header: React.FC = () => { const [activeTab, setActiveTab] = useState('Home'); const [hoveredTab, setHoveredTab] = useState(null); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isLangOpen, setIsLangOpen] = useState(false); const [isLoginOpen, setIsLoginOpen] = useState(false); const [currentLang, setCurrentLang] = useState('Eng'); const [isScrolled, setIsScrolled] = useState(false); const navigate = useNavigate(); const location = useLocation(); useEffect(() => { const onScroll = () => { setIsScrolled(window.scrollY > 50); if (isMobileMenuOpen) setIsMobileMenuOpen(false); }; window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, [isMobileMenuOpen]); // Close mobile menu on route change useEffect(() => { setIsMobileMenuOpen(false); }, [location.pathname]); const handleLangSelect = (lang: string) => { setCurrentLang(lang); setIsLangOpen(false); }; const handleNavClick = (e: React.MouseEvent, item: typeof navItems[0]) => { if (item.link.startsWith('/')) { e.preventDefault(); navigate(item.link); setIsMobileMenuOpen(false); return; } // Hash links - if not on homepage, navigate there first if (location.pathname !== '/') { e.preventDefault(); navigate('/' + item.link); setIsMobileMenuOpen(false); return; } // On homepage, let the default anchor behavior work setIsMobileMenuOpen(false); }; return ( <>
{ e.preventDefault(); navigate('/'); }}> AIMPRESS Logo
setIsLangOpen(!isLangOpen)} > Language {currentLang}
{isLangOpen && (
handleLangSelect('Eng')} > Eng
handleLangSelect('Ukr')} > Ukr
)}
{/* Mobile Menu Overlay */} {isMobileMenuOpen && ( )}
{/* Login Modal */} setIsLoginOpen(false)}>

Welcome Back

e.preventDefault()}>

Don't have an account? Sign up

); }; export default Header;