mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { Option, Select } from "@mui/joy";
|
||
import { FC } from "react";
|
||
import Icon from "./Icon";
|
||
|
||
interface Props {
|
||
value: Locale;
|
||
onChange: (locale: Locale) => void;
|
||
className?: string;
|
||
}
|
||
|
||
const LocaleSelect: FC<Props> = (props: Props) => {
|
||
const { onChange, value, className } = props;
|
||
|
||
const handleSelectChange = async (locale: Locale) => {
|
||
onChange(locale);
|
||
};
|
||
|
||
return (
|
||
<Select
|
||
className={`!min-w-[10rem] w-auto whitespace-nowrap ${className ?? ""}`}
|
||
startDecorator={<Icon.Globe className="w-4 h-auto" />}
|
||
value={value}
|
||
onChange={(_, value) => handleSelectChange(value as Locale)}
|
||
>
|
||
<Option value="en">English</Option>
|
||
<Option value="zh">简体中文</Option>
|
||
<Option value="vi">Tiếng Việt</Option>
|
||
<Option value="fr">French</Option>
|
||
<Option value="nl">Nederlands</Option>
|
||
<Option value="sv">Svenska</Option>
|
||
<Option value="de">German</Option>
|
||
<Option value="es">Español</Option>
|
||
<Option value="uk">Українська</Option>
|
||
<Option value="ru">Русский</Option>
|
||
<Option value="it">Italiano</Option>
|
||
<Option value="hant">繁體中文</Option>
|
||
<Option value="tr">Turkish</Option>
|
||
<Option value="ko">한국어</Option>
|
||
<Option value="sl">Slovenian</Option>
|
||
</Select>
|
||
);
|
||
};
|
||
|
||
export default LocaleSelect;
|