import { useState } from 'react'; import { useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; // material-ui import { useTheme } from '@mui/material/styles'; import { Box, Button, Divider, FormControl, FormHelperText, Grid, IconButton, InputAdornment, InputLabel, OutlinedInput, Stack, Typography, useMediaQuery } from '@mui/material'; // third party import * as Yup from 'yup'; import { Formik } from 'formik'; // project imports import useLogin from 'hooks/useLogin'; import AnimateButton from 'ui-component/extended/AnimateButton'; import WechatModal from 'views/Authentication/AuthForms/WechatModal'; // assets import Visibility from '@mui/icons-material/Visibility'; import VisibilityOff from '@mui/icons-material/VisibilityOff'; import Github from 'assets/images/icons/github.svg'; import Wechat from 'assets/images/icons/wechat.svg'; import { onGitHubOAuthClicked } from 'utils/common'; // ============================|| FIREBASE - LOGIN ||============================ // const LoginForm = ({ ...others }) => { const theme = useTheme(); const { login, wechatLogin } = useLogin(); const [openWechat, setOpenWechat] = useState(false); const matchDownSM = useMediaQuery(theme.breakpoints.down('md')); const customization = useSelector((state) => state.customization); const siteInfo = useSelector((state) => state.siteInfo); // const [checked, setChecked] = useState(true); let tripartiteLogin = false; if (siteInfo.github_oauth || siteInfo.wechat_login) { tripartiteLogin = true; } const handleWechatOpen = () => { setOpenWechat(true); }; const handleWechatClose = () => { setOpenWechat(false); }; const [showPassword, setShowPassword] = useState(false); const handleClickShowPassword = () => { setShowPassword(!showPassword); }; const handleMouseDownPassword = (event) => { event.preventDefault(); }; return ( <> {tripartiteLogin && ( {siteInfo.github_oauth && ( )} {siteInfo.wechat_login && ( )} )} { const { success, message } = await login(values.username, values.password); if (success) { setStatus({ success: true }); } else { setStatus({ success: false }); if (message) { setErrors({ submit: message }); } } setSubmitting(false); }} > {({ errors, handleBlur, handleChange, handleSubmit, isSubmitting, touched, values }) => (
用户名 / 邮箱 {touched.username && errors.username && ( {errors.username} )} 密码 {showPassword ? : } } label="Password" /> {touched.password && errors.password && ( {errors.password} )} {/* setChecked(event.target.checked)} name="checked" color="primary" /> } label="记住我" /> */} 忘记密码? {errors.submit && ( {errors.submit} )}
)}
); }; export default LoginForm;