2020-09-07 17:48:39 +08:00

41 lines
977 B
TypeScript

import { PureComponent } from 'react';
import { globalLocale, Tip } from '@ali/lowcode-editor-core';
import { PluginProps } from '@ali/lowcode-types';
import { intl } from './locale';
import { IconZh } from './icons/zh';
import { IconEn } from './icons/en';
import './index.less';
export default class ZhEn extends PureComponent<PluginProps> {
static displayName = 'LowcodeZhEn';
state = {
locale: globalLocale.getLocale(),
};
private dispose = globalLocale.onLocaleChange((locale) => {
this.setState({
locale,
});
});
componentWillUnmount() {
this.dispose();
}
render() {
const isZh = this.state.locale === 'zh-CN';
return (
<div
className="lowcode-plugin-zh-en"
onClick={() => {
globalLocale.setLocale(isZh ? 'en-US' : 'zh-CN');
}}
>
{isZh ? <IconZh size={20} /> : <IconEn size={20} />}
<Tip direction="right">{intl('To Locale')}</Tip>
</div>
);
}
}