import { Component } from 'react'; import { Mutation } from 'react-apollo'; import styled from 'styled-components'; import PropTypes from 'prop-types'; import gql from 'graphql-tag'; import { CURRENT_USER_QUERY } from './User'; const REMOVE_FROM_CART_MUTATION = gql` mutation removeFromCart($id: ID!) { removeFromCart(id: $id) { id } } `; const BigButton = styled.button` font-size: 3rem; background: none; border: 0; &:hover { color: ${props => props.theme.red}; cursor: pointer; } `; class RemoveFromCart extends Component { static propTypes = { id: PropTypes.string.isRequired, }; update = (cache, payload) => { const data = cache.readQuery({ query: CURRENT_USER_QUERY }); // console.log(data.me.cart[0]); const cartItemId = payload.data.removeFromCart.id; data.me.cart = data.me.cart.filter(cartItem => cartItem.id !== cartItemId); cache.writeQuery({ query: CURRENT_USER_QUERY, data }); }; render() { return ( {(removeFromCart, { loading }) => ( × )} ); } } export default RemoveFromCart; export { REMOVE_FROM_CART_MUTATION };