summaryrefslogtreecommitdiffstats
path: root/finished-application/frontend/components/TakeMyMoney.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-09-13 14:18:56 -0400
committerWes Bos <wesbos@gmail.com>2018-09-13 14:18:56 -0400
commit8a5825d52271d712ec7c8348447d433067e13ef2 (patch)
treeba07c218c1b2d4e59c154f2059b69fd858ae65fe /finished-application/frontend/components/TakeMyMoney.js
parentb0d25a9ad3cc1df2fcc11ddb84e4603b94520b09 (diff)
DONE
Diffstat (limited to 'finished-application/frontend/components/TakeMyMoney.js')
-rw-r--r--finished-application/frontend/components/TakeMyMoney.js83
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;