'use client'; import React, { useState, useEffect, useTransition } from 'react'; import { Menu, X, Globe } from 'lucide-react'; import { useTranslations, useLocale } from 'next-intl'; import { usePathname, useRouter } from '@/i18n/routing'; const Navbar: React.FC = () => { const t = useTranslations('Navbar'); const locale = useLocale(); const router = useRouter(); const pathname = usePathname(); const [isPending, startTransition] = useTransition(); const [isScrolled, setIsScrolled] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isLangMenuOpen, setIsLangMenuOpen] = useState(false); const navItems = [ { label: t('home'), href: '#hero' }, { label: t('about'), href: '#about' }, { label: t('services'), href: '#services' }, { label: t('contact'), href: '#contact' }, ]; const onSelectChange = (nextLocale: string) => { startTransition(() => { router.replace(pathname, {locale: nextLocale}); }); setIsLangMenuOpen(false); }; useEffect(() => { const handleScroll = () => { setIsScrolled(window.scrollY > 50); }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, []); useEffect(() => { const handleResize = () => { if (window.innerWidth >= 768) { setIsMobileMenuOpen(false); } }; window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); return ( ); }; export default Navbar;