diff --git a/client/modules/User/pages/EmailVerificationView.jsx b/client/modules/User/pages/EmailVerificationView.jsx index 42960062b4..ccc22da9d2 100644 --- a/client/modules/User/pages/EmailVerificationView.jsx +++ b/client/modules/User/pages/EmailVerificationView.jsx @@ -1,94 +1,51 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import { connect } from 'react-redux'; -import { bindActionCreators } from 'redux'; -import { withTranslation } from 'react-i18next'; import { Helmet } from 'react-helmet'; import browserHistory from '../../../browserHistory'; -import { verifyEmailConfirmation } from '../actions'; import RootPage from '../../../components/RootPage'; import Nav from '../../IDE/components/Header/Nav'; +import { React, useEffect } from 'react'; -class EmailVerificationView extends React.Component { - static defaultProps = { - emailVerificationTokenState: null - }; - - componentWillMount() { - const verificationToken = this.verificationToken(); +function EmailVerificationView({ emailVerificationTokenState, verifyEmailConfirmation, t, location }) { + useEffect(() => { + const verificationToken = verificationToken(); if (verificationToken != null) { - this.props.verifyEmailConfirmation(verificationToken); + verifyEmailConfirmation(verificationToken); } - } + }, []); - verificationToken = () => { - const { location } = this.props; + const verificationToken = () => { const searchParams = new URLSearchParams(location.search); return searchParams.get('t'); }; - render() { - let status = null; - const { emailVerificationTokenState } = this.props; - - if (this.verificationToken() == null) { - status =

{this.props.t('EmailVerificationView.InvalidTokenNull')}

; - } else if (emailVerificationTokenState === 'checking') { - status =

{this.props.t('EmailVerificationView.Checking')}

; - } else if (emailVerificationTokenState === 'verified') { - status =

{this.props.t('EmailVerificationView.Verified')}

; - setTimeout(() => browserHistory.push('/'), 1000); - } else if (emailVerificationTokenState === 'invalid') { - status =

{this.props.t('EmailVerificationView.InvalidState')}

; - } - - return ( - -