localState.js 550 B

12345678910111213141516171819202122232425262728293031323334
  1. import gql from 'graphql-tag'
  2. export const typeDefs = gql`
  3. extend type Query {
  4. isLoggedIn: Boolean!
  5. }
  6. `
  7. const LOCAL_STATE_QUERY = gql`
  8. query {
  9. menuOpen @client
  10. }
  11. `
  12. const TOGGLE_MENU_MUTATION = gql`
  13. mutation {
  14. toggleMenu @client
  15. }
  16. `
  17. export const resolvers = {
  18. Mutation: {
  19. toggleMenu(_, variables, {chache}) {
  20. const {menuOpen} = cache.readQuery({
  21. query: LOCAL_STATE_QUERY
  22. })
  23. const data = {
  24. data: {menuOpen: !menuOpen}
  25. }
  26. cache.writeData(data)
  27. return data
  28. }
  29. }
  30. }