Dispatch other action to only trigger change when sign up.

This commit is contained in:
gaba
2017-02-02 15:44:45 -08:00
parent d74d2e9e87
commit 7da141ed29
6 changed files with 27 additions and 8 deletions
+13
View File
@@ -82,6 +82,19 @@ export const fetchSignInFacebook = () => dispatch => {
);
};
// Sign Up Facebook
const signUpFacebookRequest = () => ({type: actions.FETCH_SIGNUP_FACEBOOK_REQUEST});
export const fetchSignUpFacebook = () => dispatch => {
dispatch(signUpFacebookRequest());
window.open(
`${base}/auth/facebook`,
'Continue with Facebook',
'menubar=0,resizable=0,width=500,height=500,top=200,left=500'
);
};
export const facebookCallback = (err, data) => dispatch => {
if (err) {
signInFacebookFailure(err);
+1
View File
@@ -23,6 +23,7 @@ export const FETCH_SIGNIN_FACEBOOK_REQUEST = 'FETCH_SIGNIN_FACEBOOK_REQUEST';
export const FETCH_SIGNIN_FACEBOOK_FAILURE = 'FETCH_SIGNIN_FACEBOOK_FAILURE';
export const FETCH_SIGNIN_FACEBOOK_SUCCESS = 'FETCH_SIGNIN_FACEBOOK_SUCCESS';
export const FETCH_SIGNUP_FACEBOOK_REQUEST = 'FETCH_SIGNUP_FACEBOOK_REQUEST';
export const FETCH_FORGOT_PASSWORD_REQUEST = 'FETCH_FORGOT_PASSWORD_REQUEST';
export const FETCH_FORGOT_PASSWORD_SUCCESS = 'FETCH_FORGOT_PASSWORD_SUCCESS';
export const FETCH_FORGOT_PASSWORD_FAILURE = 'FETCH_FORGOT_PASSWORD_FAILURE';
+9 -2
View File
@@ -15,7 +15,8 @@ const initialState = Map({
emailConfirmationFailure: false,
emailConfirmationLoading: false,
emailConfirmationSuccess: false,
successSignUp: false
successSignUp: false,
fromSignUp: false
});
const purge = user => {
@@ -88,6 +89,12 @@ export default function auth (state = initialState, action) {
.set('isLoading', false)
.set('error', action.error)
.set('user', null);
case actions.FETCH_SIGNUP_FACEBOOK_REQUEST:
return state
.set('fromSignUp', true);
case actions.FETCH_SIGNIN_FACEBOOK_REQUEST:
return state
.set('fromSignUp', false);
case actions.FETCH_SIGNIN_FACEBOOK_SUCCESS:
return state
.set('user', purge(action.user))
@@ -125,7 +132,7 @@ export default function auth (state = initialState, action) {
.set('passwordRequestSuccess', null);
case actions.UPDATE_DISPLAYNAME:
return state
.merge({'user': {'displayName': action.displayName}});
.set('user', purge(action.displayName));
case actions.EMAIL_CONFIRM_ERROR:
return state
.set('emailConfirmationFailure', true)
@@ -14,7 +14,7 @@ const SignUpContent = ({handleChange, formData, ...props}) => (
</h1>
</div>
<div className={styles.socialConnections}>
<Button cStyle="facebook" onClick={props.fetchSignInFacebook} full>
<Button cStyle="facebook" onClick={props.fetchSignUpFacebook} full>
{lang.t('signIn.facebookSignUp')}
</Button>
</div>
@@ -36,10 +36,6 @@ class ChangeDisplayNameContainer extends Component {
this.addError = this.addError.bind(this);
}
componentDidMount() {
window.authCallback = this.props.facebookCallback;
}
handleChange(e) {
const {name, value} = e.target;
this.setState(state => ({
@@ -107,7 +103,7 @@ class ChangeDisplayNameContainer extends Component {
return (
<div>
<CreateDisplayNameDialog
open={auth.showCreateDisplayNameDialog}
open={auth.showCreateDisplayNameDialog && auth.fromSignUp}
offset={offset}
handleClose={this.handleClose}
loggedIn={loggedIn}
@@ -15,6 +15,7 @@ import {
showSignInDialog,
hideSignInDialog,
fetchSignInFacebook,
fetchSignUpFacebook,
fetchForgotPassword,
requestConfirmEmail,
facebookCallback,
@@ -177,6 +178,7 @@ const mapDispatchToProps = dispatch => ({
fetchSignUp: formData => dispatch(fetchSignUp(formData)),
fetchSignIn: formData => dispatch(fetchSignIn(formData)),
fetchSignInFacebook: () => dispatch(fetchSignInFacebook()),
fetchSignUpFacebook: () => dispatch(fetchSignUpFacebook()),
fetchForgotPassword: formData => dispatch(fetchForgotPassword(formData)),
requestConfirmEmail: email => dispatch(requestConfirmEmail(email)),
showSignInDialog: () => dispatch(showSignInDialog()),