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 (