import React, { useState } from 'react'; import { mergeClasses as cn } from '../../styles/designSystem'; import type { Language } from '../../types/i18n'; 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 ( ); })}
)}
); };