summaryrefslogtreecommitdiffstats
path: root/stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-09-14 12:18:12 -0400
committerWes Bos <wesbos@gmail.com>2018-09-14 12:18:12 -0400
commit2d145b026cfdf54a63bef0b9d6324b6785390307 (patch)
treef6c1d8f987437803a5c026e70535bf9ff244e885 /stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js
parent8a5825d52271d712ec7c8348447d433067e13ef2 (diff)
move finished folder
Diffstat (limited to 'stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js')
-rw-r--r--stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js79
1 files changed, 0 insertions, 79 deletions
diff --git a/stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js b/stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js
deleted file mode 100644
index ca87832..0000000
--- a/stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js
+++ /dev/null
@@ -1,79 +0,0 @@
-import React from 'react';
-import StripeCheckout from 'react-stripe-checkout';
-import { Mutation } 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 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);
- });
- Router.push({
- pathname: '/order',
- query: { id: order.data.createOrder.id },
- });
- };
- render() {
- return (
- <User>
- {({ data: { me }, loading }) => {
- if (loading) return null;
- return (
- <Mutation
- mutation={CREATE_ORDER_MUTATION}
- refetchQueries={[{ query: CURRENT_USER_QUERY }]}
- >
- {createOrder => (
- <StripeCheckout
- amount={calcTotalPrice(me.cart)}
- 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>
- )}
- </Mutation>
- );
- }}
- </User>
- );
- }
-}
-
-export default TakeMyMoney;
-export { CREATE_ORDER_MUTATION };