feat: 首页增加多语言切换

pull/49/head
moonrailgun 3 years ago
parent 7e992ccccb
commit 5996a7024a

@ -1,31 +1,36 @@
import { Select } from 'antd';
import { Select, SelectProps } from 'antd';
import React, { useCallback } from 'react';
import { showToasts, t, useLanguage } from 'tailchat-shared';
type LanguageSelectProps = Omit<SelectProps, 'value' | 'onChange'>;
/**
*
*/
export const LanguageSelect: React.FC = React.memo(() => {
const { language, setLanguage } = useLanguage();
export const LanguageSelect: React.FC<LanguageSelectProps> = React.memo(
(props) => {
const { language, setLanguage } = useLanguage();
const handleChangeLanguage = useCallback(
(newLang: string) => {
showToasts(t('刷新页面后生效'), 'info');
setLanguage(newLang);
},
[setLanguage]
);
const handleChangeLanguage = useCallback(
(newLang: string) => {
showToasts(t('刷新页面后生效'), 'info');
setLanguage(newLang);
},
[setLanguage]
);
return (
<Select
style={{ width: 280 }}
size="large"
value={language}
onChange={handleChangeLanguage}
>
<Select.Option value="zh-CN"></Select.Option>
<Select.Option value="en-US">English</Select.Option>
</Select>
);
});
return (
<Select
style={{ width: 280 }}
size="large"
{...props}
value={language}
onChange={handleChangeLanguage}
>
<Select.Option value="zh-CN"></Select.Option>
<Select.Option value="en-US">English</Select.Option>
</Select>
);
}
);
LanguageSelect.displayName = 'LanguageSelect';

@ -12,6 +12,7 @@ import { useNavToView } from './utils';
import { IconBtn } from '@/components/IconBtn';
import { openModal } from '@/components/Modal';
import { ServiceUrlSettings } from '@/components/modals/ServiceUrlSettings';
import { LanguageSelect } from '@/components/LanguageSelect';
/**
* TODO:
@ -140,12 +141,14 @@ export const LoginView: React.FC = React.memo(() => {
</button>
</div>
<div className="absolute bottom-4 left-0">
<div className="absolute bottom-4 left-0 space-x-2">
<IconBtn
icon="mdi:cog"
shape="square"
onClick={() => openModal(<ServiceUrlSettings />)}
/>
<LanguageSelect size="middle" />
</div>
</div>
);

Loading…
Cancel
Save