]> git.r.bdr.sh - rbdr/forum/blobdiff - src/stores/forum.js
Add animation to error block
[rbdr/forum] / src / stores / forum.js
index e7d335e14b0c7b729e3f0fc95a1ee5840821650f..110da5792d749de66192166268bd047f64d6855a 100644 (file)
@@ -1,39 +1,4 @@
-import { ApolloError } from '@apollo/client/core';
-import { readable } from 'svelte/store';
-import { client } from '$config/apollo';
+import { store } from './apollo';
 import { GET_FORUM } from '$data/queries';
 
-const internals = {
-
-  // The exported data structure
-
-  initialValue: {
-    loading: true,
-    data: null,
-    error: undefined
-  }
-};
-
-export const getForum = function forum(id) {
-
-  return readable(internals.initialValue, (set) => {
-
-    client.watchQuery({ query: GET_FORUM, variables: { id } }).subscribe((result) => {
-
-      if (result.errors) {
-        const error = new ApolloError({ graphQLErrors: result.errors });
-        return set({
-          loading: false,
-          data: null,
-          error
-        });
-      }
-
-      set({
-        loading: false,
-        data: result.data.forum,
-        error: undefined
-      });
-    });
-  });
-};
+export const getForum = (id) => store({ key: 'forum', query: GET_FORUM, variables: { id } });