diff options
Diffstat (limited to 'frontend/components/TakeMyMoney.js')
| -rw-r--r-- | frontend/components/TakeMyMoney.js | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/frontend/components/TakeMyMoney.js b/frontend/components/TakeMyMoney.js index 20fc334..e52b08c 100644 --- a/frontend/components/TakeMyMoney.js +++ b/frontend/components/TakeMyMoney.js @@ -1,9 +1,8 @@ import { Component } from 'react'; import StripeCheckout from 'react-stripe-checkout'; -import { compose, Mutation, Query } from 'react-apollo'; +import { Mutation, Query } from 'react-apollo'; import Router from 'next/router'; import NProgress from 'nprogress'; -import PropTypes from 'prop-types'; import { CREATE_ORDER_MUTATION, CURRENT_USER_QUERY } from '../queries'; function totalItems(cart) { @@ -33,35 +32,30 @@ class TakeMyMoney extends Component { render() { return ( <Query query={CURRENT_USER_QUERY}> - {({ data: { me } }) => ( - <Mutation mutation={CREATE_ORDER_MUTATION}> - {createOrder => ( - <StripeCheckout - amount={total(me.cart)} - name="Sick Fits Haul" - description={`Order of ${totalItems(me.cart)} Items From Sick Fits`} - image={me.cart[0].item.image} - token={res => this.onToken(res, createOrder)} - stripeKey="pk_lclTtThFp8CnO3QtEZSd8HA9mFUps" - currency="USD" - email={me.email} - > - {this.props.children} - </StripeCheckout> - )} - </Mutation> - )} + {({ data: { me } }) => { + if (!me || !me.cart.length) return null; + return ( + <Mutation mutation={CREATE_ORDER_MUTATION}> + {createOrder => ( + <StripeCheckout + amount={total(me.cart)} + name="Sick Fits Haul" + description={`Order of ${totalItems(me.cart)} Items From Sick Fits`} + image={me.cart[0].item.image} + token={res => this.onToken(res, createOrder)} + stripeKey="pk_lclTtThFp8CnO3QtEZSd8HA9mFUps" + currency="USD" + email={me.email} + > + {this.props.children} + </StripeCheckout> + )} + </Mutation> + ); + }} </Query> ); } } -TakeMyMoney.propTypes = { - currentUser: PropTypes.object.isRequired, - createOrder: PropTypes.func.isRequired, -}; - -// export default compose(userEnhancer, createOrderEnhancer)(TakeMyMoney); -// export { TakeMyMoney }; - export default TakeMyMoney; |
