mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-17 02:01:29 +10:00
33 lines
1013 B
TypeScript
33 lines
1013 B
TypeScript
import { t } from "@lingui/macro";
|
|
import { useLingui } from "@lingui/react";
|
|
import { TranslateIcon } from "@phosphor-icons/react";
|
|
import { Button, Popover, PopoverContent, PopoverTrigger } from "@reactive-resume/ui";
|
|
import { useState } from "react";
|
|
|
|
import { changeLanguage } from "../providers/locale";
|
|
import { LocaleCombobox } from "./locale-combobox";
|
|
|
|
export const LocaleSwitch = () => {
|
|
const { i18n } = useLingui();
|
|
const [open, setOpen] = useState(false);
|
|
|
|
return (
|
|
<Popover open={open} onOpenChange={setOpen}>
|
|
<PopoverTrigger asChild>
|
|
<Button size="icon" variant="ghost" aria-label={t`Change Language`}>
|
|
<TranslateIcon size={20} />
|
|
</Button>
|
|
</PopoverTrigger>
|
|
<PopoverContent align="end" className="p-0">
|
|
<LocaleCombobox
|
|
value={i18n.locale}
|
|
onValueChange={async (locale) => {
|
|
await changeLanguage(locale);
|
|
setOpen(false);
|
|
}}
|
|
/>
|
|
</PopoverContent>
|
|
</Popover>
|
|
);
|
|
};
|