diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-03-22 21:11:15 -0400 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-03-22 21:11:15 -0400 |
| commit | 169b0953ad91f22bb3b2bf2d80d87ebfbe30d45d (patch) | |
| tree | e66454fb1055440996ae01cb980394d84715bf59 /frontend/components/TakeMyMoney.js | |
| parent | a6af043686e4375d7944e91cae3d5b63c59edab0 (diff) | |
yay
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; |
