import { useLogin, useRegister } from '@/hooks/login-hooks'; import { rsaPsw } from '@/utils'; import { Button, Checkbox, Form, Input } from 'antd'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Icon, useNavigate } from 'umi'; import RightPanel from './right-panel'; import { Domain } from '@/constants/common'; import styles from './index.less'; const Login = () => { const [title, setTitle] = useState('login'); const navigate = useNavigate(); const { login, loading: signLoading } = useLogin(); const { register, loading: registerLoading } = useRegister(); const { t } = useTranslation('translation', { keyPrefix: 'login' }); const loading = signLoading || registerLoading; const changeTitle = () => { setTitle((title) => (title === 'login' ? 'register' : 'login')); }; const [form] = Form.useForm(); useEffect(() => { form.validateFields(['nickname']); }, [form]); const onCheck = async () => { try { const params = await form.validateFields(); const rsaPassWord = rsaPsw(params.password) as string; if (title === 'login') { const code = await login({ email: params.email, password: rsaPassWord, }); if (code === 0) { navigate('/knowledge'); } } else { const code = await register({ nickname: params.nickname, email: params.email, password: rsaPassWord, }); if (code === 0) { setTitle('login'); } } } catch (errorInfo) { console.log('Failed:', errorInfo); } }; const formItemLayout = { labelCol: { span: 6 }, // wrapperCol: { span: 8 }, }; const toGoogle = () => { window.location.href = 'https://github.com/login/oauth/authorize?scope=user:email&client_id=302129228f0d96055bee'; }; return (