}) {
- const { apps } = await getPageProps({ params });
- return (
-
-
-
- );
-}
-
+// @ts-expect-error getData arg
+export default WithLayout({ getData: getPageProps, Page: CategoryPage });
export const dynamic = "force-static";
diff --git a/apps/web/app/future/(individual-page-wrapper)/apps/categories/page.tsx b/apps/web/app/future/apps/categories/page.tsx
similarity index 78%
rename from apps/web/app/future/(individual-page-wrapper)/apps/categories/page.tsx
rename to apps/web/app/future/apps/categories/page.tsx
index c0d6c3d15e..c878d37732 100644
--- a/apps/web/app/future/(individual-page-wrapper)/apps/categories/page.tsx
+++ b/apps/web/app/future/apps/categories/page.tsx
@@ -1,14 +1,13 @@
import LegacyPage from "@pages/apps/categories/index";
import { ssrInit } from "app/_trpc/ssrInit";
import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
import { cookies, headers } from "next/headers";
import { getAppRegistry, getAppRegistryWithCredentials } from "@calcom/app-store/_appRegistry";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { APP_NAME } from "@calcom/lib/constants";
-import PageWrapper from "@components/PageWrapperAppDir";
-
export const generateMetadata = async () => {
return await _generateMetadata(
() => `Categories | ${APP_NAME}`,
@@ -43,14 +42,4 @@ async function getPageProps() {
};
}
-export default async function Page() {
- const props = await getPageProps();
- const h = headers();
- const nonce = h.get("x-nonce") ?? undefined;
-
- return (
-
-
-
- );
-}
+export default WithLayout({ getData: getPageProps, Page: LegacyPage, getLayout: null })<"P">;
diff --git a/apps/web/app/future/apps/installed/[category]/layout.tsx b/apps/web/app/future/apps/installed/[category]/layout.tsx
new file mode 100644
index 0000000000..dc2fb3468f
--- /dev/null
+++ b/apps/web/app/future/apps/installed/[category]/layout.tsx
@@ -0,0 +1,3 @@
+import { WithLayout } from "app/layoutHOC";
+
+export default WithLayout({ getLayout: null })<"L">;
diff --git a/apps/web/app/future/(individual-page-wrapper)/apps/installed/[category]/page.tsx b/apps/web/app/future/apps/installed/[category]/page.tsx
similarity index 100%
rename from apps/web/app/future/(individual-page-wrapper)/apps/installed/[category]/page.tsx
rename to apps/web/app/future/apps/installed/[category]/page.tsx
diff --git a/apps/web/app/future/(individual-page-wrapper)/bookings/[status]/layout.tsx b/apps/web/app/future/bookings/[status]/layout.tsx
similarity index 77%
rename from apps/web/app/future/(individual-page-wrapper)/bookings/[status]/layout.tsx
rename to apps/web/app/future/bookings/[status]/layout.tsx
index ad00ceeb78..7391f9996f 100644
--- a/apps/web/app/future/(individual-page-wrapper)/bookings/[status]/layout.tsx
+++ b/apps/web/app/future/bookings/[status]/layout.tsx
@@ -1,6 +1,7 @@
import { ssgInit } from "app/_trpc/ssgInit";
import type { Params } from "app/_types";
import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
import { notFound } from "next/navigation";
import type { ReactElement } from "react";
import { z } from "zod";
@@ -8,8 +9,6 @@ import { z } from "zod";
import { getLayout } from "@calcom/features/MainLayoutAppDir";
import { APP_NAME } from "@calcom/lib/constants";
-import PageWrapper from "@components/PageWrapperAppDir";
-
const validStatuses = ["upcoming", "recurring", "past", "cancelled", "unconfirmed"] as const;
const querySchema = z.object({
@@ -43,14 +42,6 @@ const getData = async ({ params }: { params: Params }) => {
};
};
-export default async function BookingPageLayout({ params, children }: Props) {
- const props = await getData({ params });
-
- return (
-
- {children}
-
- );
-}
+export default WithLayout({ getLayout, getData })<"L">;
export const dynamic = "force-static";
diff --git a/apps/web/app/future/(individual-page-wrapper)/bookings/[status]/page.tsx b/apps/web/app/future/bookings/[status]/page.tsx
similarity index 100%
rename from apps/web/app/future/(individual-page-wrapper)/bookings/[status]/page.tsx
rename to apps/web/app/future/bookings/[status]/page.tsx
diff --git a/apps/web/app/future/event-types/layout.tsx b/apps/web/app/future/event-types/layout.tsx
new file mode 100644
index 0000000000..9bf51a70f5
--- /dev/null
+++ b/apps/web/app/future/event-types/layout.tsx
@@ -0,0 +1,5 @@
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@calcom/features/MainLayoutAppDir";
+
+export default WithLayout({ getLayout })<"L">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(layout)/event-types/page.tsx b/apps/web/app/future/event-types/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(layout)/event-types/page.tsx
rename to apps/web/app/future/event-types/page.tsx
diff --git a/apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/apps/[category]/page.tsx b/apps/web/app/future/settings/admin/apps/[category]/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/apps/[category]/page.tsx
rename to apps/web/app/future/settings/admin/apps/[category]/page.tsx
diff --git a/apps/web/app/future/settings/admin/apps/layout.tsx b/apps/web/app/future/settings/admin/apps/layout.tsx
new file mode 100644
index 0000000000..f415bae764
--- /dev/null
+++ b/apps/web/app/future/settings/admin/apps/layout.tsx
@@ -0,0 +1,5 @@
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@components/auth/layouts/AdminLayoutAppDir";
+
+export default WithLayout({ getLayout })<"L">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/apps/page.tsx b/apps/web/app/future/settings/admin/apps/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/apps/page.tsx
rename to apps/web/app/future/settings/admin/apps/page.tsx
diff --git a/apps/web/app/future/settings/admin/flags/layout.tsx b/apps/web/app/future/settings/admin/flags/layout.tsx
new file mode 100644
index 0000000000..f415bae764
--- /dev/null
+++ b/apps/web/app/future/settings/admin/flags/layout.tsx
@@ -0,0 +1,5 @@
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@components/auth/layouts/AdminLayoutAppDir";
+
+export default WithLayout({ getLayout })<"L">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/flags/page.tsx b/apps/web/app/future/settings/admin/flags/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/flags/page.tsx
rename to apps/web/app/future/settings/admin/flags/page.tsx
diff --git a/apps/web/app/future/settings/admin/impersonation/layout.tsx b/apps/web/app/future/settings/admin/impersonation/layout.tsx
new file mode 100644
index 0000000000..f415bae764
--- /dev/null
+++ b/apps/web/app/future/settings/admin/impersonation/layout.tsx
@@ -0,0 +1,5 @@
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@components/auth/layouts/AdminLayoutAppDir";
+
+export default WithLayout({ getLayout })<"L">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/impersonation/page.tsx b/apps/web/app/future/settings/admin/impersonation/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(admin-layout)/settings/admin/impersonation/page.tsx
rename to apps/web/app/future/settings/admin/impersonation/page.tsx
diff --git a/apps/web/app/future/settings/admin/oAuth/oAuthView/layout.tsx b/apps/web/app/future/settings/admin/oAuth/oAuthView/layout.tsx
new file mode 100644
index 0000000000..dc2fb3468f
--- /dev/null
+++ b/apps/web/app/future/settings/admin/oAuth/oAuthView/layout.tsx
@@ -0,0 +1,3 @@
+import { WithLayout } from "app/layoutHOC";
+
+export default WithLayout({ getLayout: null })<"L">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/admin/oAuth/oAuthView/page.tsx b/apps/web/app/future/settings/admin/oAuth/oAuthView/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/admin/oAuth/oAuthView/page.tsx
rename to apps/web/app/future/settings/admin/oAuth/oAuthView/page.tsx
diff --git a/apps/web/app/future/settings/admin/oAuth/page.tsx b/apps/web/app/future/settings/admin/oAuth/page.tsx
new file mode 100644
index 0000000000..58a8a41dd6
--- /dev/null
+++ b/apps/web/app/future/settings/admin/oAuth/page.tsx
@@ -0,0 +1,13 @@
+import LegacyPage from "@pages/settings/admin/oAuth/index";
+import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@components/auth/layouts/AdminLayoutAppDir";
+
+export const generateMetadata = async () =>
+ await _generateMetadata(
+ () => "OAuth",
+ () => "Add new OAuth Clients"
+ );
+
+export default WithLayout({ getLayout, Page: LegacyPage })<"P">;
diff --git a/apps/web/app/future/settings/admin/organizations/layout.tsx b/apps/web/app/future/settings/admin/organizations/layout.tsx
new file mode 100644
index 0000000000..1359b26601
--- /dev/null
+++ b/apps/web/app/future/settings/admin/organizations/layout.tsx
@@ -0,0 +1,5 @@
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@calcom/features/settings/layouts/SettingsLayoutAppDir";
+
+export default WithLayout({ getLayout })<"L">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/organizations/page.tsx b/apps/web/app/future/settings/admin/organizations/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/organizations/page.tsx
rename to apps/web/app/future/settings/admin/organizations/page.tsx
diff --git a/apps/web/app/future/settings/admin/page.tsx b/apps/web/app/future/settings/admin/page.tsx
new file mode 100644
index 0000000000..cfc6e0aeec
--- /dev/null
+++ b/apps/web/app/future/settings/admin/page.tsx
@@ -0,0 +1,13 @@
+import LegacyPage from "@pages/settings/admin/index";
+import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@components/auth/layouts/AdminLayoutAppDir";
+
+export const generateMetadata = async () =>
+ await _generateMetadata(
+ () => "Admin",
+ () => "admin_description"
+ );
+
+export default WithLayout({ getLayout, Page: LegacyPage })<"P">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/users/[id]/edit/page.tsx b/apps/web/app/future/settings/admin/users/[id]/edit/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/users/[id]/edit/page.tsx
rename to apps/web/app/future/settings/admin/users/[id]/edit/page.tsx
diff --git a/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/users/add/page.tsx b/apps/web/app/future/settings/admin/users/add/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/users/add/page.tsx
rename to apps/web/app/future/settings/admin/users/add/page.tsx
diff --git a/apps/web/app/future/settings/admin/users/layout.tsx b/apps/web/app/future/settings/admin/users/layout.tsx
new file mode 100644
index 0000000000..1359b26601
--- /dev/null
+++ b/apps/web/app/future/settings/admin/users/layout.tsx
@@ -0,0 +1,5 @@
+import { WithLayout } from "app/layoutHOC";
+
+import { getLayout } from "@calcom/features/settings/layouts/SettingsLayoutAppDir";
+
+export default WithLayout({ getLayout })<"L">;
diff --git a/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/users/page.tsx b/apps/web/app/future/settings/admin/users/page.tsx
similarity index 100%
rename from apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/admin/users/page.tsx
rename to apps/web/app/future/settings/admin/users/page.tsx
diff --git a/apps/web/app/future/(individual-page-wrapper)/teams/page.tsx b/apps/web/app/future/teams/page.tsx
similarity index 56%
rename from apps/web/app/future/(individual-page-wrapper)/teams/page.tsx
rename to apps/web/app/future/teams/page.tsx
index 18059f5b99..0f19dd1523 100644
--- a/apps/web/app/future/(individual-page-wrapper)/teams/page.tsx
+++ b/apps/web/app/future/teams/page.tsx
@@ -1,28 +1,19 @@
import OldPage from "@pages/teams/index";
import { ssrInit } from "app/_trpc/ssrInit";
-import { type Params } from "app/_types";
import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
import { type GetServerSidePropsContext } from "next";
-import { headers, cookies } from "next/headers";
import { redirect } from "next/navigation";
import { getLayout } from "@calcom/features/MainLayoutAppDir";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
-import { buildLegacyCtx } from "@lib/buildLegacyCtx";
-
-import PageWrapper from "@components/PageWrapperAppDir";
-
export const generateMetadata = async () =>
await _generateMetadata(
(t) => t("teams"),
(t) => t("create_manage_teams_collaborative")
);
-type PageProps = {
- params: Params;
-};
-
async function getData(context: Omit) {
const ssr = await ssrInit();
await ssr.viewer.me.prefetch();
@@ -41,24 +32,5 @@ async function getData(context: Omit {
- const h = headers();
- const nonce = h.get("x-nonce") ?? undefined;
-
- const legacyCtx = buildLegacyCtx(h, cookies(), params);
- // @ts-expect-error `req` of type '{ headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }' is not assignable to `req` in `GetServerSidePropsContext`
- const props = await getData(legacyCtx);
-
- return (
-
-
-
- );
-};
-
-export default Page;
+// @ts-expect-error getData arg
+export default WithLayout({ getData, getLayout, Page: OldPage })<"P">;
diff --git a/apps/web/app/future/(individual-page-wrapper)/video/[uid]/page.tsx b/apps/web/app/future/video/[uid]/page.tsx
similarity index 75%
rename from apps/web/app/future/(individual-page-wrapper)/video/[uid]/page.tsx
rename to apps/web/app/future/video/[uid]/page.tsx
index e1e473ceec..b781376423 100644
--- a/apps/web/app/future/(individual-page-wrapper)/video/[uid]/page.tsx
+++ b/apps/web/app/future/video/[uid]/page.tsx
@@ -1,30 +1,21 @@
import OldPage from "@pages/video/[uid]";
import { ssrInit } from "app/_trpc/ssrInit";
-import { type Params } from "app/_types";
import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
import MarkdownIt from "markdown-it";
import { type GetServerSidePropsContext } from "next";
-import { headers, cookies } from "next/headers";
import { redirect } from "next/navigation";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { APP_NAME } from "@calcom/lib/constants";
import prisma, { bookingMinimalSelect } from "@calcom/prisma";
-import { buildLegacyCtx } from "@lib/buildLegacyCtx";
-
-import PageWrapper from "@components/PageWrapperAppDir";
-
export const generateMetadata = async () =>
await _generateMetadata(
() => `${APP_NAME} Video`,
(t) => t("quick_video_meeting")
);
-type PageProps = Readonly<{
- params: Params;
-}>;
-
const md = new MarkdownIt("default", { html: true, breaks: true, linkify: true });
async function getData(context: Omit) {
@@ -107,24 +98,5 @@ async function getData(context: Omit {
- const h = headers();
- const nonce = h.get("x-nonce") ?? undefined;
-
- const legacyCtx = buildLegacyCtx(headers(), cookies(), params);
- // @ts-expect-error `req` of type '{ headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }' is not assignable to `req` in `GetServerSidePropsContext`
- const { dehydratedState, ...restProps } = await getData(legacyCtx);
-
- return (
-
-
-
- );
-};
-
-export default Page;
+// @ts-expect-error getData arg
+export default WithLayout({ getData, Page: OldPage, getLayout: null })<"P">;
diff --git a/apps/web/app/future/(individual-page-wrapper)/video/meeting-ended/[uid]/page.tsx b/apps/web/app/future/video/meeting-ended/[uid]/page.tsx
similarity index 59%
rename from apps/web/app/future/(individual-page-wrapper)/video/meeting-ended/[uid]/page.tsx
rename to apps/web/app/future/video/meeting-ended/[uid]/page.tsx
index d0456d3047..0674d39566 100644
--- a/apps/web/app/future/(individual-page-wrapper)/video/meeting-ended/[uid]/page.tsx
+++ b/apps/web/app/future/video/meeting-ended/[uid]/page.tsx
@@ -1,26 +1,17 @@
import OldPage from "@pages/video/meeting-ended/[uid]";
-import { type Params } from "app/_types";
import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
import { type GetServerSidePropsContext } from "next";
-import { headers, cookies } from "next/headers";
import { redirect } from "next/navigation";
import prisma, { bookingMinimalSelect } from "@calcom/prisma";
-import { buildLegacyCtx } from "@lib/buildLegacyCtx";
-
-import PageWrapper from "@components/PageWrapperAppDir";
-
export const generateMetadata = async () =>
await _generateMetadata(
() => "Meeting Unavailable",
() => "Meeting Unavailable"
);
-type PageProps = Readonly<{
- params: Params;
-}>;
-
async function getData(context: Omit) {
const booking = await prisma.booking.findUnique({
where: {
@@ -58,19 +49,5 @@ async function getData(context: Omit {
- const h = headers();
- const nonce = h.get("x-nonce") ?? undefined;
-
- const legacyCtx = buildLegacyCtx(headers(), cookies(), params);
- // @ts-expect-error `req` of type '{ headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }' is not assignable to `req` in `GetServerSidePropsContext`
- const props = await getData(legacyCtx);
-
- return (
-
-
-
- );
-};
-
-export default Page;
+// @ts-expect-error getData arg
+export default WithLayout({ getData, Page: OldPage, getLayout: null })<"P">;
diff --git a/apps/web/app/future/(individual-page-wrapper)/video/meeting-not-started/[uid]/page.tsx b/apps/web/app/future/video/meeting-not-started/[uid]/page.tsx
similarity index 63%
rename from apps/web/app/future/(individual-page-wrapper)/video/meeting-not-started/[uid]/page.tsx
rename to apps/web/app/future/video/meeting-not-started/[uid]/page.tsx
index b15f16452e..bde0c18328 100644
--- a/apps/web/app/future/(individual-page-wrapper)/video/meeting-not-started/[uid]/page.tsx
+++ b/apps/web/app/future/video/meeting-not-started/[uid]/page.tsx
@@ -1,16 +1,12 @@
import OldPage from "@pages/video/meeting-not-started/[uid]";
import { type Params } from "app/_types";
import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
import { type GetServerSidePropsContext } from "next";
-import { headers, cookies } from "next/headers";
import { redirect } from "next/navigation";
import prisma, { bookingMinimalSelect } from "@calcom/prisma";
-import { buildLegacyCtx } from "@lib/buildLegacyCtx";
-
-import PageWrapper from "@components/PageWrapperAppDir";
-
type PageProps = Readonly<{
params: Params;
}>;
@@ -51,19 +47,5 @@ async function getData(context: Omit {
- const h = headers();
- const nonce = h.get("x-nonce") ?? undefined;
-
- const legacyCtx = buildLegacyCtx(headers(), cookies(), params);
- // @ts-expect-error `req` of type '{ headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }' is not assignable to `req` in `GetServerSidePropsContext`
- const props = await getData(legacyCtx);
-
- return (
-
-
-
- );
-};
-
-export default Page;
+// @ts-expect-error getData arg
+export default WithLayout({ getData, Page: OldPage, getLayout: null })<"P">;
diff --git a/apps/web/app/future/video/no-meeting-found/page.tsx b/apps/web/app/future/video/no-meeting-found/page.tsx
new file mode 100644
index 0000000000..31a15a2ad6
--- /dev/null
+++ b/apps/web/app/future/video/no-meeting-found/page.tsx
@@ -0,0 +1,20 @@
+import LegacyPage from "@pages/video/no-meeting-found";
+import { ssrInit } from "app/_trpc/ssrInit";
+import { _generateMetadata } from "app/_utils";
+import { WithLayout } from "app/layoutHOC";
+
+export const generateMetadata = async () =>
+ await _generateMetadata(
+ (t) => t("no_meeting_found"),
+ (t) => t("no_meeting_found")
+ );
+
+const getData = async () => {
+ const ssr = await ssrInit();
+
+ return {
+ dehydratedState: await ssr.dehydrate(),
+ };
+};
+
+export default WithLayout({ getData, Page: LegacyPage, getLayout: null })<"P">;
diff --git a/apps/web/app/layoutHOC.tsx b/apps/web/app/layoutHOC.tsx
new file mode 100644
index 0000000000..5e41ed1184
--- /dev/null
+++ b/apps/web/app/layoutHOC.tsx
@@ -0,0 +1,28 @@
+import type { LayoutProps, PageProps } from "app/_types";
+import { cookies, headers } from "next/headers";
+
+import { buildLegacyCtx } from "@lib/buildLegacyCtx";
+
+import PageWrapper from "@components/PageWrapperAppDir";
+
+type WithLayoutParams> = {
+ getLayout: ((page: React.ReactElement) => React.ReactNode) | null;
+ Page?: (props: T) => React.ReactElement;
+ getData?: (arg: ReturnType) => Promise;
+};
+
+export function WithLayout>({ getLayout, getData, Page }: WithLayoutParams) {
+ return async (p: P extends "P" ? PageProps : LayoutProps) => {
+ const h = headers();
+ const nonce = h.get("x-nonce") ?? undefined;
+ const props = getData ? await getData(buildLegacyCtx(h, cookies(), p.params)) : ({} as T);
+
+ const children = "children" in p ? p.children : null;
+
+ return (
+
+ {Page ? : children}
+
+ );
+ };
+}
diff --git a/apps/web/components/PageWrapperAppDir.tsx b/apps/web/components/PageWrapperAppDir.tsx
index 08d7b9cad3..ae36417c97 100644
--- a/apps/web/components/PageWrapperAppDir.tsx
+++ b/apps/web/components/PageWrapperAppDir.tsx
@@ -20,7 +20,7 @@ export interface CalPageWrapper {
export type PageWrapperProps = Readonly<{
getLayout: ((page: React.ReactElement) => ReactNode) | null;
- children: React.ReactElement;
+ children: React.ReactNode;
requiresLicense: boolean;
nonce: string | undefined;
themeBasis: string | null;
@@ -62,7 +62,7 @@ function PageWrapper(props: PageWrapperProps) {
dangerouslySetInnerHTML={{ __html: `window.CalComPageStatus = '${pageStatus}'` }}
/>
{getLayout(
- props.requiresLicense ? {props.children} : props.children
+ props.requiresLicense ? {props.children} : <>{props.children}>
)}
>