From 5e137d20227bbdc23102de0717839d4a726c12b6 Mon Sep 17 00:00:00 2001 From: Valeriy S Date: Thu, 14 Feb 2019 15:27:05 +0300 Subject: [PATCH] fix(client): make render functions pure --- client/src/pages/accept-privacy-terms.js | 8 ++++---- client/src/pages/welcome.js | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/src/pages/accept-privacy-terms.js b/client/src/pages/accept-privacy-terms.js index d2354d9979..53d5f2b471 100644 --- a/client/src/pages/accept-privacy-terms.js +++ b/client/src/pages/accept-privacy-terms.js @@ -12,11 +12,11 @@ import { Checkbox } from '@freecodecamp/react-bootstrap'; import Helmet from 'react-helmet'; +import { createSelector } from 'reselect'; import { ButtonSpacer, Spacer } from '../components/helpers'; import { acceptTerms, userSelector } from '../redux'; -import { createSelector } from 'reselect'; -import { navigate } from 'gatsby'; +import createRedirect from '../components/createRedirect'; const propTypes = { acceptTerms: PropTypes.func.isRequired, @@ -32,6 +32,7 @@ const mapStateToProps = createSelector( ); const mapDispatchToProps = dispatch => bindActionCreators({ acceptTerms }, dispatch); +const RedirectWelcome = createRedirect('/welcome'); class AcceptPrivacyTerms extends Component { constructor(props) { @@ -65,8 +66,7 @@ class AcceptPrivacyTerms extends Component { render() { const { acceptedPrivacyTerms } = this.props; if (acceptedPrivacyTerms) { - navigate('/welcome'); - return null; + return ; } const { privacyPolicy, termsOfService, quincyEmail } = this.state; return ( diff --git a/client/src/pages/welcome.js b/client/src/pages/welcome.js index 54537834ab..af332f5a0e 100644 --- a/client/src/pages/welcome.js +++ b/client/src/pages/welcome.js @@ -1,6 +1,5 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; -import { navigate } from 'gatsby'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; @@ -17,6 +16,8 @@ import { activeDonationsSelector } from '../redux'; import { randomQuote } from '../utils/get-words'; +import createRedirect from '../components/createRedirect'; +import RedirectHome from '../components/RedirectHome'; import './welcome.css'; @@ -52,6 +53,7 @@ const mapStateToProps = createSelector( }) ); const mapDispatchToProps = dispatch => bindActionCreators({}, dispatch); +const RedirectAcceptPrivacyTerm = createRedirect('/accept-privacy-terms'); function Welcome({ fetchState: { pending, complete }, @@ -76,13 +78,11 @@ function Welcome({ } if (!isSignedIn) { - navigate('/'); - return null; + return ; } if (isSignedIn && !acceptedPrivacyTerms) { - navigate('/accept-privacy-terms'); - return null; + return ; } const { quote, author } = randomQuote();