blob: 8f6a099cbf302819dd01c6080c23899aab9de01a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import React from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
import formatMoney from '../lib/formatMoney';
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 }) => (
<CartItemStyles>
<img width="100" src={cartItem.item.image} alt={cartItem.item.title} />
<div className="cart-item-details">
<h3>{cartItem.item.title}</h3>
<p>
{formatMoney(cartItem.item.price * cartItem.quantity)}
{' - '}
<em>
{cartItem.quantity} × {formatMoney(cartItem.item.price)} each
</em>
</p>
</div>
</CartItemStyles>
);
CartItem.propTypes = {
cartItem: PropTypes.object.isRequired,
};
export default CartItem;
|