import React, { ReactElement, ReactNode, useEffect } from "react"; import "@/styles/globals.css"; import "bootstrap-icons/font/bootstrap-icons.css"; import { SessionProvider } from "next-auth/react"; import type { AppProps } from "next/app"; import Head from "next/head"; import AuthRedirect from "@/layouts/AuthRedirect"; import toast from "react-hot-toast"; import { Toaster, ToastBar } from "react-hot-toast"; import { Session } from "next-auth"; import { isPWA } from "@/lib/utils"; // import useInitialData from "@/hooks/useInitialData"; import { appWithTranslation } from "next-i18next"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { NextPage } from "next"; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 1000 * 30, }, }, }); export type NextPageWithLayout
= NextPage
& {
getLayout?: (page: ReactElement) => ReactNode;
};
type PageProps = { session?: Session | null };
type AppPropsWithLayout = AppProps