diff --git a/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/layout.tsx b/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/layout.tsx new file mode 100644 index 0000000000..7403ef82cd --- /dev/null +++ b/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/layout.tsx @@ -0,0 +1,19 @@ +import { getTranslate } from "app/_utils"; + +import { CTA_CONTAINER_CLASS_NAME } from "@calcom/features/data-table/lib/utils"; +import Shell from "@calcom/features/shell/Shell"; + +export default async function Layout({ children }: { children: React.ReactNode }) { + const t = await getTranslate(); + + return ( + }> + {children} + + ); +} diff --git a/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/loading.tsx b/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/loading.tsx new file mode 100644 index 0000000000..489822d2d6 --- /dev/null +++ b/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/loading.tsx @@ -0,0 +1,5 @@ +import { UserListTableSkeleton } from "@calcom/features/users/components/UserTable/UserListTableSkeleton"; + +export default function Loading() { + return ; +} diff --git a/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/page.tsx b/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/page.tsx index e22b5193d5..5e15a03a6a 100644 --- a/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/organizations/[id]/members/page.tsx @@ -1,6 +1,10 @@ +import { createRouterCaller } from "app/_trpc/context"; import { _generateMetadata } from "app/_utils"; -import MembersPage from "~/members/members-view"; +import { attributesRouter } from "@calcom/trpc/server/routers/viewer/attributes/_router"; +import { viewerOrganizationsRouter } from "@calcom/trpc/server/routers/viewer/organizations/_router"; + +import { MembersView } from "~/members/members-view"; export const generateMetadata = async ({ params }: { params: Promise<{ id: string }> }) => await _generateMetadata( @@ -11,8 +15,20 @@ export const generateMetadata = async ({ params }: { params: Promise<{ id: strin `/settings/organizations/${(await params).id}/members` ); -const ServerPageWrapper = () => { - return ; +const ServerPageWrapper = async () => { + const [orgCaller, attributesCaller] = await Promise.all([ + createRouterCaller(viewerOrganizationsRouter), + createRouterCaller(attributesRouter), + ]); + const [org, teams, facetedTeamValues, attributes] = await Promise.all([ + orgCaller.listCurrent(), + orgCaller.getTeams(), + orgCaller.getFacetedValues(), + attributesCaller.list(), + ]); + return ( + + ); }; export default ServerPageWrapper; diff --git a/apps/web/app/(use-page-wrapper)/settings/organizations/members/layout.tsx b/apps/web/app/(use-page-wrapper)/settings/organizations/members/layout.tsx new file mode 100644 index 0000000000..deb88ac86d --- /dev/null +++ b/apps/web/app/(use-page-wrapper)/settings/organizations/members/layout.tsx @@ -0,0 +1,20 @@ +import SettingsLayoutAppDirClient from "app/(use-page-wrapper)/settings/(settings-layout)/SettingsLayoutAppDirClient"; +import { getTranslate } from "app/_utils"; + +import { CTA_CONTAINER_CLASS_NAME } from "@calcom/features/data-table/lib/utils"; +import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader"; + +export default async function Layout({ children }: { children: React.ReactNode }) { + const t = await getTranslate(); + + return ( + + + {children} + + + ); +} diff --git a/apps/web/app/(use-page-wrapper)/settings/organizations/members/loading.tsx b/apps/web/app/(use-page-wrapper)/settings/organizations/members/loading.tsx new file mode 100644 index 0000000000..489822d2d6 --- /dev/null +++ b/apps/web/app/(use-page-wrapper)/settings/organizations/members/loading.tsx @@ -0,0 +1,5 @@ +import { UserListTableSkeleton } from "@calcom/features/users/components/UserTable/UserListTableSkeleton"; + +export default function Loading() { + return ; +} diff --git a/apps/web/app/(use-page-wrapper)/settings/organizations/members/page.tsx b/apps/web/app/(use-page-wrapper)/settings/organizations/members/page.tsx index e097bc493a..6a499d66af 100644 --- a/apps/web/app/(use-page-wrapper)/settings/organizations/members/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/organizations/members/page.tsx @@ -1,9 +1,10 @@ -import SettingsLayoutAppDir from "app/(use-page-wrapper)/settings/(settings-layout)/layout"; -import { _generateMetadata, getTranslate } from "app/_utils"; +import { createRouterCaller } from "app/_trpc/context"; +import { _generateMetadata } from "app/_utils"; -import { CTA_CONTAINER_CLASS_NAME } from "@calcom/features/data-table/lib/utils"; -import LegacyPage from "@calcom/features/ee/organizations/pages/members"; -import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader"; +import { attributesRouter } from "@calcom/trpc/server/routers/viewer/attributes/_router"; +import { viewerOrganizationsRouter } from "@calcom/trpc/server/routers/viewer/organizations/_router"; + +import { MembersView } from "~/members/members-view"; export const generateMetadata = async () => await _generateMetadata( @@ -15,17 +16,20 @@ export const generateMetadata = async () => ); const Page = async () => { - const t = await getTranslate(); + const [orgCaller, attributesCaller] = await Promise.all([ + createRouterCaller(viewerOrganizationsRouter), + createRouterCaller(attributesRouter), + ]); + const [org, teams, facetedTeamValues, attributes] = await Promise.all([ + orgCaller.listCurrent(), + orgCaller.getTeams(), + orgCaller.getFacetedValues(), + attributesCaller.list(), + ]); - const children = ( - - - + return ( + ); - return await SettingsLayoutAppDir({ children, containerClassName: "lg:max-w-screen-2xl" }); }; export default Page; diff --git a/apps/web/app/(use-page-wrapper)/settings/platform/members/layout.tsx b/apps/web/app/(use-page-wrapper)/settings/platform/members/layout.tsx new file mode 100644 index 0000000000..76a42b69f9 --- /dev/null +++ b/apps/web/app/(use-page-wrapper)/settings/platform/members/layout.tsx @@ -0,0 +1,33 @@ +import { getTranslate } from "app/_utils"; + +import { CTA_CONTAINER_CLASS_NAME } from "@calcom/features/data-table/lib/utils"; +import Shell from "@calcom/features/shell/Shell"; +import { Button } from "@calcom/ui/components/button"; + +export default async function Layout({ children }: { children: React.ReactNode }) { + const t = await getTranslate(); + + return ( + +

Member management

+