import React from 'react'; import { Query } from 'react-apollo'; import { formatDistance } from 'date-fns'; import Link from 'next/link'; import styled from 'styled-components'; import gql from 'graphql-tag'; import Error from './ErrorMessage'; import formatMoney from '../lib/formatMoney'; import OrderItemStyles from './styles/OrderItemStyles'; const USER_ORDERS_QUERY = gql` query USER_ORDERS_QUERY { orders(orderBy: createdAt_DESC) { id total createdAt items { id title price description quantity image } } } `; const orderUl = styled.ul` display: grid; grid-gap: 4rem; grid-template-columns: repeat(auto-fit, minmax(40%, 1fr)); `; class OrderList extends React.Component { render() { return ( {({ data: { orders }, loading, error }) => { if (loading) return

loading...

; if (error) return ; console.log(orders); return (

You have {orders.length} orders

{orders.map(order => (

{order.items.reduce((a, b) => a + b.quantity, 0)} Items

{order.items.length} Products

{formatDistance(order.createdAt, new Date())}

{formatMoney(order.total)}

{order.items.map(item => ( {item.title} ))}
))}
); }}
); } } export default OrderList;