From fcc50c1d0f90d77253455e7caadab383a35ebefb Mon Sep 17 00:00:00 2001 From: DmytroHryshyn <125881252+DmytroHryshyn@users.noreply.github.com> Date: Mon, 8 Jan 2024 19:51:40 +0200 Subject: [PATCH] chore: [app-router-migration-11] Migrate settings/teams page group (#12778) * intuita codemod: app-directory-boilerplate-calcom * manual: add title and description metadata for each page * manual: move between folders * manual: finalize migration * manual: fix client components * manual: Change structure & Refactor to make code up to date --------- Co-authored-by: Benny Joo --- .../app/future/apps/categories/[category]/page.tsx | 2 +- .../future/settings/teams/[id]/appearance/layout.tsx | 5 +++++ .../future/settings/teams/[id]/appearance/page.tsx | 11 +++++++++++ .../app/future/settings/teams/[id]/billing/layout.tsx | 5 +++++ .../app/future/settings/teams/[id]/billing/page.tsx | 10 ++++++++++ .../app/future/settings/teams/[id]/members/layout.tsx | 5 +++++ .../app/future/settings/teams/[id]/members/page.tsx | 11 +++++++++++ .../settings/teams/[id]/onboard-members/page.tsx | 11 +++++++++++ .../app/future/settings/teams/[id]/profile/layout.tsx | 5 +++++ .../app/future/settings/teams/[id]/profile/page.tsx | 11 +++++++++++ .../web/app/future/settings/teams/[id]/sso/layout.tsx | 5 +++++ apps/web/app/future/settings/teams/[id]/sso/page.tsx | 11 +++++++++++ apps/web/app/future/settings/teams/layout.tsx | 5 +++++ apps/web/app/future/settings/teams/new/page.tsx | 11 +++++++++++ apps/web/app/future/settings/teams/page.ts | 11 +++++++++++ apps/web/pages/settings/billing/index.tsx | 2 ++ .../web/pages/settings/teams/[id]/onboard-members.tsx | 5 ++++- apps/web/pages/settings/teams/new/index.tsx | 4 +++- packages/features/ee/sso/page/teams-sso-view.tsx | 2 ++ .../features/ee/teams/pages/team-appearance-view.tsx | 2 ++ .../features/ee/teams/pages/team-listing-view.tsx | 2 ++ .../features/ee/teams/pages/team-members-view.tsx | 2 ++ .../features/ee/teams/pages/team-profile-view.tsx | 2 ++ 23 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 apps/web/app/future/settings/teams/[id]/appearance/layout.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/appearance/page.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/billing/layout.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/billing/page.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/members/layout.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/members/page.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/onboard-members/page.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/profile/layout.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/profile/page.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/sso/layout.tsx create mode 100644 apps/web/app/future/settings/teams/[id]/sso/page.tsx create mode 100644 apps/web/app/future/settings/teams/layout.tsx create mode 100644 apps/web/app/future/settings/teams/new/page.tsx create mode 100644 apps/web/app/future/settings/teams/page.ts diff --git a/apps/web/app/future/apps/categories/[category]/page.tsx b/apps/web/app/future/apps/categories/[category]/page.tsx index a4d8532821..6f3d54e434 100644 --- a/apps/web/app/future/apps/categories/[category]/page.tsx +++ b/apps/web/app/future/apps/categories/[category]/page.tsx @@ -67,5 +67,5 @@ const getPageProps = async ({ params }: { params: Record; +export default WithLayout({ getData: getPageProps, Page: CategoryPage })<"P">; export const dynamic = "force-static"; diff --git a/apps/web/app/future/settings/teams/[id]/appearance/layout.tsx b/apps/web/app/future/settings/teams/[id]/appearance/layout.tsx new file mode 100644 index 0000000000..1359b26601 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/appearance/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/settings/teams/[id]/appearance/page.tsx b/apps/web/app/future/settings/teams/[id]/appearance/page.tsx new file mode 100644 index 0000000000..ac76104d07 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/appearance/page.tsx @@ -0,0 +1,11 @@ +import { _generateMetadata } from "app/_utils"; + +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/settings/teams/[id]/billing/layout.tsx b/apps/web/app/future/settings/teams/[id]/billing/layout.tsx new file mode 100644 index 0000000000..1359b26601 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/billing/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/settings/teams/[id]/billing/page.tsx b/apps/web/app/future/settings/teams/[id]/billing/page.tsx new file mode 100644 index 0000000000..96b7f2f3b3 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/billing/page.tsx @@ -0,0 +1,10 @@ +import Page from "@pages/settings/billing/index"; +import { _generateMetadata } from "app/_utils"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("billing"), + (t) => t("team_billing_description") + ); + +export default Page; diff --git a/apps/web/app/future/settings/teams/[id]/members/layout.tsx b/apps/web/app/future/settings/teams/[id]/members/layout.tsx new file mode 100644 index 0000000000..1359b26601 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/members/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/settings/teams/[id]/members/page.tsx b/apps/web/app/future/settings/teams/[id]/members/page.tsx new file mode 100644 index 0000000000..0f38c54f59 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/members/page.tsx @@ -0,0 +1,11 @@ +import { _generateMetadata } from "app/_utils"; + +import Page from "@calcom/features/ee/teams/pages/team-members-view"; + +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/settings/teams/[id]/onboard-members/page.tsx b/apps/web/app/future/settings/teams/[id]/onboard-members/page.tsx new file mode 100644 index 0000000000..adb33f8b63 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/onboard-members/page.tsx @@ -0,0 +1,11 @@ +import LegacyPage, { GetLayout } from "@pages/settings/teams/[id]/onboard-members"; +import { _generateMetadata } from "app/_utils"; +import { WithLayout } from "app/layoutHOC"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("add_team_members"), + (t) => t("add_team_members_description") + ); + +export default WithLayout({ Page: LegacyPage, getLayout: GetLayout })<"P">; diff --git a/apps/web/app/future/settings/teams/[id]/profile/layout.tsx b/apps/web/app/future/settings/teams/[id]/profile/layout.tsx new file mode 100644 index 0000000000..1359b26601 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/profile/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/settings/teams/[id]/profile/page.tsx b/apps/web/app/future/settings/teams/[id]/profile/page.tsx new file mode 100644 index 0000000000..b2e02352ef --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/profile/page.tsx @@ -0,0 +1,11 @@ +import { _generateMetadata } from "app/_utils"; + +import Page from "@calcom/features/ee/teams/pages/team-profile-view"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("profile"), + (t) => t("profile_team_description") + ); + +export default Page; diff --git a/apps/web/app/future/settings/teams/[id]/sso/layout.tsx b/apps/web/app/future/settings/teams/[id]/sso/layout.tsx new file mode 100644 index 0000000000..1359b26601 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/sso/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/settings/teams/[id]/sso/page.tsx b/apps/web/app/future/settings/teams/[id]/sso/page.tsx new file mode 100644 index 0000000000..8fba20bd29 --- /dev/null +++ b/apps/web/app/future/settings/teams/[id]/sso/page.tsx @@ -0,0 +1,11 @@ +import { _generateMetadata } from "app/_utils"; + +import Page from "@calcom/features/ee/sso/page/teams-sso-view"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("sso_configuration"), + (t) => t("sso_configuration_description") + ); + +export default Page; diff --git a/apps/web/app/future/settings/teams/layout.tsx b/apps/web/app/future/settings/teams/layout.tsx new file mode 100644 index 0000000000..1359b26601 --- /dev/null +++ b/apps/web/app/future/settings/teams/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/settings/teams/new/page.tsx b/apps/web/app/future/settings/teams/new/page.tsx new file mode 100644 index 0000000000..592517ab48 --- /dev/null +++ b/apps/web/app/future/settings/teams/new/page.tsx @@ -0,0 +1,11 @@ +import LegacyPage, { LayoutWrapper } from "@pages/settings/teams/new/index"; +import { _generateMetadata } from "app/_utils"; +import { WithLayout } from "app/layoutHOC"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("create_new_team"), + (t) => t("create_new_team_description") + ); + +export default WithLayout({ Page: LegacyPage, getLayout: LayoutWrapper })<"P">; diff --git a/apps/web/app/future/settings/teams/page.ts b/apps/web/app/future/settings/teams/page.ts new file mode 100644 index 0000000000..6175f853ec --- /dev/null +++ b/apps/web/app/future/settings/teams/page.ts @@ -0,0 +1,11 @@ +import { _generateMetadata } from "app/_utils"; + +import Page from "@calcom/features/ee/teams/pages/team-listing-view"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("teams"), + (t) => t("create_manage_teams_collaborative") + ); + +export default Page; diff --git a/apps/web/pages/settings/billing/index.tsx b/apps/web/pages/settings/billing/index.tsx index 501c405a25..91ad564e4e 100644 --- a/apps/web/pages/settings/billing/index.tsx +++ b/apps/web/pages/settings/billing/index.tsx @@ -1,3 +1,5 @@ +"use client"; + import { usePathname } from "next/navigation"; import { useIntercom } from "@calcom/features/ee/support/lib/intercom/useIntercom"; diff --git a/apps/web/pages/settings/teams/[id]/onboard-members.tsx b/apps/web/pages/settings/teams/[id]/onboard-members.tsx index 4ff3fb9d77..36ae12050e 100644 --- a/apps/web/pages/settings/teams/[id]/onboard-members.tsx +++ b/apps/web/pages/settings/teams/[id]/onboard-members.tsx @@ -1,3 +1,5 @@ +"use client"; + import Head from "next/head"; import AddNewTeamMembers from "@calcom/features/ee/teams/components/AddNewTeamMembers"; @@ -19,12 +21,13 @@ const OnboardTeamMembersPage = () => { ); }; -OnboardTeamMembersPage.getLayout = (page: React.ReactElement) => ( +export const GetLayout = (page: React.ReactElement) => ( {page} ); +OnboardTeamMembersPage.getLayout = GetLayout; OnboardTeamMembersPage.PageWrapper = PageWrapper; export default OnboardTeamMembersPage; diff --git a/apps/web/pages/settings/teams/new/index.tsx b/apps/web/pages/settings/teams/new/index.tsx index d3442f1696..9a1ba88808 100644 --- a/apps/web/pages/settings/teams/new/index.tsx +++ b/apps/web/pages/settings/teams/new/index.tsx @@ -1,3 +1,5 @@ +"use client"; + import Head from "next/head"; import { CreateANewTeamForm } from "@calcom/features/ee/teams/components"; @@ -18,7 +20,7 @@ const CreateNewTeamPage = () => { ); }; -const LayoutWrapper = (page: React.ReactElement) => { +export const LayoutWrapper = (page: React.ReactElement) => { return ( {page} diff --git a/packages/features/ee/sso/page/teams-sso-view.tsx b/packages/features/ee/sso/page/teams-sso-view.tsx index 26ab7d0a36..73829f1acd 100644 --- a/packages/features/ee/sso/page/teams-sso-view.tsx +++ b/packages/features/ee/sso/page/teams-sso-view.tsx @@ -1,3 +1,5 @@ +"use client"; + import { useRouter } from "next/navigation"; import { useEffect } from "react"; diff --git a/packages/features/ee/teams/pages/team-appearance-view.tsx b/packages/features/ee/teams/pages/team-appearance-view.tsx index a8cc2ac269..02dfea5357 100644 --- a/packages/features/ee/teams/pages/team-appearance-view.tsx +++ b/packages/features/ee/teams/pages/team-appearance-view.tsx @@ -1,3 +1,5 @@ +"use client"; + import { useRouter } from "next/navigation"; import { useState } from "react"; import { useForm } from "react-hook-form"; diff --git a/packages/features/ee/teams/pages/team-listing-view.tsx b/packages/features/ee/teams/pages/team-listing-view.tsx index 9040e35cd3..2047a2d004 100644 --- a/packages/features/ee/teams/pages/team-listing-view.tsx +++ b/packages/features/ee/teams/pages/team-listing-view.tsx @@ -1,3 +1,5 @@ +"use client"; + import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Meta } from "@calcom/ui"; diff --git a/packages/features/ee/teams/pages/team-members-view.tsx b/packages/features/ee/teams/pages/team-members-view.tsx index b6374df16b..3c142c36ab 100644 --- a/packages/features/ee/teams/pages/team-members-view.tsx +++ b/packages/features/ee/teams/pages/team-members-view.tsx @@ -1,3 +1,5 @@ +"use client"; + import { useSession } from "next-auth/react"; import { useRouter } from "next/navigation"; import { useState } from "react"; diff --git a/packages/features/ee/teams/pages/team-profile-view.tsx b/packages/features/ee/teams/pages/team-profile-view.tsx index 808b4f379a..d0dff783d4 100644 --- a/packages/features/ee/teams/pages/team-profile-view.tsx +++ b/packages/features/ee/teams/pages/team-profile-view.tsx @@ -1,3 +1,5 @@ +"use client"; + import { zodResolver } from "@hookform/resolvers/zod"; import type { Prisma } from "@prisma/client"; import { useSession } from "next-auth/react";