summaryrefslogtreecommitdiffstats
path: root/frontend/components/SingleItem.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-03-22 21:11:15 -0400
committerWes Bos <wesbos@gmail.com>2018-03-22 21:11:15 -0400
commit169b0953ad91f22bb3b2bf2d80d87ebfbe30d45d (patch)
treee66454fb1055440996ae01cb980394d84715bf59 /frontend/components/SingleItem.js
parenta6af043686e4375d7944e91cae3d5b63c59edab0 (diff)
yay
Diffstat (limited to 'frontend/components/SingleItem.js')
-rw-r--r--frontend/components/SingleItem.js40
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;