-
Notifications
You must be signed in to change notification settings - Fork 0
/
_app.jsx
40 lines (38 loc) · 1 KB
/
_app.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import "../styles/globals.css";
import { SessionProvider } from "next-auth/react";
import PrivateLayout from "components/layout/private/PrivateLayout";
import PublicLayout from "components/layout/public/PublicLayout";
import LabelLayout from "components/layout/label/LabelLayout";
import Auth from "components/Auth";
const layouts = {
Public: PublicLayout,
Private: PrivateLayout,
Label: LabelLayout,
};
export default function App({
Component,
pageProps: { session, ...pageProps },
}) {
const Layout =
layouts[Component.layout] ||
(({ children }) => (
<div className="min-h-screen bg-gradient-to-r bg-slate-100 flex items-center justify-center">
{children}
</div>
));
return (
<SessionProvider session={session}>
{Component.auth ? (
<Auth>
<Layout>
<Component {...pageProps} />
</Layout>
</Auth>
) : (
<Layout>
<Component {...pageProps} />
</Layout>
)}
</SessionProvider>
);
}