Chika 8b9c261783 packages: add @tanstack/react-query
stores: remove user store
2022-08-31 12:50:25 +03:00

56 lines
1.7 KiB
TypeScript

/* eslint-disable global-require */
import { ApolloProvider } from '@apollo/client';
import { Hydrate, QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ConfigProvider } from 'antd';
import 'antd/dist/antd.less';
import { useApollo } from 'apollo/hooks';
import Layout from 'Components/Layout';
import type { AppProps } from 'next/app';
import Head from 'next/head';
import 'normalize.css';
import { useMemo } from 'react';
import StoreProvider from 'stores/Provider';
import { ThemeProvider } from 'styled-components';
import { GlobalStyle } from 'UIKit/colors';
import theme from 'UIKit/theme';
import '../styles/fonts.css';
import '../styles/globals.css';
import ruRU from 'antd/lib/locale/ru_RU';
if (process.env.NODE_ENV === 'development') {
require('../mocks');
}
function App({ Component, pageProps }: AppProps) {
const apolloClient = useApollo(pageProps.initialApolloState);
const queryClient = useMemo(() => new QueryClient(), []);
return (
<ThemeProvider theme={theme}>
<Head>
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=0"
/>
</Head>
<GlobalStyle />
<StoreProvider {...pageProps}>
<ConfigProvider locale={ruRU}>
<ApolloProvider client={apolloClient}>
<QueryClientProvider client={queryClient}>
<Hydrate state={pageProps.queryDehydratedState}>
<Layout>
<Component {...pageProps} />
</Layout>
</Hydrate>
</QueryClientProvider>
</ApolloProvider>
</ConfigProvider>
</StoreProvider>
</ThemeProvider>
);
}
export default App;