From c3bbebfcfeed7a9b8c7470d7b48e12046d834e59 Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Fri, 17 Aug 2018 15:51:02 -0400 Subject: suuuup everyone --- .../41/frontend/components/AddToCart.js | 29 +++++++++++++ stepped-solutions/41/frontend/components/Item.js | 50 ++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100755 stepped-solutions/41/frontend/components/AddToCart.js create mode 100755 stepped-solutions/41/frontend/components/Item.js (limited to 'stepped-solutions/41/frontend') diff --git a/stepped-solutions/41/frontend/components/AddToCart.js b/stepped-solutions/41/frontend/components/AddToCart.js new file mode 100755 index 0000000..0625a9c --- /dev/null +++ b/stepped-solutions/41/frontend/components/AddToCart.js @@ -0,0 +1,29 @@ +import React from 'react'; +import { Mutation } from 'react-apollo'; +import gql from 'graphql-tag'; + +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 ( + + {addToCart => } + + ); + } +} +export default AddToCart; diff --git a/stepped-solutions/41/frontend/components/Item.js b/stepped-solutions/41/frontend/components/Item.js new file mode 100755 index 0000000..2741dcf --- /dev/null +++ b/stepped-solutions/41/frontend/components/Item.js @@ -0,0 +1,50 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from 'next/link'; +import Title from './styles/Title'; +import ItemStyles from './styles/ItemStyles'; +import PriceTag from './styles/PriceTag'; +import formatMoney from '../lib/formatMoney'; +import DeleteItem from './DeleteItem'; +import AddToCart from './AddToCart'; + +export default class Item extends Component { + static propTypes = { + item: PropTypes.object.isRequired, + }; + + render() { + const { item } = this.props; + return ( + + {item.image && {item.title}} + + + <Link + href={{ + pathname: '/item', + query: { id: item.id }, + }} + > + <a>{item.title}</a> + </Link> + + {formatMoney(item.price)} +

{item.description}

+ +
+ + Edit ✏️ + + + Delete This Item +
+
+ ); + } +} -- cgit v1.3