summaryrefslogtreecommitdiffstats
path: root/frontend/components/Search.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-03-22 16:29:31 -0400
committerWes Bos <wesbos@gmail.com>2018-03-22 16:29:31 -0400
commita6af043686e4375d7944e91cae3d5b63c59edab0 (patch)
treef814d412b14a2a47f56c933ce38f458055f2f83b /frontend/components/Search.js
parent93495ce146c4e81ecfab3a0bca99460e75a759da (diff)
Migrate to render props
Diffstat (limited to 'frontend/components/Search.js')
-rw-r--r--frontend/components/Search.js38
1 files changed, 16 insertions, 22 deletions
diff --git a/frontend/components/Search.js b/frontend/components/Search.js
index d30789c..45f5961 100644
--- a/frontend/components/Search.js
+++ b/frontend/components/Search.js
@@ -1,15 +1,16 @@
import Downshift from 'downshift';
-import { graphql, compose } from 'react-apollo';
+import { Query } from 'react-apollo';
+import Router from 'next/router';
import styled from 'styled-components';
import { SEARCH_ITEMS_QUERY } from '../queries';
-import { Router } from '../routes';
function routeToItem(item) {
- console.log('TODO: UPdate routeToItem function');
- // Router.pushRoute('item', {
- // slug: slugify(item.title),
- // itemId: item.id,
- // });
+ Router.push({
+ pathname: '/item',
+ query: {
+ id: item.id,
+ },
+ });
}
const DropDown = styled.div`
@@ -52,7 +53,6 @@ function AutoComplete(props) {
placeholder: 'Search For Item',
id: 'search',
onChange: e => {
- console.log('Change happened');
props.refetch({ searchTerm: e.target.value });
},
style: { fontSize: '20px', padding: '10px', display: 'block', width: '100%' },
@@ -75,21 +75,15 @@ function AutoComplete(props) {
);
}
-const Search = props => (
+// TODO: This should not fire a queryon page load
+const Search = () => (
<SearchStyles>
- <AutoComplete
- items={props.searchItems.items}
- onChange={selectedItem => console.log(selectedItem)}
- refetch={props.searchItems.refetch}
- />
+ <Query query={SEARCH_ITEMS_QUERY} variables={{ searchTerm: '' }}>
+ {({ data, error, refetch }) => (
+ <AutoComplete items={data.items || []} onChange={selectedItem => console.log(selectedItem)} refetch={refetch} />
+ )}
+ </Query>
</SearchStyles>
);
-const searchEnhancer = graphql(SEARCH_ITEMS_QUERY, {
- name: 'searchItems',
- options: {
- // TODO: Why is this camo
- variables: { searchTerm: 'camo' },
- },
-});
-export default compose(searchEnhancer)(Search);
+export default Search;