- { !props.auth.isLoading && !props.auth.successSignUp && (
-
- )}
- { props.auth.isLoading &&
}
- { !props.auth.isLoading && props.auth.successSignUp &&
}
+const SignUpContent = ({handleChange, formData, emailVerificationEnabled, ...props}) => {
+ const beforeSignup = !props.auth.isLoading && !props.auth.successSignUp;
+ const successfulSignup = !props.auth.isLoading && props.auth.successSignUp;
+
+ return (
+
+
+
+ {lang.t('signIn.signUp')}
+
+
+
+
+
+
+
+ {lang.t('signIn.or')}
+
+
+ { props.auth.error &&
{props.auth.error} }
+ { beforeSignup &&
+
+ }
+ {
+ successfulSignup &&
+
+
+ {
+ emailVerificationEnabled &&
+
{lang.t('signIn.verifyEmail')}
+ }
+
+ }
+
-
-
-
-);
+ );
+};
+
+SignUpContent.propTypes = {
+ emailVerificationEnabled: PropTypes.bool.isRequired
+};
export default SignUpContent;
diff --git a/client/coral-sign-in/containers/SignInContainer.js b/client/coral-sign-in/containers/SignInContainer.js
index 2435cdcfd..59e17c397 100644
--- a/client/coral-sign-in/containers/SignInContainer.js
+++ b/client/coral-sign-in/containers/SignInContainer.js
@@ -1,4 +1,4 @@
-import React, {Component} from 'react';
+import React, {Component, PropTypes} from 'react';
import {connect} from 'react-redux';
import SignDialog from '../components/SignDialog';
import Button from 'coral-ui/components/Button';
@@ -41,12 +41,16 @@ class SignInContainer extends Component {
this.state = this.initialState;
this.handleChange = this.handleChange.bind(this);
this.handleChangeEmail = this.handleChangeEmail.bind(this);
- this.handleResendConfirmation = this.handleResendConfirmation.bind(this);
+ this.handleResendVerification = this.handleResendVerification.bind(this);
this.handleSignUp = this.handleSignUp.bind(this);
this.handleSignIn = this.handleSignIn.bind(this);
this.addError = this.addError.bind(this);
}
+ static propTypes = {
+ requireEmailConfirmation: PropTypes.bool.isRequired
+ }
+
componentWillMount () {
this.props.checkLogin();
}
@@ -79,7 +83,7 @@ class SignInContainer extends Component {
this.setState({emailToBeResent: value});
}
- handleResendConfirmation(e) {
+ handleResendVerification(e) {
e.preventDefault();
this.props.requestConfirmEmail(this.state.emailToBeResent)
.then(() => {
@@ -145,8 +149,9 @@ class SignInContainer extends Component {
}
render() {
- const {auth, showSignInDialog, noButton, offset} = this.props;
- const {emailConfirmationLoading, emailConfirmationSuccess} = auth;
+ const {auth, showSignInDialog, noButton, offset, requireEmailConfirmation} = this.props;
+ const {emailVerificationLoading, emailVerificationSuccess} = auth;
+
return (
{!noButton &&