import { useState, useRef, useCallback } from 'react'; import { useI18n, type Locale } from '../lib/i18n'; import { useClickOutside } from '../hooks/useClickOutside'; const languages: { locale: Locale; flag: string; label: string }[] = [ { locale: 'en', flag: '🇺🇸', label: 'English' }, { locale: 'zh', flag: '🇨🇳', label: '简体中文' }, ]; export default function LanguageToggle() { const { locale, setLocale } = useI18n(); const [open, setOpen] = useState(false); const ref = useRef(null); useClickOutside(ref, useCallback(() => setOpen(false), []), open); return (
{open && (
{languages.map(lang => ( ))}
)}
); }