From aca424be97252e71ab48688293a015b888eb015b Mon Sep 17 00:00:00 2001 From: Bouncey Date: Wed, 7 Nov 2018 18:16:50 +0000 Subject: [PATCH] chore(react): PureComponent -> Component --- client/src/components/Donation/Donation.js | 4 ++-- .../components/Donation/components/CardForm.js | 4 ++-- .../Donation/components/DonateForm.js | 4 ++-- .../Donation/components/StripeCardForm.js | 4 ++-- .../src/components/Header/components/Login.js | 18 +++++++++++++----- client/src/components/Map/Map.js | 4 ++-- client/src/components/Map/components/Block.js | 4 ++-- .../components/Map/components/SuperBlock.js | 4 ++-- client/src/components/settings/Portfolio.js | 4 ++-- client/src/contexts/GuideNavigationContext.js | 4 ++-- .../src/templates/Challenges/classic/Editor.js | 4 ++-- .../Challenges/components/CompletionModal.js | 4 ++-- .../Challenges/components/HelpModal.js | 4 ++-- .../templates/Challenges/components/Output.js | 4 ++-- .../templates/Challenges/components/Preview.js | 4 ++-- .../Challenges/components/VideoModal.js | 4 ++-- .../Challenges/project/ProjectForm.js | 4 ++-- .../templates/Challenges/project/Tool-Panel.js | 4 ++-- 18 files changed, 47 insertions(+), 39 deletions(-) diff --git a/client/src/components/Donation/Donation.js b/client/src/components/Donation/Donation.js index 8006a1af2a..515fc1270a 100644 --- a/client/src/components/Donation/Donation.js +++ b/client/src/components/Donation/Donation.js @@ -1,4 +1,4 @@ -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; @@ -40,7 +40,7 @@ const propTypes = { const stripeKey = 'pk_live_E6Z6xPM8pEsJziHW905zpAvF'; -class DonationModal extends PureComponent { +class DonationModal extends Component { constructor(...props) { super(...props); this.state = { diff --git a/client/src/components/Donation/components/CardForm.js b/client/src/components/Donation/components/CardForm.js index 0a4b39f1bd..5da0f1be26 100644 --- a/client/src/components/Donation/components/CardForm.js +++ b/client/src/components/Donation/components/CardForm.js @@ -1,4 +1,4 @@ -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Button } from '@freecodecamp/react-bootstrap'; @@ -9,7 +9,7 @@ const propTypes = { handleSubmit: PropTypes.func.isRequired }; -class CardForm extends PureComponent { +class CardForm extends Component { constructor(...props) { super(...props); diff --git a/client/src/components/Donation/components/DonateForm.js b/client/src/components/Donation/components/DonateForm.js index 35ab8e38c2..33666a1164 100644 --- a/client/src/components/Donation/components/DonateForm.js +++ b/client/src/components/Donation/components/DonateForm.js @@ -1,4 +1,4 @@ -import React, { PureComponent, Fragment } from 'react'; +import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import isEmail from 'validator/lib/isEmail'; @@ -23,7 +23,7 @@ const initialSate = { } }; -class DonateForm extends PureComponent { +class DonateForm extends Component { constructor(...args) { super(...args); const [props] = args; diff --git a/client/src/components/Donation/components/StripeCardForm.js b/client/src/components/Donation/components/StripeCardForm.js index 984bf28ba3..70ca22b56a 100644 --- a/client/src/components/Donation/components/StripeCardForm.js +++ b/client/src/components/Donation/components/StripeCardForm.js @@ -1,4 +1,4 @@ -import React, { PureComponent } from 'react'; +import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { CardNumberElement, @@ -17,7 +17,7 @@ const style = { } }; -class StripCardForm extends PureComponent { +class StripCardForm extends Component { constructor(...props) { super(...props); diff --git a/client/src/components/Header/components/Login.js b/client/src/components/Header/components/Login.js index d7392fc0f7..8dad072133 100644 --- a/client/src/components/Header/components/Login.js +++ b/client/src/components/Header/components/Login.js @@ -1,30 +1,37 @@ import React from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; +import { createSelector } from 'reselect'; import { Button } from '@freecodecamp/react-bootstrap'; -import { hardGoTo } from '../../../redux'; +import { hardGoTo, isSignedInSelector } from '../../../redux'; import { apiLocation } from '../../../../config/env.json'; import { gtagReportConversion } from '../../../analytics/gtag'; import './login.css'; -const mapStateToProps = () => ({}); +const mapStateToProps = createSelector( + isSignedInSelector, + ({ isSingedIn }) => ({ isSingedIn }) +); const mapDispatchToProps = dispatch => ({ navigate: location => dispatch(hardGoTo(location)) }); -const createOnClick = navigate => e => { +const createOnClick = (navigate, isSingedIn) => e => { e.preventDefault(); gtagReportConversion(); + if (isSingedIn) { + return navigate('/welcome'); + } return navigate(`${apiLocation}/signin`); }; function Login(props) { - const { children, navigate, ...restProps } = props; + const { children, navigate, isSingedIn, ...restProps } = props; return ( - +