import { useEffect, useRef, useState } from "react"; import { Check } from "lucide-react"; import { usePlatformLanguage } from "../i18n/LanguageContext"; export default function LanguageMenu() { const { language, selectableLanguages, setLanguage } = usePlatformLanguage(); const [open, setOpen] = useState(false); const menuRef = useRef(null); useEffect(() => { function onPointerDown(event: MouseEvent) { const target = event.target as Node; if (menuRef.current && !menuRef.current.contains(target)) setOpen(false); } window.addEventListener("mousedown", onPointerDown); return () => window.removeEventListener("mousedown", onPointerDown); }, []); if (selectableLanguages.length <= 1) return null; function selectLanguage(code: string) { setLanguage(code); setOpen(false); } return (
{open && (
{selectableLanguages.map((item) => { const active = item.code === language; return ( ); })}
)}
); }