diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-09-13 14:18:56 -0400 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-09-13 14:18:56 -0400 |
| commit | 8a5825d52271d712ec7c8348447d433067e13ef2 (patch) | |
| tree | ba07c218c1b2d4e59c154f2059b69fd858ae65fe /finished-application/frontend/components/TakeMyMoney.js | |
| parent | b0d25a9ad3cc1df2fcc11ddb84e4603b94520b09 (diff) | |
DONE
Diffstat (limited to 'finished-application/frontend/components/TakeMyMoney.js')
| -rw-r--r-- | finished-application/frontend/components/TakeMyMoney.js | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/finished-application/frontend/components/TakeMyMoney.js b/finished-application/frontend/components/TakeMyMoney.js deleted file mode 100644 index b9e42ea..0000000 --- a/finished-application/frontend/components/TakeMyMoney.js +++ /dev/null @@ -1,83 +0,0 @@ -import { Component } from 'react'; -import StripeCheckout from 'react-stripe-checkout'; -import { Mutation, Query } from 'react-apollo'; -import Router from 'next/router'; -import NProgress from 'nprogress'; -import PropTypes from 'prop-types'; -import gql from 'graphql-tag'; -import calcTotalPrice from '../lib/calcTotalPrice'; -import Error from './ErrorMessage'; -import User, { CURRENT_USER_QUERY } from './User'; - -const CREATE_ORDER_MUTATION = gql` - mutation createOrder($token: String!) { - createOrder(token: $token) { - id - charge - total - items { - id - title - } - } - } -`; - -function totalItems(cart) { - return cart.reduce((tally, cartItem) => tally + cartItem.quantity, 0); -} - -class TakeMyMoney extends Component { - onToken = async (res, createOrder) => { - NProgress.start(); - const order = await createOrder({ - variables: { - token: res.id, - }, - }); - console.log(order); - // Route them to that order page - const { id } = order.data.createOrder; - Router.push({ - pathname: `/order`, - query: { id }, - }); - }; - render() { - return ( - <User> - {({ data: { me }, error }) => { - if (!me || !me.cart.length) return null; - if (error) return <Error error={error} />; - return ( - <Mutation - mutation={CREATE_ORDER_MUTATION} - refetchQueries={[{ query: CURRENT_USER_QUERY }]} - > - {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" - currency="USD" - email={me.email} - > - {this.props.children} - </StripeCheckout> - )} - </Mutation> - ); - }} - </User> - ); - } -} - -TakeMyMoney.propTypes = { - children: PropTypes.any, -}; - -export default TakeMyMoney; |
