You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

hace 3 años
hace 3 años
hace 3 años
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { ThemeProvider } from '@mui/material/styles';
  2. import {
  3. Hydrate,
  4. QueryClient,
  5. QueryClientProvider,
  6. } from '@tanstack/react-query';
  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 CircularIndeterminate from '../components/loader/route-loader/CircularIndeterminate';
  13. import '../styles/globals.css';
  14. import theme from '../styles/muiTheme';
  15. function MyApp({ Component, pageProps: { session, ...pageProps } }) {
  16. const [queryClient] = useState(() => new QueryClient());
  17. return (
  18. <QueryClientProvider client={queryClient}>
  19. <Hydrate state={pageProps.dehydratedState}>
  20. <SessionProvider session={session}>
  21. <ThemeProvider theme={theme}>
  22. <Layout>
  23. <Head>
  24. <title>NextJS template</title>
  25. <meta name="description" content="NextJS template" />
  26. <meta
  27. name="viewport"
  28. content="width=device-width, initial-scale=1"
  29. />
  30. </Head>
  31. <CircularIndeterminate />
  32. <Component {...pageProps} />
  33. </Layout>
  34. </ThemeProvider>
  35. </SessionProvider>
  36. </Hydrate>
  37. </QueryClientProvider>
  38. );
  39. }
  40. MyApp.getInitialProps = async ({ Component, ctx }) => {
  41. let pageProps = {};
  42. if (Component.getInitialProps) {
  43. pageProps = await Component.getInitialProps(ctx);
  44. }
  45. return {
  46. pageProps,
  47. };
  48. };
  49. export default appWithTranslation(MyApp);