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 { USER_ORDERS_QUERY } from '../queries/queries.graphql'; import formatMoney from '../lib/formatMoney'; import OrderItemStyles from './styles/OrderItemStyles'; 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

Error...

; if (!orders || !orders.length) return

No Orders Yet!

; 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())} ago

{formatMoney(order.total)} Total

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