import { connect } from 'react-redux'; import withPageTitle from 'HOCs/withPageTitle'; import { Icon, Loader, Button, Link } from 'UI'; import { login } from 'Duck/user'; import { forgotPassword, signup } from 'App/routes'; import ReCAPTCHA from 'react-google-recaptcha'; import stl from './login.css'; import cn from 'classnames'; const FORGOT_PASSWORD = forgotPassword(); const SIGNUP_ROUTE = signup(); const recaptchaRef = React.createRef(); @connect( state => ({ errors: state.getIn([ 'user', 'loginRequest', 'errors' ]), loading: state.getIn([ 'user', 'loginRequest', 'loading' ]), tenants: state.getIn(['user', 'tenants']) }), { login, }, ) @withPageTitle('Login - OpenReplay') export default class Login extends React.Component { state = { email: '', password: '', }; handleSubmit = (token) => { const { email, password } = this.state; this.props.login({ email: email.trim(), password, 'g-recaptcha-response': token }).then(() => { const { errors } = this.props; }) } onSubmit = (e) => { e.preventDefault(); if (window.ENV.CAPTCHA_ENABLED && recaptchaRef.current) { recaptchaRef.current.execute(); } else if (!window.ENV.CAPTCHA_ENABLED) { this.handleSubmit(); } } write = ({ target: { value, name } }) => this.setState({ [ name ]: value }) render() { const { errors, loading, tenants } = this.props; return (
Welcome Back!

Login to OpenReplay

{ tenants.length === 0 &&
Don't have an account?Sign up
}
{ window.ENV.CAPTCHA_ENABLED && ( this.handleSubmit(token) } /> )}
{ errors &&
{ errors.map(error => (
{ error }
)) }
}
{'Forgot your password?'}
); } }