|
@@ -1,6 +1,6 @@ |
|
|
import AppBar from "@/components/AppBar"; |
|
|
import AppBar from "@/components/AppBar"; |
|
|
import { getServerSession } from "next-auth"; |
|
|
import { getServerSession } from "next-auth"; |
|
|
import { authOptions } from "@/config/authConfig"; |
|
|
|
|
|
|
|
|
import { authOptions, SessionWithTokens } from "@/config/authConfig"; |
|
|
import { redirect } from "next/navigation"; |
|
|
import { redirect } from "next/navigation"; |
|
|
import Box from "@mui/material/Box"; |
|
|
import Box from "@mui/material/Box"; |
|
|
import { NAVIGATION_CONTENT_WIDTH } from "@/config/uiConfig"; |
|
|
import { NAVIGATION_CONTENT_WIDTH } from "@/config/uiConfig"; |
|
@@ -10,23 +10,28 @@ import { AxiosProvider } from "@/app/(main)/axios/AxiosProvider"; |
|
|
import { SetupAxiosInterceptors } from "@/app/(main)/axios/axiosInstance"; |
|
|
import { SetupAxiosInterceptors } from "@/app/(main)/axios/axiosInstance"; |
|
|
import { CameraProvider } from "@/components/Cameras/CameraProvider"; |
|
|
import { CameraProvider } from "@/components/Cameras/CameraProvider"; |
|
|
import { UploadProvider } from "@/components/UploadProvider/UploadProvider"; |
|
|
import { UploadProvider } from "@/components/UploadProvider/UploadProvider"; |
|
|
|
|
|
import SessionProviderWrapper from "@/components/SessionProviderWrapper/SessionProviderWrapper"; |
|
|
|
|
|
|
|
|
export default async function MainLayout({ |
|
|
export default async function MainLayout({ |
|
|
children, |
|
|
children, |
|
|
}: { |
|
|
}: { |
|
|
children: React.ReactNode; |
|
|
children: React.ReactNode; |
|
|
}) { |
|
|
}) { |
|
|
const session = await getServerSession(authOptions); |
|
|
|
|
|
|
|
|
const session = await getServerSession(authOptions) as SessionWithTokens; |
|
|
|
|
|
|
|
|
if (!session?.user) { |
|
|
if (!session?.user) { |
|
|
redirect("/login"); |
|
|
redirect("/login"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
console.log(session?.user); |
|
|
|
|
|
|
|
|
|
|
|
// Verify if the session is valid |
|
|
if (session) { |
|
|
if (session) { |
|
|
SetupAxiosInterceptors(session?.accessToken); |
|
|
|
|
|
|
|
|
SetupAxiosInterceptors(session?.accessToken ?? null); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return ( |
|
|
return ( |
|
|
|
|
|
<SessionProviderWrapper session={session}> |
|
|
<UploadProvider> |
|
|
<UploadProvider> |
|
|
<CameraProvider> |
|
|
<CameraProvider> |
|
|
<AxiosProvider> |
|
|
<AxiosProvider> |
|
@@ -50,6 +55,7 @@ export default async function MainLayout({ |
|
|
</> |
|
|
</> |
|
|
</AxiosProvider> |
|
|
</AxiosProvider> |
|
|
</CameraProvider> |
|
|
</CameraProvider> |
|
|
</UploadProvider> |
|
|
|
|
|
|
|
|
</UploadProvider> |
|
|
|
|
|
</SessionProviderWrapper> |
|
|
); |
|
|
); |
|
|
} |
|
|
} |