diff options
Diffstat (limited to 'stepped-solutions/17/frontend/components/Item.js')
| -rwxr-xr-x | stepped-solutions/17/frontend/components/Item.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/stepped-solutions/17/frontend/components/Item.js b/stepped-solutions/17/frontend/components/Item.js new file mode 100755 index 0000000..092b443 --- /dev/null +++ b/stepped-solutions/17/frontend/components/Item.js @@ -0,0 +1,48 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Link from 'next/link'; +import Title from './styles/Title'; +import ItemStyles from './styles/ItemStyles'; +import PriceTag from './styles/PriceTag'; +import formatMoney from '../lib/formatMoney'; + +export default class Item extends Component { + static propTypes = { + item: PropTypes.object.isRequired, + }; + + render() { + const { item } = this.props; + return ( + <ItemStyles> + {item.image && <img src={item.image} alt={item.title} />} + + <Title> + <Link + href={{ + pathname: '/item', + query: { id: item.id }, + }} + > + <a>{item.title}</a> + </Link> + </Title> + <PriceTag>{formatMoney(item.price)}</PriceTag> + <p>{item.description}</p> + + <div className="buttonList"> + <Link + href={{ + pathname: 'update', + query: { id: item.id }, + }} + > + <a>Edit ✏️</a> + </Link> + <button>Add To Cart</button> + <button>Delete </button> + </div> + </ItemStyles> + ); + } +} |
