import React, { useState } from 'react'; import type { Language } from '@/types/i18n'; // Fonction utilitaire simple pour combiner les classes const cn = (...classes: (string | undefined | null | false)[]): string => { return classes.filter(Boolean).join(' '); }; interface ModernLanguageSwitcherProps { currentLanguage: Language; onLanguageChange: (language: Language) => void; availableLanguages: Language[]; } export const ModernLanguageSwitcher: React.FC = ({ currentLanguage, onLanguageChange, availableLanguages }) => { const [isOpen, setIsOpen] = useState(false); const languageConfig: Record = { fr: { name: 'Français', flag: '🇫🇷', nativeName: 'FR' }, en: { name: 'English', flag: '🇬🇧', nativeName: 'EN' }, }; const currentConfig = languageConfig[currentLanguage]; return (
{/* Trigger Button */} {/* Dropdown Menu */} {isOpen && ( <> {/* Backdrop */}
setIsOpen(false)} /> {/* Menu */}
{availableLanguages.map((lang) => { const config = languageConfig[lang]; const isSelected = lang === currentLanguage; return ( ); })}
)}
); };