feat: add ignoreSessionCheck prop to AreaRiservataLayout for session handling flexibility

This commit is contained in:
Marco Pedone 2025-08-24 19:59:59 +02:00
parent 243148267b
commit c3cdac8310
2 changed files with 31 additions and 28 deletions

View file

@ -61,16 +61,18 @@ export const AreaRiservataLayout = ({
children,
noSidebar,
noFooter,
ignoreSessionCheck,
}: {
children: ReactNode;
noSidebar?: boolean;
noFooter?: boolean;
ignoreSessionCheck?: boolean;
}) => {
const { data: bannerData } = api.settings.getBannerData.useQuery({
area_riservata: true,
});
const session = useSession();
if (!ignoreSessionCheck) {
if (session.status === "pending")
return (
<div className="flex h-full min-h-screen flex-col text-clip">
@ -99,6 +101,7 @@ export const AreaRiservataLayout = ({
</div>
);
}
}
return (
<div className="flex h-full min-h-screen flex-col text-clip">
@ -111,7 +114,7 @@ export const AreaRiservataLayout = ({
<main className="flex h-full flex-1 overflow-auto">
<div className="flex h-auto w-full flex-col md:flex-row">
{noSidebar ? null : (
<Sidebar isAdmin={session.user.isAdmin || false} />
<Sidebar isAdmin={session.user?.isAdmin || false} />
)}
<EnforcedSessionContext.Provider value={session as ValidSession}>
{children}

View file

@ -91,7 +91,7 @@ const PreOnboardServizio: NextPageWithLayout<PreOnboardServizioProps> = ({
PreOnboardServizio.getLayout = function getLayout(page) {
return (
<AreaRiservataLayout noSidebar noFooter>
<AreaRiservataLayout noSidebar noFooter ignoreSessionCheck>
{page}
</AreaRiservataLayout>
);