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

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