diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-03-22 21:11:15 -0400 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-03-22 21:11:15 -0400 |
| commit | 169b0953ad91f22bb3b2bf2d80d87ebfbe30d45d (patch) | |
| tree | e66454fb1055440996ae01cb980394d84715bf59 /frontend/components/SingleItem.js | |
| parent | a6af043686e4375d7944e91cae3d5b63c59edab0 (diff) | |
yay
Diffstat (limited to 'frontend/components/SingleItem.js')
| -rw-r--r-- | frontend/components/SingleItem.js | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/frontend/components/SingleItem.js b/frontend/components/SingleItem.js index 5a6373f..d4bec4f 100644 --- a/frontend/components/SingleItem.js +++ b/frontend/components/SingleItem.js @@ -1,23 +1,25 @@ -import { compose } from 'react-apollo'; -import { singleItemEnhancer } from '../enhancers/enhancers'; +import { Query } from 'react-apollo'; +import PropTypes from 'prop-types'; +import { SINGLE_ITEM_QUERY } from '../queries/index'; -const SingleItem = ({ findItem: { error, loading, items } }) => { - if (loading) return <p>Loading...</p>; - if (error) return <p>Error...</p>; - const item = items[0]; +const SingleItem = props => ( + <Query query={SINGLE_ITEM_QUERY} variables={{ id: props.id }}> + {({ data: { items }, loading, error }) => { + if (loading || error) return null; + const [item] = items; + return ( + <div> + <img src={item.largeImage || item.image} alt={item.title} /> + <h2>Viewing {item.title}</h2> + <p>{item.description}</p> + </div> + ); + }} + </Query> +); - if (!item) { - return <p>No Item Found</p>; - } - - return ( - <div> - <img src={item.largeImage || item.image} alt={item.title} /> - <h2>Viewing {item.title}</h2> - <p>{item.description}</p> - </div> - ); +SingleItem.propTypes = { + id: PropTypes.string.isRequired, }; -export default compose(singleItemEnhancer)(SingleItem); -export { SingleItem }; +export default SingleItem; |
