Check for session in addition for isPublic prop (#6443)

* Check for session in addition for isPublic prop

* Cleaner, more readable version

* Less code same result, no rerender

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
pull/6409/head^2
Alex van Andel 2023-01-12 22:11:15 +00:00 committed by GitHub
parent 070d314897
commit d2c4e2894d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 13 deletions

View File

@ -26,18 +26,18 @@ import useMeQuery from "@calcom/trpc/react/hooks/useMeQuery";
import { SVGComponent } from "@calcom/types/SVGComponent";
import {
Button,
Credits,
Dropdown,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuPortal,
DropdownMenuSeparator,
DropdownMenuTrigger,
showToast,
Logo,
ErrorBoundary,
Credits,
HeadSeo,
Icon,
Logo,
showToast,
SkeletonText,
} from "@calcom/ui";
@ -172,22 +172,28 @@ const CustomBrandingContainer = () => {
return <CustomBranding lightVal={user?.brandColor} darkVal={user?.darkBrandColor} />;
};
const KBarWrapper = ({ children, withKBar = false }: { withKBar: boolean; children: React.ReactNode }) =>
withKBar ? (
<KBarRoot>
{children}
<KBarContent />
</KBarRoot>
) : (
<>{children}</>
);
export default function Shell(props: LayoutProps) {
const { status } = useSession();
// if a page is unauthed and isPublic is true, the redirect does not happen.
useRedirectToLoginIfUnauthenticated(props.isPublic);
useRedirectToOnboardingIfNeeded();
useTheme("light");
// don't load KBar when unauthed
return props.isPublic ? (
<>
return (
<KBarWrapper withKBar={status === "authenticated"}>
<CustomBrandingContainer />
<Layout {...props} />
</>
) : (
<KBarRoot>
<CustomBrandingContainer />
<Layout {...props} />
<KBarContent />
</KBarRoot>
</KBarWrapper>
);
}