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 /stepped-solutions/FINISHED/frontend/components/AddToCart.js | |
| parent | b0d25a9ad3cc1df2fcc11ddb84e4603b94520b09 (diff) | |
DONE
Diffstat (limited to 'stepped-solutions/FINISHED/frontend/components/AddToCart.js')
| -rw-r--r-- | stepped-solutions/FINISHED/frontend/components/AddToCart.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/stepped-solutions/FINISHED/frontend/components/AddToCart.js b/stepped-solutions/FINISHED/frontend/components/AddToCart.js new file mode 100644 index 0000000..8a71cc3 --- /dev/null +++ b/stepped-solutions/FINISHED/frontend/components/AddToCart.js @@ -0,0 +1,36 @@ +import React from 'react'; +import { Mutation } from 'react-apollo'; +import gql from 'graphql-tag'; +import { CURRENT_USER_QUERY } from './User'; + +const ADD_TO_CART_MUTATION = gql` + mutation addToCart($id: ID!) { + addToCart(id: $id) { + id + quantity + } + } +`; + +class AddToCart extends React.Component { + render() { + const { id } = this.props; + return ( + <Mutation + mutation={ADD_TO_CART_MUTATION} + variables={{ + id, + }} + refetchQueries={[{ query: CURRENT_USER_QUERY }]} + > + {(addToCart, { loading }) => ( + <button disabled={loading} onClick={addToCart}> + Add{loading && 'ing'} To Cart 🛒 + </button> + )} + </Mutation> + ); + } +} +export default AddToCart; +export { ADD_TO_CART_MUTATION }; |
