import * as React from 'react' import { translate } from 'react-i18next' import { changeLanguage } from 'i18next' import { Header, Card, Row, Col, Switch, ButtonSelect, ButtonSelectOptions, Input, Icon } from '@components' import { ExternalControllerDrawer } from './components' import { I18nProps } from '@models' import './style.scss' class Settings extends React.Component { state = { startAtLogin: false, setAsSystemProxy: true, allowConnectFromLan: true, proxyMode: 'Rule', socks5ProxyPort: 7891, httpProxyPort: 7890, externalControllerHost: '127.0.0.1', externalControllerPort: '7892', showEditDrawer: false } languageOptions: ButtonSelectOptions[] = [ { label: '中文', value: 'zh' }, { label: 'English', value: 'en' } ] changeLanguage = (language: string) => { changeLanguage(language) } render () { const { t, lng } = this.props const { startAtLogin, setAsSystemProxy, allowConnectFromLan, proxyMode, socks5ProxyPort, httpProxyPort, externalControllerHost, externalControllerPort, showEditDrawer } = this.state const proxyModeOptions: ButtonSelectOptions[] = [ { label: t('values.global'), value: 'Global' }, { label: t('values.rules'), value: 'Rule' }, { label: t('values.direct'), value: 'Direct' } ] return (
{t('labels.startAtLogin')} this.setState({ startAtLogin })} /> {t('labels.language')} {t('labels.setAsSystemProxy')} this.setState({ setAsSystemProxy })} /> {t('labels.allowConnectFromLan')} this.setState({ allowConnectFromLan })} /> {t('labels.proxyMode')} this.setState({ proxyMode })} /> {t('labels.socks5ProxyPort')} this.setState({ socks5ProxyPort })}> {t('labels.httpProxyPort')} this.setState({ httpProxyPort })}> {t('labels.externalController')} {`${externalControllerHost}:${externalControllerPort}`} this.setState({ showEditDrawer: true })} >修改

{t('versionString', { version: 'unknown' })}

{t('checkUpdate')}
console.log(host, port)} onCancel={() => this.setState({ showEditDrawer: false })} >
666666
) } } export default translate(['Settings'])(Settings)