diff options
Diffstat (limited to 'frontend/components/CartItem.js')
| -rw-r--r-- | frontend/components/CartItem.js | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/frontend/components/CartItem.js b/frontend/components/CartItem.js index 895b688..6c6d575 100644 --- a/frontend/components/CartItem.js +++ b/frontend/components/CartItem.js @@ -20,22 +20,31 @@ const CartItemStyles = styled.li` } `; -const CartItem = ({ cartItem }) => ( - <CartItemStyles key={cartItem.id}> - <img width="100" src={cartItem.item.image} alt={cartItem.item.title} /> - <div className="cart-item-details"> - <h3>{cartItem.item.title}</h3> - <p> - {formatMoney(cartItem.quantity * cartItem.item.price)} - {' — '} - <em> - {cartItem.quantity} × {formatMoney(cartItem.item.price)} each - </em> - </p> - </div> - <RemoveFromCart id={cartItem.id} /> - </CartItemStyles> -); +const CartItem = ({ cartItem }) => { + if (!cartItem.item) + return ( + <CartItemStyles key={cartItem.id}> + <p>Ack! That Item is gone!</p> + <RemoveFromCart id={cartItem.id} /> + </CartItemStyles> + ); + return ( + <CartItemStyles key={cartItem.id}> + <img width="100" src={cartItem.item.image} alt={cartItem.item.title} /> + <div className="cart-item-details"> + <h3>{cartItem.item.title}</h3> + <p> + {formatMoney(cartItem.quantity * cartItem.item.price)} + {' — '} + <em> + {cartItem.quantity} × {formatMoney(cartItem.item.price)} each + </em> + </p> + </div> + <RemoveFromCart id={cartItem.id} /> + </CartItemStyles> + ); +}; CartItem.propTypes = { cartItem: PropTypes.object.isRequired, |
