This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
website/pages/_app.tsx

31 lines
873 B
TypeScript
Raw Normal View History

2021-03-17 04:26:32 +00:00
import '@kichiyaki/roboto';
2021-03-20 06:57:25 +00:00
import { useEffect, useMemo } from 'react';
import { AppProps } from 'next/app';
2021-03-20 06:57:25 +00:00
import { ApolloProvider } from '@apollo/client';
2021-03-17 04:26:32 +00:00
import ThemeProvider from 'libs/material-ui/ThemeProvider';
2021-03-20 11:42:17 +00:00
import { createClient, getApolloState } from 'libs/graphql';
function MyApp({ Component, pageProps }: AppProps) {
2021-03-20 11:42:17 +00:00
const apolloState = getApolloState(pageProps);
const client = useMemo(() => {
return createClient({ state: apolloState });
}, [apolloState]);
2021-03-17 04:26:32 +00:00
useEffect(() => {
const jssStyles = document.querySelector('#jss-server-side');
if (jssStyles && jssStyles.parentElement) {
jssStyles.parentElement.removeChild(jssStyles);
}
}, []);
return (
<ThemeProvider>
2021-03-20 06:57:25 +00:00
<ApolloProvider client={client}>
<Component {...pageProps} />
</ApolloProvider>
2021-03-17 04:26:32 +00:00
</ThemeProvider>
);
}
export default MyApp;