import { useRef, useState } from "react"; import { Check, Globe } from "lucide-react"; import { LANGUAGES, type LangCode } from "../i18n"; // Compact language picker (globe + current code). Presentational: the parent decides what // changing the language does (set it; persist server-side when signed in). export default function LanguageSwitcher({ value, onChange, align = "right", }: { value: LangCode; onChange: (code: LangCode) => void; align?: "left" | "right"; }) { const [open, setOpen] = useState(false); const closeTimer = useRef | null>(null); const current = LANGUAGES.find((l) => l.code === value) ?? LANGUAGES[0]; function openNow() { if (closeTimer.current) clearTimeout(closeTimer.current); setOpen(true); } function closeSoon() { closeTimer.current = setTimeout(() => setOpen(false), 200); } return (
{open && (
{LANGUAGES.map((l) => ( ))}
)}
); }