import ApolloClient, { createNetworkInterface } from 'apollo-client' let apolloClient = null function createClient (headers) { return new ApolloClient({ ssrMode: !process.browser, headers, dataIdFromObject: result => result.id || null, networkInterface: createNetworkInterface({ uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn', opts: { credentials: 'same-origin' } }) }) } export const initClient = (headers) => { if (!process.browser) { return createClient(headers) } if (!apolloClient) { apolloClient = createClient(headers) } return apolloClient }