summaryrefslogtreecommitdiffstats
path: root/frontend/components/TakeMyMoney.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-03-22 21:11:15 -0400
committerWes Bos <wesbos@gmail.com>2018-03-22 21:11:15 -0400
commit169b0953ad91f22bb3b2bf2d80d87ebfbe30d45d (patch)
treee66454fb1055440996ae01cb980394d84715bf59 /frontend/components/TakeMyMoney.js
parenta6af043686e4375d7944e91cae3d5b63c59edab0 (diff)
yay
Diffstat (limited to 'frontend/components/TakeMyMoney.js')
-rw-r--r--frontend/components/TakeMyMoney.js50
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;