// import { useState, useEffect } from 'react' // import { Link } from 'react-router-dom' // import logo from '../assets/images/logo200x50.png' // import { ScrollRestoration } from 'react-router-dom'; // export default function Header() { // const [isScrolled, setIsScrolled] = useState(false) // useEffect(() => { // const handleScroll = () => { // const isFullScreenPassed = window.scrollY > window.innerHeight // setIsScrolled(isFullScreenPassed) // } // window.addEventListener('scroll', handleScroll) // return () => window.removeEventListener('scroll', handleScroll) // }, []) // return ( // // // // // // // // // // // Тарифный план // // // Обратная связь // // // // // // ) // } // import { useState, useEffect } from 'react'; // import { Link } from 'react-router-dom'; // import logo from '../assets/images/logo200x50.png'; // import translations from '../translations.json'; // import { useLanguage } from '../contexts/LanguageContext'; // import { CustomLink } from './CustomLink'; // export default function Header() { // const [isScrolled, setIsScrolled] = useState(false); // const { language, toggleLanguage } = useLanguage(); // const t = translations.header[language]; // useEffect(() => { // const handleScroll = () => { // const isFullScreenPassed = window.scrollY > window.innerHeight; // setIsScrolled(isFullScreenPassed); // }; // window.addEventListener('scroll', handleScroll); // return () => window.removeEventListener('scroll', handleScroll); // }, []); // return ( // // // // // // // // // // // {t.pricing} // // // {t.feedback} // // // {t.langButton} // // // // // // ); // } // import { useState, useEffect } from 'react'; // import logo from '../assets/images/logo200x50.png'; // import translations from '../translations.json'; // import { useLanguage } from '../contexts/LanguageContext'; // import { CustomLink } from './CustomLink'; // import LanguageSwitcher from './LanguageSwitcher'; // import { ScrollLink } from './ScrollLink'; // export default function Header() { // const [isScrolled, setIsScrolled] = useState(false); // const { language } = useLanguage(); // const t = translations.header[language]; // useEffect(() => { // const handleScroll = () => { // const isFullScreenPassed = window.scrollY > window.innerHeight; // setIsScrolled(isFullScreenPassed); // }; // window.addEventListener('scroll', handleScroll); // return () => window.removeEventListener('scroll', handleScroll); // }, []); // return ( // // // // // // // // // // // {t.pricing} // // // {t.feedback} // // // // // // // ); // } import { useState, useEffect } from 'react'; import { useLocation } from 'react-router-dom'; import { Menu, X } from 'lucide-react'; import logo from '../assets/images/logo200x50.png'; import translations from '../translations.json'; import { useLanguage } from '../contexts/LanguageContext'; import { CustomLink } from './CustomLink'; import LanguageSwitcher from './LanguageSwitcher'; import { ScrollLink } from './ScrollLink'; export default function Header() { const [isScrolled, setIsScrolled] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const { language } = useLanguage(); const t = translations.header[language]; const location = useLocation(); useEffect(() => { const handleScroll = () => { const isFullScreenPassed = window.scrollY > window.innerHeight; setIsScrolled(isFullScreenPassed); }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, []); // Закрываем мобильное меню при смене маршрута useEffect(() => { setIsMobileMenuOpen(false); }, [location]); const headerBg = isScrolled ? 'bg-white bg-opacity-90 backdrop-blur-md' : 'bg-transparent backdrop-blur-md bg-opacity-30'; const textColor = isScrolled ? 'text-gray-800 hover:text-gray-600' : 'text-white hover:text-gray-200'; return ( {/* Логотип */} {/* Десктопная навигация */} {t.pricing} {t.feedback} {/* Кнопка мобильного меню */} setIsMobileMenuOpen(!isMobileMenuOpen)} > {isMobileMenuOpen ? ( ) : ( )} {/* Мобильное меню */} {isMobileMenuOpen && ( {t.pricing} {t.feedback} )} ); }