From 2d145b026cfdf54a63bef0b9d6324b6785390307 Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Fri, 14 Sep 2018 12:18:12 -0400 Subject: move finished folder --- .../FINISHED/frontend/components/AddToCart.js | 36 ------ .../FINISHED/frontend/components/Cart.js | 66 ---------- .../FINISHED/frontend/components/CartCount.js | 60 --------- .../FINISHED/frontend/components/CartItem.js | 53 -------- .../FINISHED/frontend/components/CreateItem.js | 142 --------------------- .../FINISHED/frontend/components/DeleteItem.js | 50 -------- .../FINISHED/frontend/components/ErrorMessage.js | 51 -------- .../FINISHED/frontend/components/Header.js | 75 ----------- .../FINISHED/frontend/components/Item.js | 50 -------- .../FINISHED/frontend/components/Items.js | 61 --------- .../FINISHED/frontend/components/Meta.js | 13 -- .../FINISHED/frontend/components/Nav.js | 49 ------- .../FINISHED/frontend/components/Order.js | 92 ------------- .../FINISHED/frontend/components/OrderList.js | 80 ------------ .../FINISHED/frontend/components/Page.js | 68 ---------- .../FINISHED/frontend/components/Pagination.js | 67 ---------- .../FINISHED/frontend/components/Permissions.js | 131 ------------------- .../FINISHED/frontend/components/PleaseSignIn.js | 22 ---- .../FINISHED/frontend/components/RemoveFromCart.js | 71 ----------- .../FINISHED/frontend/components/RequestReset.js | 60 --------- .../FINISHED/frontend/components/Reset.js | 84 ------------ .../FINISHED/frontend/components/Search.js | 94 -------------- .../FINISHED/frontend/components/Signin.js | 76 ----------- .../FINISHED/frontend/components/Signout.js | 19 --- .../FINISHED/frontend/components/Signup.js | 87 ------------- .../FINISHED/frontend/components/SingleItem.js | 70 ---------- .../FINISHED/frontend/components/TakeMyMoney.js | 79 ------------ .../FINISHED/frontend/components/UpdateItem.js | 117 ----------------- .../FINISHED/frontend/components/User.js | 41 ------ .../frontend/components/styles/CartStyles.js | 47 ------- .../frontend/components/styles/CloseButton.js | 13 -- .../frontend/components/styles/DropDown.js | 47 ------- .../FINISHED/frontend/components/styles/Form.js | 71 ----------- .../frontend/components/styles/ItemStyles.js | 39 ------ .../frontend/components/styles/NavStyles.js | 66 ---------- .../frontend/components/styles/OrderItemStyles.js | 44 ------- .../frontend/components/styles/OrderStyles.js | 37 ------ .../frontend/components/styles/PaginationStyles.js | 27 ---- .../frontend/components/styles/PriceTag.js | 17 --- .../frontend/components/styles/SickButton.js | 20 --- .../FINISHED/frontend/components/styles/Supreme.js | 13 -- .../FINISHED/frontend/components/styles/Table.js | 35 ----- .../FINISHED/frontend/components/styles/Title.js | 20 --- 43 files changed, 2460 deletions(-) delete mode 100644 stepped-solutions/FINISHED/frontend/components/AddToCart.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Cart.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/CartCount.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/CartItem.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/CreateItem.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/DeleteItem.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/ErrorMessage.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Header.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Item.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Items.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Meta.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Nav.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Order.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/OrderList.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Page.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Pagination.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Permissions.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/PleaseSignIn.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/RemoveFromCart.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/RequestReset.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Reset.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Search.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Signin.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Signout.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/Signup.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/SingleItem.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/TakeMyMoney.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/UpdateItem.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/User.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/CartStyles.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/CloseButton.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/DropDown.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/Form.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/ItemStyles.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/NavStyles.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/OrderItemStyles.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/OrderStyles.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/PaginationStyles.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/PriceTag.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/SickButton.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/Supreme.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/Table.js delete mode 100644 stepped-solutions/FINISHED/frontend/components/styles/Title.js (limited to 'stepped-solutions/FINISHED/frontend/components') diff --git a/stepped-solutions/FINISHED/frontend/components/AddToCart.js b/stepped-solutions/FINISHED/frontend/components/AddToCart.js deleted file mode 100644 index 8a71cc3..0000000 --- a/stepped-solutions/FINISHED/frontend/components/AddToCart.js +++ /dev/null @@ -1,36 +0,0 @@ -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 ( - - {(addToCart, { loading }) => ( - - )} - - ); - } -} -export default AddToCart; -export { ADD_TO_CART_MUTATION }; diff --git a/stepped-solutions/FINISHED/frontend/components/Cart.js b/stepped-solutions/FINISHED/frontend/components/Cart.js deleted file mode 100644 index 2a72b38..0000000 --- a/stepped-solutions/FINISHED/frontend/components/Cart.js +++ /dev/null @@ -1,66 +0,0 @@ -import React from 'react'; -import { Query, Mutation } from 'react-apollo'; -import gql from 'graphql-tag'; -import { adopt } from 'react-adopt'; -import User from './User'; -import CartStyles from './styles/CartStyles'; -import Supreme from './styles/Supreme'; -import CloseButton from './styles/CloseButton'; -import SickButton from './styles/SickButton'; -import CartItem from './CartItem'; -import calcTotalPrice from '../lib/calcTotalPrice'; -import formatMoney from '../lib/formatMoney'; -import TakeMyMoney from './TakeMyMoney'; - -const LOCAL_STATE_QUERY = gql` - query { - cartOpen @client - } -`; - -const TOGGLE_CART_MUTATION = gql` - mutation { - toggleCart @client - } -`; -/* eslint-disable */ -const Composed = adopt({ - user: ({ render }) => {render}, - toggleCart: ({ render }) => {render}, - localState: ({ render }) => {render}, -}); -/* eslint-enable */ - -const Cart = () => ( - - {({ user, toggleCart, localState }) => { - const me = user.data.me; - if (!me) return null; - return ( - -
- - × - - {me.name}'s Cart -

- You Have {me.cart.length} Item{me.cart.length === 1 ? '' : 's'} in your cart. -

-
-
    {me.cart.map(cartItem => )}
-
-

{formatMoney(calcTotalPrice(me.cart))}

- {me.cart.length && ( - - Checkout - - )} -
-
- ); - }} -
-); - -export default Cart; -export { LOCAL_STATE_QUERY, TOGGLE_CART_MUTATION }; diff --git a/stepped-solutions/FINISHED/frontend/components/CartCount.js b/stepped-solutions/FINISHED/frontend/components/CartCount.js deleted file mode 100644 index c202d74..0000000 --- a/stepped-solutions/FINISHED/frontend/components/CartCount.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { TransitionGroup, CSSTransition } from 'react-transition-group'; -import styled from 'styled-components'; - -const AnimationStyles = styled.span` - position: relative; - .count { - display: block; - position: relative; - transition: all 0.4s; - backface-visibility: hidden; - } - /* Intial State of the entered Dot */ - .count-enter { - transform: scale(4) rotateX(0.5turn); - } - .count-enter-active { - transform: rotateX(0); - } - .count-exit { - top: 0; - position: absolute; - transform: rotateX(0); - } - .count-exit-active { - transform: scale(4) rotateX(0.5turn); - } -`; - -const Dot = styled.div` - background: ${props => props.theme.red}; - color: white; - border-radius: 50%; - padding: 0.5rem; - line-height: 2rem; - min-width: 3rem; - margin-left: 1rem; - font-weight: 100; - font-feature-settings: 'tnum'; - font-variant-numeric: tabular-nums; -`; - -const CartCount = ({ count }) => ( - - - - {count} - - - -); - -export default CartCount; diff --git a/stepped-solutions/FINISHED/frontend/components/CartItem.js b/stepped-solutions/FINISHED/frontend/components/CartItem.js deleted file mode 100644 index b0ce62e..0000000 --- a/stepped-solutions/FINISHED/frontend/components/CartItem.js +++ /dev/null @@ -1,53 +0,0 @@ -import React from 'react'; -import styled from 'styled-components'; -import PropTypes from 'prop-types'; -import formatMoney from '../lib/formatMoney'; -import RemoveFromCart from './RemoveFromCart'; - -const CartItemStyles = styled.li` - padding: 1rem 0; - border-bottom: 1px solid ${props => props.theme.lightgrey}; - display: grid; - align-items: center; - grid-template-columns: auto 1fr auto; - img { - margin-right: 10px; - } - h3, - p { - margin: 0; - } -`; - -const CartItem = ({ cartItem }) => { - // first check if that item exists - if (!cartItem.item) - return ( - -

This Item has been removed

- -
- ); - return ( - - {cartItem.item.title} -
-

{cartItem.item.title}

-

- {formatMoney(cartItem.item.price * cartItem.quantity)} - {' - '} - - {cartItem.quantity} × {formatMoney(cartItem.item.price)} each - -

-
- -
- ); -}; - -CartItem.propTypes = { - cartItem: PropTypes.object.isRequired, -}; - -export default CartItem; diff --git a/stepped-solutions/FINISHED/frontend/components/CreateItem.js b/stepped-solutions/FINISHED/frontend/components/CreateItem.js deleted file mode 100644 index c115eac..0000000 --- a/stepped-solutions/FINISHED/frontend/components/CreateItem.js +++ /dev/null @@ -1,142 +0,0 @@ -import React, { Component } from 'react'; -import { Mutation } from 'react-apollo'; -import gql from 'graphql-tag'; -import Router from 'next/router'; -import Form from './styles/Form'; -import formatMoney from '../lib/formatMoney'; -import Error from './ErrorMessage'; - -const CREATE_ITEM_MUTATION = gql` - mutation CREATE_ITEM_MUTATION( - $title: String! - $description: String! - $price: Int! - $image: String - $largeImage: String - ) { - createItem( - title: $title - description: $description - price: $price - image: $image - largeImage: $largeImage - ) { - id - } - } -`; - -class CreateItem extends Component { - state = { - title: '', - description: '', - image: '', - largeImage: '', - price: 0, - }; - handleChange = e => { - const { name, type, value } = e.target; - const val = type === 'number' ? parseFloat(value) : value; - this.setState({ [name]: val }); - }; - - uploadFile = async e => { - const files = e.target.files; - const data = new FormData(); - data.append('file', files[0]); - data.append('upload_preset', 'sickfits'); - - const res = await fetch('https://api.cloudinary.com/v1_1/wesbostutorial/image/upload', { - method: 'POST', - body: data, - }); - const file = await res.json(); - this.setState({ - image: file.secure_url, - largeImage: file.eager[0].secure_url, - }); - }; - render() { - return ( - - {(createItem, { loading, error }) => ( -
{ - // Stop the form from submitting - e.preventDefault(); - // call the mutation - const res = await createItem(); - // change them to the single item page - console.log(res); - Router.push({ - pathname: '/item', - query: { id: res.data.createItem.id }, - }); - }} - > - -
- - - - - - -