'use client' import { useState, useRef, useEffect } from 'react' import { Language, LANGUAGES, isRTL } from '@/lib/i18n' interface LanguageSelectorProps { currentLanguage: Language onLanguageChange: (lang: Language) => void compact?: boolean } export default function LanguageSelector({ currentLanguage, onLanguageChange, compact = false, }: LanguageSelectorProps) { const [isOpen, setIsOpen] = useState(false) const dropdownRef = useRef(null) const currentLang = LANGUAGES.find((l) => l.code === currentLanguage) || LANGUAGES[0] // Close dropdown on outside click useEffect(() => { function handleClickOutside(event: MouseEvent) { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setIsOpen(false) } } document.addEventListener('mousedown', handleClickOutside) return () => document.removeEventListener('mousedown', handleClickOutside) }, []) return (
{isOpen && (
{LANGUAGES.map((lang) => ( ))}
)}
) }