Files
automatisch/packages/web/src/components/ApolloProvider/index.tsx
2021-10-23 18:53:48 +02:00

27 lines
664 B
TypeScript

import * as React from 'react';
import { ApolloProvider as BaseApolloProvider } from '@apollo/client';
import { useSnackbar } from 'notistack';
import client, { setLink } from 'graphql/client';
type ApolloProviderProps = {
children: React.ReactNode;
};
const ApolloProvider = (props: ApolloProviderProps) => {
const { enqueueSnackbar } = useSnackbar();
const onError = React.useCallback((message) => {
enqueueSnackbar(message, { variant: 'error' });
}, [enqueueSnackbar]);
React.useEffect(() => {
setLink({ onError })
}, [onError]);
return (
<BaseApolloProvider client={client} {...props} />
);
};
export default ApolloProvider;