fix(ascceptTerms): Navigate to /welcome on PP & ToS accept

This commit is contained in:
Bouncey
2018-08-25 00:36:22 +01:00
committed by mrugesh mohapatra
parent 7fd0b5b84b
commit d77397b53f
2 changed files with 18 additions and 15 deletions

View File

@ -15,7 +15,7 @@ import Helmet from 'react-helmet';
import Layout from '../components/layout'; import Layout from '../components/layout';
import { ButtonSpacer, Spacer } from '../components/helpers'; import { ButtonSpacer, Spacer } from '../components/helpers';
import { acceptTerms, isSignedInSelector, userSelector } from '../redux'; import { acceptTerms, userSelector } from '../redux';
import { createSelector } from 'reselect'; import { createSelector } from 'reselect';
import { navigateTo } from 'gatsby'; import { navigateTo } from 'gatsby';
@ -26,10 +26,8 @@ const propTypes = {
}; };
const mapStateToProps = createSelector( const mapStateToProps = createSelector(
isSignedInSelector,
userSelector, userSelector,
(isSignedIn, { acceptedPrivacyTerms }) => ({ ({ acceptedPrivacyTerms }) => ({
isSignedIn,
acceptedPrivacyTerms acceptedPrivacyTerms
}) })
); );
@ -66,9 +64,9 @@ class AcceptPrivacyTerms extends Component {
} }
render() { render() {
const { isSignedIn, acceptedPrivacyTerms } = this.props; const { acceptedPrivacyTerms } = this.props;
if (!isSignedIn || acceptedPrivacyTerms) { if (acceptedPrivacyTerms) {
navigateTo(isSignedIn ? '/welcome' : '/'); navigateTo('/welcome');
return null; return null;
} }
const { privacyPolicy, termsOfService, quincyEmail } = this.state; const { privacyPolicy, termsOfService, quincyEmail } = this.state;

View File

@ -1,16 +1,14 @@
import { call, put, takeEvery } from 'redux-saga/effects'; import { call, put, takeEvery } from 'redux-saga/effects';
import { navigateTo } from 'gatsby';
import { acceptTermsComplete, acceptTermsError } from './'; import { acceptTermsComplete, acceptTermsError } from './';
import { putUserAcceptsTerms } from '../utils/ajax';
import { createFlashMessage } from '../components/Flash/redux'; import { createFlashMessage } from '../components/Flash/redux';
import { putUserAcceptsTerms } from '../utils/ajax';
function* acceptTermsSaga({ payload: quincyEmails }) { function* acceptTermsSaga({ payload: quincyEmails }) {
console.log('hello?');
try { try {
const { const { data: response } = yield call(putUserAcceptsTerms, quincyEmails);
data: response
} = yield call(putUserAcceptsTerms, quincyEmails);
yield put(acceptTermsComplete()); yield put(acceptTermsComplete());
yield put(createFlashMessage(response)); yield put(createFlashMessage(response));
@ -19,6 +17,13 @@ function* acceptTermsSaga({ payload: quincyEmails }) {
} }
} }
export function createAcceptTermsSaga(types) { function* acceptCompleteSaga() {
return [takeEvery(types.acceptTerms, acceptTermsSaga)]; yield call(navigateTo, '/welcome');
}
export function createAcceptTermsSaga(types) {
return [
takeEvery(types.acceptTerms, acceptTermsSaga),
takeEvery(types.acceptTermsComplete, acceptCompleteSaga)
];
} }