Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { ThemeProvider } from '@mui/material/styles';
  2. import {
  3. Hydrate,
  4. QueryClient,
  5. QueryClientProvider,
  6. } from '@tanstack/react-query';
  7. import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
  8. import { SessionProvider } from 'next-auth/react';
  9. import { appWithTranslation } from 'next-i18next';
  10. import Head from 'next/head';
  11. import { useState } from 'react';
  12. import Layout from '../components/layout/base-layout/Layout';
  13. import CircularIndeterminate from '../components/loader/route-loader/CircularIndeterminate';
  14. import StorageProvider from '../store/cart-context';
  15. import '../styles/globals.css';
  16. import theme from '../styles/muiTheme';
  17. function MyApp({ Component, pageProps: { session, ...pageProps } }) {
  18. const [queryClient] = useState(() => new QueryClient());
  19. return (
  20. <QueryClientProvider client={queryClient}>
  21. <Hydrate state={pageProps.dehydratedState}>
  22. <SessionProvider session={session}>
  23. <ThemeProvider theme={theme}>
  24. <StorageProvider>
  25. <Layout>
  26. <Head>
  27. <title>Coffee Shop</title>
  28. <meta name="description" content="NextJS template" />
  29. <meta
  30. name="viewport"
  31. content="width=device-width, initial-scale=1"
  32. />
  33. </Head>
  34. <CircularIndeterminate />
  35. <Component {...pageProps} />
  36. </Layout>
  37. </StorageProvider>
  38. </ThemeProvider>
  39. </SessionProvider>
  40. <ReactQueryDevtools initialIsOpen={false}></ReactQueryDevtools>
  41. </Hydrate>
  42. </QueryClientProvider>
  43. );
  44. }
  45. MyApp.getInitialProps = async ({ Component, ctx }) => {
  46. let pageProps = {};
  47. if (Component.getInitialProps) {
  48. pageProps = await Component.getInitialProps(ctx);
  49. }
  50. return {
  51. pageProps,
  52. };
  53. };
  54. export default appWithTranslation(MyApp);