mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-04-24 03:00:09 -04:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { ChakraProvider, CSSReset, MetaTheme } from '@metafam/ds';
|
|
import { PageHeader } from 'components/PageHeader';
|
|
import { CONFIG } from 'config';
|
|
import { Web3ContextProvider } from 'contexts/Web3Context';
|
|
import { getTokenFromStore } from 'lib/auth';
|
|
import { withUrqlClient } from 'next-urql';
|
|
import { AppProps } from 'next/app';
|
|
import Head from 'next/head';
|
|
|
|
const app: React.FC<AppProps> = ({ pageProps, Component }) => {
|
|
return (
|
|
<ChakraProvider theme={MetaTheme}>
|
|
<CSSReset />
|
|
<Head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>MetaGame</title>
|
|
</Head>
|
|
<Web3ContextProvider>
|
|
{!pageProps.hidePageHeader && <PageHeader />}
|
|
<Component {...pageProps} />
|
|
</Web3ContextProvider>
|
|
</ChakraProvider>
|
|
);
|
|
};
|
|
|
|
export default withUrqlClient(
|
|
(_ssrExchange, ctx) => ({
|
|
url: CONFIG.graphqlURL,
|
|
fetchOptions: () => ({
|
|
headers: {
|
|
Authorization: ctx
|
|
? `Bearer ${ctx?.req?.headers?.authorization ?? ''}`
|
|
: `Bearer ${getTokenFromStore() ?? ''}`,
|
|
},
|
|
}),
|
|
}),
|
|
{
|
|
neverSuspend: true,
|
|
},
|
|
)(app);
|