import Avatar from '@material-ui/core/Avatar'; import Button from '@material-ui/core/Button'; import Grid from '@material-ui/core/Grid'; import TextField from '@material-ui/core/TextField'; import Typography from '@material-ui/core/Typography'; import LockOutlinedIcon from '@material-ui/icons/LockOutlined'; import { Formik } from 'formik'; import _isNil from 'ramda/src/isNil'; import React from 'react'; import { useTranslation } from 'react-i18next'; import { useDispatch, useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; import PasswordField from '../../atoms/PasswordField'; import { REGISTER, REMIND_PASSWORD } from '../../constants/routes'; import { LoginOptions, loginRequested } from '../../redux/auth/actionCreators'; import { State } from '../../redux/rootReducer'; import loginSchema from '../../utils/schemas/login'; import useStyles from './styles'; export interface Props { readonly showRemindPassword?: boolean; readonly registerLinkProps?: any; } const LoginForm = ({ showRemindPassword = true, registerLinkProps = {}, }: Props) => { const classes = useStyles(); const { t } = useTranslation(); const { loginLoading } = useSelector(({ auth }: State) => auth); const dispatch = useDispatch(); const login = (options: LoginOptions) => dispatch(loginRequested(options)); return (