summaryrefslogtreecommitdiffstats
path: root/frontend/components/User.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-05-24 15:19:21 -0400
committerWes Bos <wesbos@gmail.com>2018-05-24 15:19:21 -0400
commit072eca0e5038a7755ca9b2c94dfe1a0c3f110968 (patch)
treea6c54e1503baf665ad0eeaeaad6d2a2b7ba3ba39 /frontend/components/User.js
parentb294a6fa500b165aae86afbad5fce49a02314b0d (diff)
colocate queries and components
Diffstat (limited to 'frontend/components/User.js')
-rw-r--r--frontend/components/User.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/frontend/components/User.js b/frontend/components/User.js
new file mode 100644
index 0000000..19c568d
--- /dev/null
+++ b/frontend/components/User.js
@@ -0,0 +1,45 @@
+import { Query } from 'react-apollo';
+import gql from 'graphql-tag';
+import PropTypes from 'prop-types';
+
+const CURRENT_USER_QUERY = gql`
+ query {
+ me {
+ id
+ email
+ name
+ permissions
+ orders {
+ id
+ charge
+ total
+ }
+ cart {
+ id
+ quantity
+ item {
+ __typename
+ id
+ title
+ price
+ description
+ image
+ largeImage
+ }
+ }
+ }
+ }
+`;
+
+const User = props => (
+ <Query {...props} query={CURRENT_USER_QUERY}>
+ {result => props.children(result)}
+ </Query>
+);
+
+User.propTypes = {
+ children: PropTypes.func.isRequired,
+};
+
+export default User;
+export { CURRENT_USER_QUERY };