summaryrefslogtreecommitdiffstats
path: root/finished-application/frontend/components/TakeMyMoney.js
diff options
context:
space:
mode:
Diffstat (limited to 'finished-application/frontend/components/TakeMyMoney.js')
-rw-r--r--finished-application/frontend/components/TakeMyMoney.js36
1 files changed, 16 insertions, 20 deletions
diff --git a/finished-application/frontend/components/TakeMyMoney.js b/finished-application/frontend/components/TakeMyMoney.js
index b9e42ea..ca87832 100644
--- a/finished-application/frontend/components/TakeMyMoney.js
+++ b/finished-application/frontend/components/TakeMyMoney.js
@@ -1,6 +1,6 @@
-import { Component } from 'react';
+import React from 'react';
import StripeCheckout from 'react-stripe-checkout';
-import { Mutation, Query } from 'react-apollo';
+import { Mutation } from 'react-apollo';
import Router from 'next/router';
import NProgress from 'nprogress';
import PropTypes from 'prop-types';
@@ -27,28 +27,27 @@ function totalItems(cart) {
return cart.reduce((tally, cartItem) => tally + cartItem.quantity, 0);
}
-class TakeMyMoney extends Component {
+class TakeMyMoney extends React.Component {
onToken = async (res, createOrder) => {
NProgress.start();
+ // manually call the mutation once we have the stripe token
const order = await createOrder({
variables: {
token: res.id,
},
+ }).catch(err => {
+ alert(err.message);
});
- console.log(order);
- // Route them to that order page
- const { id } = order.data.createOrder;
Router.push({
- pathname: `/order`,
- query: { id },
+ pathname: '/order',
+ query: { id: order.data.createOrder.id },
});
};
render() {
return (
<User>
- {({ data: { me }, error }) => {
- if (!me || !me.cart.length) return null;
- if (error) return <Error error={error} />;
+ {({ data: { me }, loading }) => {
+ if (loading) return null;
return (
<Mutation
mutation={CREATE_ORDER_MUTATION}
@@ -57,13 +56,13 @@ class TakeMyMoney extends Component {
{createOrder => (
<StripeCheckout
amount={calcTotalPrice(me.cart)}
- name="Sick Fits Haul"
- description={`Order of ${totalItems(me.cart)} Items From Sick Fits`}
- image={me.cart[0].item && me.cart[0].item.image}
- token={res => this.onToken(res, createOrder)}
- stripeKey="pk_lclTtThFp8CnO3QtEZSd8HA9mFUps"
+ name="Sick Fits"
+ description={`Order of ${totalItems(me.cart)} items!`}
+ image={me.cart.length && me.cart[0].item && me.cart[0].item.image}
+ stripeKey="pk_test_Vtknn6vSdcZWSG2JWvEiWSqC"
currency="USD"
email={me.email}
+ token={res => this.onToken(res, createOrder)}
>
{this.props.children}
</StripeCheckout>
@@ -76,8 +75,5 @@ class TakeMyMoney extends Component {
}
}
-TakeMyMoney.propTypes = {
- children: PropTypes.any,
-};
-
export default TakeMyMoney;
+export { CREATE_ORDER_MUTATION };