diff options
Diffstat (limited to 'finished-application/frontend/lib/withData.js')
| -rw-r--r-- | finished-application/frontend/lib/withData.js | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/finished-application/frontend/lib/withData.js b/finished-application/frontend/lib/withData.js index 0256ba9..c5cce8d 100644 --- a/finished-application/frontend/lib/withData.js +++ b/finished-application/frontend/lib/withData.js @@ -1,11 +1,11 @@ import withApollo from 'next-with-apollo'; import ApolloClient from 'apollo-boost'; +import { endpoint, prodEndpoint } from '../config'; import { LOCAL_STATE_QUERY } from '../components/Cart'; -import { endpoint } from '../config'; function createClient({ headers }) { return new ApolloClient({ - uri: process.env.NODE_ENV === 'development' ? endpoint : endpoint, + uri: process.env.NODE_ENV === 'development' ? endpoint : prodEndpoint, request: operation => { operation.setContext({ fetchOptions: { @@ -14,12 +14,19 @@ function createClient({ headers }) { headers, }); }, + // local data clientState: { resolvers: { Mutation: { toggleCart(_, variables, { cache }) { - const { cartOpen } = cache.readQuery({ query: LOCAL_STATE_QUERY }); - const data = { data: { cartOpen: !cartOpen } }; + // read the cartOpen value from the cache + const { cartOpen } = cache.readQuery({ + query: LOCAL_STATE_QUERY, + }); + // Write the cart State to the opposite + const data = { + data: { cartOpen: !cartOpen }, + }; cache.writeData(data); return data; }, |
