import { Check, Languages } from "lucide-react"; import { useTranslation } from "react-i18next"; import { LangCode, supportedLanguages } from "../i18n/config.ts"; import useLang from "@core/hooks/useLang.ts"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "./UI/DropdownMenu.tsx"; import { Subtle } from "./UI/Typography/Subtle.tsx"; import { cn } from "@core/utils/cn.ts"; import { Button } from "./UI/Button.tsx"; interface LanguageSwitcherProps { disableHover?: boolean; } export default function LanguageSwitcher({ disableHover = false, }: LanguageSwitcherProps) { const { i18n } = useTranslation("ui"); const { set: setLanguage, currentLanguage } = useLang(); const handleLanguageChange = async (languageCode: LangCode) => { await setLanguage(languageCode, true); }; return ( {supportedLanguages.map((language) => ( handleLanguageChange(language.code)} className="flex items-center justify-between cursor-pointer" >
{language.flag} {language.name}
{i18n.language === language.code && ( )}
))}
); }