diff --git a/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/about/page.tsx b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/about/page.tsx new file mode 100644 index 00000000000000..ee0936aec12dd1 --- /dev/null +++ b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/about/page.tsx @@ -0,0 +1,34 @@ +import OldPage from "@pages/settings/organizations/[id]/about"; +import { _generateMetadata } from "app/_utils"; +import { headers } from "next/headers"; + +import { WizardLayout } from "@calcom/ui"; + +import PageWrapper from "@components/PageWrapperAppDir"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("about_your_organization"), + (t) => t("about_your_organization_description") + ); + +const LayoutWrapper = (page: React.ReactElement) => { + return ( + + {page} + + ); +}; + +const Page = () => { + const h = headers(); + const nonce = h.get("x-nonce") ?? undefined; + + return ( + + + + ); +}; + +export default Page; diff --git a/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/add-teams/page.tsx b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/add-teams/page.tsx new file mode 100644 index 00000000000000..a65c2e2a4ab0b9 --- /dev/null +++ b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/add-teams/page.tsx @@ -0,0 +1,38 @@ +import OldPage from "@pages/settings/organizations/[id]/add-teams"; +import { _generateMetadata } from "app/_utils"; +import { headers } from "next/headers"; +import { redirect } from "next/navigation"; + +import { WizardLayout } from "@calcom/ui"; + +import PageWrapper from "@components/PageWrapperAppDir"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("create_your_teams"), + (t) => t("create_your_teams_description") + ); + +const LayoutWrapper = (page: React.ReactElement) => ( + { + redirect(`/event-types`); + }}> + {page} + +); + +const Page = () => { + const h = headers(); + const nonce = h.get("x-nonce") ?? undefined; + + return ( + + + + ); +}; + +export default Page; diff --git a/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/onboard-admins/page.tsx b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/onboard-admins/page.tsx new file mode 100644 index 00000000000000..f08759953db779 --- /dev/null +++ b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/onboard-admins/page.tsx @@ -0,0 +1,45 @@ +import OldPage from "@pages/settings/organizations/[id]/onboard-admins"; +import { type Params } from "app/_types"; +import { _generateMetadata } from "app/_utils"; +import { headers } from "next/headers"; +import { redirect } from "next/navigation"; + +import { WizardLayout } from "@calcom/ui"; + +import PageWrapper from "@components/PageWrapperAppDir"; + +type PageProps = Readonly<{ + params: Params; +}>; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("invite_organization_admins"), + (t) => t("invite_organization_admins_description") + ); + +const Page = ({ params }: PageProps) => { + const h = headers(); + const nonce = h.get("x-nonce") ?? undefined; + + return ( + ( + { + redirect(`/settings/organizations/${params.id}/add-teams`); + }}> + {page} + + )} + requiresLicense={false} + nonce={nonce} + themeBasis={null}> + + + ); +}; + +export default Page; diff --git a/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/set-password/page.tsx b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/set-password/page.tsx new file mode 100644 index 00000000000000..774717d6cfb556 --- /dev/null +++ b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/[id]/set-password/page.tsx @@ -0,0 +1,34 @@ +import OldPage from "@pages/settings/organizations/[id]/set-password"; +import { _generateMetadata } from "app/_utils"; +import { headers } from "next/headers"; + +import { WizardLayout } from "@calcom/ui"; + +import PageWrapper from "@components/PageWrapperAppDir"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("set_a_password"), + (t) => t("set_a_password_description") + ); + +const LayoutWrapper = (page: React.ReactElement) => { + return ( + + {page} + + ); +}; + +const Page = () => { + const h = headers(); + const nonce = h.get("x-nonce") ?? undefined; + + return ( + + + + ); +}; + +export default Page; diff --git a/apps/web/app/future/(individual-page-wrapper)/settings/organizations/new/page.tsx b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/new/page.tsx index 5e0be4543eb445..d91d4a4e12d0ba 100644 --- a/apps/web/app/future/(individual-page-wrapper)/settings/organizations/new/page.tsx +++ b/apps/web/app/future/(individual-page-wrapper)/settings/organizations/new/page.tsx @@ -1,7 +1,12 @@ import OldPage from "@pages/settings/organizations/new/index"; +import { type Params } from "app/_types"; import { _generateMetadata } from "app/_utils"; -import type { Params } from "next/dist/shared/lib/router/utils/route-matcher"; +import { type GetServerSidePropsContext } from "next"; import { headers, cookies } from "next/headers"; +import { notFound } from "next/navigation"; + +import { getFeatureFlagMap } from "@calcom/features/flags/server/utils"; +import { WizardLayout } from "@calcom/ui"; import { buildLegacyCtx } from "@lib/buildLegacyCtx"; @@ -17,6 +22,29 @@ type PageProps = Readonly<{ params: Params; }>; +const getData = async (context: GetServerSidePropsContext) => { + const prisma = await import("@calcom/prisma").then((mod) => mod.default); + const flags = await getFeatureFlagMap(prisma); + // Check if organizations are enabled + if (flags["organizations"] !== true) { + return notFound(); + } + + const querySlug = context.query.slug as string; + + return { + querySlug: querySlug ?? null, + }; +}; + +const LayoutWrapper = (page: React.ReactElement) => { + return ( + + {page} + + ); +}; + const Page = async ({ params }: PageProps) => { const h = headers(); const nonce = h.get("x-nonce") ?? undefined; @@ -25,7 +53,7 @@ const Page = async ({ params }: PageProps) => { const props = await getData(legacyCtx); return ( - + ); diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/about/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/about/page.tsx deleted file mode 100644 index 76cfc531d9f78a..00000000000000 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/about/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import Page from "@pages/settings/organizations/[id]/about"; -import { _generateMetadata } from "app/_utils"; - -export const generateMetadata = async () => - await _generateMetadata( - () => "", - () => "" - ); - -export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/add-teams/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/add-teams/page.tsx deleted file mode 100644 index cc41fb1575782b..00000000000000 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/add-teams/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import Page from "@pages/settings/organizations/[id]/add-teams"; -import { _generateMetadata } from "app/_utils"; - -export const generateMetadata = async () => - await _generateMetadata( - () => "", - () => "" - ); - -export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/onboard-admins/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/onboard-admins/page.tsx deleted file mode 100644 index d8f05c9d3f2293..00000000000000 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/onboard-admins/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import Page from "@pages/settings/organizations/[id]/onboard-admins"; -import { _generateMetadata } from "app/_utils"; - -export const generateMetadata = async () => - await _generateMetadata( - () => "", - () => "" - ); - -export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/set-password/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/set-password/page.tsx deleted file mode 100644 index 932136fa670e75..00000000000000 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/[id]/set-password/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import Page from "@pages/settings/organizations/[id]/set-password"; -import { _generateMetadata } from "app/_utils"; - -export const generateMetadata = async () => - await _generateMetadata( - () => "", - () => "" - ); - -export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/appearance/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/appearance/page.tsx similarity index 76% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/appearance/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/appearance/page.tsx index dd26c44d6adde5..5f8b2547f0a43e 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/appearance/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/appearance/page.tsx @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/organizations/pages/settings/appearance"; export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("appearance"), + (t) => t("appearance_org_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/billing/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/billing/page.tsx similarity index 74% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/billing/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/billing/page.tsx index e53f1dbb0b36b1..7dbae67d41eefe 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/billing/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/billing/page.tsx @@ -3,8 +3,8 @@ import { _generateMetadata } from "app/_utils"; export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("billing"), + (t) => t("manage_billing_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/general/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/general/page.tsx similarity index 78% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/general/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/general/page.tsx index c7bf276a3b92e6..e55435094bf079 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/general/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/general/page.tsx @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/organizations/pages/settings/general"; export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("general"), + (t) => t("general_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/members/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/members/page.tsx similarity index 74% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/members/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/members/page.tsx index 0f6b11308dedda..5c90c6869eac7c 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/members/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/members/page.tsx @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/organizations/pages/settings/members"; export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("organization_members"), + (t) => t("organization_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/profile/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/profile/page.tsx similarity index 77% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/profile/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/profile/page.tsx index 0defa632070c69..3450c5abddde9b 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/profile/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/profile/page.tsx @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/organizations/pages/settings/profile"; export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("profile"), + (t) => t("profile_org_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/appearance/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/appearance/page.tsx similarity index 73% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/appearance/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/appearance/page.tsx index dfd094a48e21b7..ac76104d07a5f0 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/appearance/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/appearance/page.tsx @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/teams/pages/team-appearance-view"; export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("booking_appearance"), + (t) => t("appearance_team_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/members/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/members/page.tsx similarity index 77% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/members/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/members/page.tsx index 7359eee3a2fcb5..9e5018ada3668e 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/members/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/members/page.tsx @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/organizations/pages/settings/other-team-me export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("team_members"), + (t) => t("members_team_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/profile/page.tsx b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/profile/page.tsx similarity index 78% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/profile/page.tsx rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/profile/page.tsx index a8ea10d56afcd4..66cf714fbcc5b5 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/[id]/profile/page.tsx +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/[id]/profile/page.tsx @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/organizations/pages/settings/other-team-pr export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("profile"), + (t) => t("profile_team_description") ); export default Page; diff --git a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/page.ts b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/page.ts similarity index 73% rename from apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/page.ts rename to apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/page.ts index faf325dbe32f57..ffaf5302cb166b 100644 --- a/apps/web/app/future/(shared-page-wrapper)/(no-layout)/settings/organizations/teams/other/page.ts +++ b/apps/web/app/future/(shared-page-wrapper)/(settings-layout)/settings/organizations/teams/other/page.ts @@ -4,8 +4,8 @@ import Page from "@calcom/features/ee/organizations/pages/settings/other-team-li export const generateMetadata = async () => await _generateMetadata( - () => "", - () => "" + (t) => t("org_admin_other_teams"), + (t) => t("org_admin_other_teams_description") ); export default Page;