'use client' import { useState, useEffect } from 'react' import { Link, usePathname, useRouter } from '@/i18n/routing' import { useTranslations, useLocale } from 'next-intl' import { Menu, X, Globe, PlusCircle, Heart } from 'lucide-react' export default function Navbar() { const t = useTranslations('nav') const activeLocale = useLocale() const pathname = usePathname() const router = useRouter() const [mobileMenuOpen, setMobileMenuOpen] = useState(false) const [langMenuOpen, setLangMenuOpen] = useState(false) const [favoritesCount, setFavoritesCount] = useState(0) useEffect(() => { const updateCount = () => { try { const stored = localStorage.getItem('savedListingIds') if (stored) { const ids = JSON.parse(stored) as string[] setFavoritesCount(ids.length) } else { setFavoritesCount(0) } } catch (e) { console.error('Error reading localStorage:', e) } } updateCount() window.addEventListener('favorites-updated', updateCount) window.addEventListener('storage', updateCount) return () => { window.removeEventListener('favorites-updated', updateCount) window.removeEventListener('storage', updateCount) } }, []) const languages = [ { code: 'tr', label: 'Türkçe' }, { code: 'en', label: 'English' }, { code: 'ru', label: 'Русский' } ] const navItems = [ { name: t('home'), href: '/' }, { name: t('restaurants'), href: '/restoranlar' }, { name: t('aparts'), href: '/apartlar' }, { name: t('businesses'), href: '/isletmeler' }, { name: t('collections'), href: '/seckiler' }, { name: t('blog'), href: '/blog' }, { name: t('about'), href: '/hakkinda' }, { name: t('contact'), href: '/iletisim' } ] const handleLanguageChange = (localeCode: string) => { setLangMenuOpen(false) router.replace(pathname, { locale: localeCode }) } return (
{/* Logo & Wordmark */}
ML

marmaris local

local knowledge

{/* Desktop Navigation */} {/* Action Items */}
{/* Saved items trigger */} {favoritesCount > 0 && ( {favoritesCount} )} {/* Language Selector */}
{langMenuOpen && ( <>
setLangMenuOpen(false)} />
{languages.map((lang) => ( ))}
)}
{/* Add Business Button */} {t('addBusiness')}
{/* Mobile menu button */}
{/* Mobile Saved trigger */} {favoritesCount > 0 && ( {favoritesCount} )} {/* Lang menu for mobile */}
{langMenuOpen && ( <>
setLangMenuOpen(false)} />
{languages.map((lang) => ( ))}
)}
{/* Mobile Menu */} {mobileMenuOpen && (
setMobileMenuOpen(false)} className="w-full flex items-center justify-center gap-2 bg-turquoise hover:bg-turquoise/90 text-paper font-medium py-3 rounded-lg text-sm transition" > {t('addBusiness')}
)}
) }