tubearchivist-frontend/src/pages/_app.tsx

27 lines
851 B
TypeScript

import { SessionProvider } from "next-auth/react";
import type { AppProps } from "next/app";
import { useState } from "react";
import { Hydrate, QueryClient, QueryClientProvider } from "react-query";
import { ReactQueryDevtools } from "react-query/devtools";
import "../styles/dark.css"; // TODO: Setup themeing the React way
import "../styles/globals.css";
function MyApp({ Component, pageProps: { session, ...pageProps } }: AppProps) {
const [queryClient] = useState(() => new QueryClient());
return (
<>
<QueryClientProvider client={queryClient}>
<ReactQueryDevtools />
<Hydrate state={pageProps.dehydratedState}>
<SessionProvider session={session}>
<Component {...pageProps} />
</SessionProvider>
</Hydrate>
</QueryClientProvider>
</>
);
}
export default MyApp;