summaryrefslogtreecommitdiffstats
path: root/frontend
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-03-29 16:44:01 -0400
committerWes Bos <wesbos@gmail.com>2018-03-29 16:44:01 -0400
commit1e8c7c0fdcdc2c10274723bfbed17256b4e3b7f7 (patch)
tree1f9177ff343cbcf231138a78607b7438ba99f98f /frontend
parentf6ab501371a759399dd4df46ac6a8ebc1226ca73 (diff)
auth problems
Diffstat (limited to 'frontend')
-rw-r--r--frontend/components/Nav.js14
-rw-r--r--frontend/components/Signin.js1
-rw-r--r--frontend/components/SingleItem.js4
-rw-r--r--frontend/lib/withData.js34
-rw-r--r--frontend/package-lock.json165
-rw-r--r--frontend/package.json5
6 files changed, 131 insertions, 92 deletions
diff --git a/frontend/components/Nav.js b/frontend/components/Nav.js
index b898fd5..a51f7ca 100644
--- a/frontend/components/Nav.js
+++ b/frontend/components/Nav.js
@@ -6,6 +6,7 @@ import { CURRENT_USER_QUERY } from '../queries/index';
import CartCount from './CartCount';
import Signout from './Signout';
import { UIContext } from './UIContext';
+import Dump from './Dump';
const StyledUl = styled.ul`
margin: 0;
@@ -61,11 +62,22 @@ class Nav extends React.Component {
render() {
return (
<Query query={CURRENT_USER_QUERY}>
- {({ data: { me } }) => (
+ {({ data: { me }, refetch, loading, error }) => (
<StyledUl>
<Link prefetch href="/items">
<a>Shop</a>
</Link>
+ <button
+ onClick={() => {
+ console.log('refetching!!');
+ refetch()
+ .then(console.log)
+ .catch(console.error);
+ console.log('done');
+ }}
+ >
+ Refetch User
+ </button>
<Link prefetch href="/add">
<a>Sell</a>
</Link>
diff --git a/frontend/components/Signin.js b/frontend/components/Signin.js
index 846fd0c..eeff57c 100644
--- a/frontend/components/Signin.js
+++ b/frontend/components/Signin.js
@@ -19,7 +19,6 @@ class Signin extends Component {
};
update = (proxy, payload) => {
- console.log(proxy);
const data = proxy.readQuery({ query: CURRENT_USER_QUERY });
data.me = payload.data.signin.user;
proxy.writeQuery({ query: CURRENT_USER_QUERY, data });
diff --git a/frontend/components/SingleItem.js b/frontend/components/SingleItem.js
index d284619..53d5b9f 100644
--- a/frontend/components/SingleItem.js
+++ b/frontend/components/SingleItem.js
@@ -24,10 +24,6 @@ const SingleItem = props => (
<Query query={SINGLE_ITEM_QUERY} variables={{ id: props.id }}>
{({ data: { items }, loading, error }) => {
if (loading) return <p>Loading...</p>;
- {
- console.log(`---Loading: ${loading}-----`);
- console.log('--------\n\n\n');
- }
const [item] = items;
return (
<SingleItemStyles>
diff --git a/frontend/lib/withData.js b/frontend/lib/withData.js
index 697cf79..5a32fe3 100644
--- a/frontend/lib/withData.js
+++ b/frontend/lib/withData.js
@@ -9,7 +9,10 @@ export default withApollo({
// cache: new InMemoryCache().restore(initialState || {}),
// ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once)
request: operation => {
+ console.log('hey');
if (typeof localStorage !== 'undefined' && localStorage.getItem('token')) {
+ console.log('heyyy');
+ console.log(`Bearer ${localStorage.getItem('token')}`);
operation.setContext({
headers: {
authorization: `Bearer ${localStorage.getItem('token')}`,
@@ -19,3 +22,34 @@ export default withApollo({
},
}),
});
+
+// OPTION 2
+
+// import { withData } from 'next-apollo';
+// import { HttpLink } from 'apollo-link-http';
+// import { ApolloLink } from 'apollo-link';
+
+// // can also be a function that accepts a `headers` object (SSR only) and returns a config
+// const networkLink = new HttpLink({
+// uri: 'http://localhost:4444', // Server URL (must be absolute)
+// opts: {
+// credentials: 'same-origin', // Additional fetch() options like `credentials` or `headers`
+// },
+// });
+
+// const middlewareLink = new ApolloLink((operation, forward) => {
+// if (typeof localStorage !== 'undefined' && localStorage.getItem('token')) {
+// console.log('heyyy');
+// console.log(`Bearer ${localStorage.getItem('token')}`);
+// operation.setContext({
+// headers: {
+// authorization: `Bearer ${localStorage.getItem('token')}`,
+// },
+// });
+// }
+// return forward(operation);
+// });
+
+// const link = middlewareLink.concat(networkLink);
+
+// export default withData({ link });
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 8ab2ad0..ce55ad2 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -1575,7 +1575,7 @@
"content-type": "1.0.4",
"debug": "2.6.9",
"depd": "1.1.2",
- "http-errors": "1.6.2",
+ "http-errors": "1.6.3",
"iconv-lite": "0.4.19",
"on-finished": "2.3.0",
"qs": "6.5.1",
@@ -3395,7 +3395,7 @@
"object.values": "1.0.4",
"prop-types": "15.6.1",
"react-reconciler": "0.7.0",
- "react-test-renderer": "16.2.0"
+ "react-test-renderer": "16.3.0"
}
},
"enzyme-adapter-utils": {
@@ -5789,26 +5789,14 @@
"integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
},
"http-errors": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
- "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"requires": {
- "depd": "1.1.1",
+ "depd": "1.1.2",
"inherits": "2.0.3",
- "setprototypeof": "1.0.3",
+ "setprototypeof": "1.1.0",
"statuses": "1.4.0"
- },
- "dependencies": {
- "depd": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
- "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
- },
- "setprototypeof": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
- "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
- }
}
},
"http-signature": {
@@ -8476,6 +8464,22 @@
"write-file-webpack-plugin": "4.2.0"
},
"dependencies": {
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.4.0"
+ }
+ },
"path-to-regexp": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.1.0.tgz",
@@ -8497,7 +8501,7 @@
"integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==",
"requires": {
"debug": "2.6.9",
- "depd": "1.1.2",
+ "depd": "1.1.1",
"destroy": "1.0.4",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
@@ -8509,12 +8513,19 @@
"on-finished": "2.3.0",
"range-parser": "1.2.0",
"statuses": "1.3.1"
+ },
+ "dependencies": {
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
+ }
}
},
- "statuses": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
- "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
}
}
},
@@ -8528,9 +8539,9 @@
"isomorphic-fetch": "2.2.1",
"lodash.isfunction": "3.0.9",
"next": "5.1.0",
- "react": "16.2.0",
+ "react": "16.3.0",
"react-apollo": "2.1.1",
- "react-dom": "16.2.0"
+ "react-dom": "16.3.0"
},
"dependencies": {
"graphql": {
@@ -8545,28 +8556,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz",
"integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ=="
- },
- "react": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz",
- "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==",
- "requires": {
- "fbjs": "0.8.16",
- "loose-envify": "1.3.1",
- "object-assign": "4.1.1",
- "prop-types": "15.6.1"
- }
- },
- "react-dom": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz",
- "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==",
- "requires": {
- "fbjs": "0.8.16",
- "loose-envify": "1.3.1",
- "object-assign": "4.1.1",
- "prop-types": "15.6.1"
- }
}
}
},
@@ -8593,9 +8582,9 @@
"isomorphic-unfetch": "2.0.0",
"next": "4.2.3",
"prop-types": "15.6.1",
- "react": "16.2.0",
+ "react": "16.3.0",
"react-apollo": "2.1.1",
- "react-dom": "16.2.0"
+ "react-dom": "16.3.0"
},
"dependencies": {
"ajv": {
@@ -8732,28 +8721,6 @@
}
}
},
- "react": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz",
- "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==",
- "requires": {
- "fbjs": "0.8.16",
- "loose-envify": "1.3.1",
- "object-assign": "4.1.1",
- "prop-types": "15.6.1"
- }
- },
- "react-dom": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz",
- "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==",
- "requires": {
- "fbjs": "0.8.16",
- "loose-envify": "1.3.1",
- "object-assign": "4.1.1",
- "prop-types": "15.6.1"
- }
- },
"react-hot-loader": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.1.1.tgz",
@@ -8785,7 +8752,7 @@
"escape-html": "1.0.3",
"etag": "1.8.1",
"fresh": "0.5.2",
- "http-errors": "1.6.2",
+ "http-errors": "1.6.3",
"mime": "1.4.1",
"ms": "2.0.0",
"on-finished": "2.3.0",
@@ -10030,6 +9997,29 @@
"http-errors": "1.6.2",
"iconv-lite": "0.4.19",
"unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.4.0"
+ }
+ },
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
+ }
}
},
"rc": {
@@ -10044,9 +10034,9 @@
}
},
"react": {
- "version": "16.3.0-rc.0",
- "resolved": "https://registry.npmjs.org/react/-/react-16.3.0-rc.0.tgz",
- "integrity": "sha512-ohdp5PToOd2dutz7ueMcH3zi9Xa53x1ZEZQmW/zVD4vx/SO85NBzfwSTUQT0YqwdB+DYArvl1HiAaEcVpmbZQA==",
+ "version": "16.3.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.3.0.tgz",
+ "integrity": "sha512-Qh35tNbwY8SLFELkN3PCLO16EARV+lgcmNkQnoZXfzAF1ASRpeucZYUwBlBzsRAzTb7KyfBaLQ4/K/DLC6MYeA==",
"requires": {
"fbjs": "0.8.16",
"loose-envify": "1.3.1",
@@ -10072,9 +10062,9 @@
"integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk="
},
"react-dom": {
- "version": "16.3.0-rc.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.0-rc.0.tgz",
- "integrity": "sha512-+iyeHHeVPKI5VIYQLVRxkEgRG01FnLLlGOvkdAvv2c29AaXBKbRu4UBJ8boRkjASLnacxGR9jmpVZZgBtGz1Zw==",
+ "version": "16.3.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.0.tgz",
+ "integrity": "sha512-xT/FxawAurL6AV8YtAP7LkdDJFFX2vvv17AqFLQRF81ZtWLXkV/0dcAaiFIy0lmoQEFT931TU9aaH+5dBUxTcw==",
"requires": {
"fbjs": "0.8.16",
"loose-envify": "1.3.1",
@@ -10110,6 +10100,12 @@
}
}
},
+ "react-is": {
+ "version": "16.3.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.3.0.tgz",
+ "integrity": "sha512-YOo+BNK2z8LiDxh2viaOklPqhwrMMsNPWnXTseOqJa8/ob8mv9aD9Z5FqqQnKNbIerBm+DoIwjAAAKcpdDo1/w==",
+ "dev": true
+ },
"react-proxy": {
"version": "3.0.0-alpha.1",
"resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz",
@@ -10148,14 +10144,15 @@
"integrity": "sha1-MXOocLBOWjwyGgbSTNU8YDARHEU="
},
"react-test-renderer": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.2.0.tgz",
- "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==",
+ "version": "16.3.0",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.3.0.tgz",
+ "integrity": "sha512-7FAfgIT8Kvew36b2VFXnhMxjKkwAnicD1dyopq7Ot19WAhfJkyhYNwPzM1AnCfYccvEhO0x4FbqJETyMGQwgIg==",
"dev": true,
"requires": {
"fbjs": "0.8.16",
"object-assign": "4.1.1",
- "prop-types": "15.6.1"
+ "prop-types": "15.6.1",
+ "react-is": "16.3.0"
}
},
"react-transition-group": {
@@ -10738,7 +10735,7 @@
"escape-html": "1.0.3",
"etag": "1.8.1",
"fresh": "0.5.2",
- "http-errors": "1.6.2",
+ "http-errors": "1.6.3",
"mime": "1.4.1",
"ms": "2.0.0",
"on-finished": "2.3.0",
diff --git a/frontend/package.json b/frontend/package.json
index 88f43ec..15ec605 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -28,11 +28,12 @@
"graphql-tag": "^2.8.0",
"isomorphic-fetch": "^2.2.1",
"next": "^5.1.0",
+ "next-apollo": "^1.0.13",
"next-with-apollo": "^1.0.6",
"nprogress": "^0.2.0",
"prop-types": "^15.6.1",
"react": "^16.3.0-alpha.1",
- "react-apollo": "^2.1.1",
+ "react-apollo": "^2.1.0",
"react-dom": "^16.3.0-alpha.1",
"react-spinners": "^0.2.6",
"react-stripe-checkout": "^2.6.3",
@@ -110,4 +111,4 @@
}
}
}
-} \ No newline at end of file
+}