mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-08 14:43:24 +00:00
33 lines
813 B
TypeScript
33 lines
813 B
TypeScript
import dayjs from 'dayjs';
|
|
import { ChangeEvent } from 'react';
|
|
import { useTranslation } from 'react-i18next';
|
|
import { LS_LANG_KEY } from '~/constants';
|
|
import { languages } from '~/i18n';
|
|
|
|
export default function LangSelector() {
|
|
const { t, i18n } = useTranslation('common');
|
|
|
|
const onToggleLanguageClick = ({
|
|
target,
|
|
}: ChangeEvent<HTMLSelectElement>) => {
|
|
dayjs.locale(target.value);
|
|
i18n.changeLanguage(target.value);
|
|
localStorage.setItem(LS_LANG_KEY, target.value);
|
|
};
|
|
|
|
return (
|
|
<select
|
|
onChange={onToggleLanguageClick}
|
|
name="lang-selector"
|
|
id="lang-selector"
|
|
defaultValue={i18n.language}
|
|
>
|
|
{languages.map((lang) => (
|
|
<option value={lang} key={lang}>
|
|
{t(`language.${lang}`)}
|
|
</option>
|
|
))}
|
|
</select>
|
|
);
|
|
}
|