Add: tRPC + register on first time login

This commit is contained in:
Sonny
2023-02-15 00:02:55 +01:00
parent 1636f9152b
commit 7074901dcb
12 changed files with 4443 additions and 1807 deletions

View File

@@ -1,44 +1,49 @@
import { useEffect } from 'react';
import { SessionProvider } from 'next-auth/react';
import { SessionProvider } from "next-auth/react";
import type { AppProps } from "next/app";
import { useRouter } from "next/router";
import nProgress from "nprogress";
import { useEffect } from "react";
import { useRouter } from 'next/router';
import AuthRequired from "../components/AuthRequired";
import nProgress from 'nprogress';
import 'nprogress/nprogress.css';
import { trpc } from "../utils/trpc";
import AuthRequired from '../components/AuthRequired';
import '../styles/globals.scss';
import "nprogress/nprogress.css";
import "../styles/globals.scss";
interface MyAppProps extends AppProps {
Component: any; // TODO: fix type
}
function MyApp({
Component,
pageProps: { session, ...pageProps }
}) {
const router = useRouter();
Component,
pageProps: { session, ...pageProps },
}: MyAppProps) {
const router = useRouter();
useEffect(() => { // Chargement pages
router.events.on('routeChangeStart', nProgress.start);
router.events.on('routeChangeComplete', nProgress.done);
router.events.on('routeChangeError', nProgress.done);
useEffect(() => {
// Chargement pages
router.events.on("routeChangeStart", nProgress.start);
router.events.on("routeChangeComplete", nProgress.done);
router.events.on("routeChangeError", nProgress.done);
return () => {
router.events.off('routeChangeStart', nProgress.start);
router.events.off('routeChangeComplete', nProgress.done);
router.events.off('routeChangeError', nProgress.done);
}
});
return () => {
router.events.off("routeChangeStart", nProgress.start);
router.events.off("routeChangeComplete", nProgress.done);
router.events.off("routeChangeError", nProgress.done);
};
});
return (
<SessionProvider session={session}>
{Component.authRequired ? (
<AuthRequired>
<Component {...pageProps} />
</AuthRequired>
) : (
<Component {...pageProps} />
)}
</SessionProvider>
);
return (
<SessionProvider session={session}>
{Component.authRequired ? (
<AuthRequired>
<Component {...pageProps} />
</AuthRequired>
) : (
<Component {...pageProps} />
)}
</SessionProvider>
);
}
export default MyApp;
export default trpc.withTRPC(MyApp);