Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import {
  2. DehydratedState,
  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 { Session } from 'next-auth';
  13. import type { AppProps } from 'next/app';
  14. import Layout from '../components/layout/base-layout/Layout';
  15. import CircularIndeterminate from '../components/loader/route-loader/CircularIndeterminate';
  16. import '../styles/globals.css';
  17. import { NextPageContext } from 'next';
  18. function MyApp({
  19. Component,
  20. pageProps,
  21. }: AppProps<{ dehydrateState: DehydratedState; session: Session }>) {
  22. const [queryClient] = useState(() => new QueryClient());
  23. return (
  24. <QueryClientProvider client={queryClient}>
  25. <Hydrate state={pageProps.dehydratedState}>
  26. <SessionProvider session={pageProps.session}>
  27. <Layout>
  28. <Head>
  29. <title>NextJS template</title>
  30. <meta name="description" content="NextJS template" />
  31. <meta
  32. name="viewport"
  33. content="width=device-width, initial-scale=1"
  34. />
  35. </Head>
  36. <CircularIndeterminate />
  37. <Component {...pageProps} />
  38. </Layout>
  39. </SessionProvider>
  40. <ReactQueryDevtools initialIsOpen={false} />
  41. </Hydrate>
  42. </QueryClientProvider>
  43. );
  44. }
  45. MyApp.getInitialProps = async (Component: any, ctx: NextPageContext) => {
  46. let pageProps = {};
  47. if (Component.getInitialProps) {
  48. pageProps = await Component.getInitialProps(ctx);
  49. }
  50. return {
  51. pageProps,
  52. };
  53. };
  54. export default appWithTranslation<never>(MyApp);