diff --git a/apps/web/app/(use-page-wrapper)/(main-nav)/teams/page.tsx b/apps/web/app/(use-page-wrapper)/(main-nav)/teams/page.tsx new file mode 100644 index 0000000000..7970b3825a --- /dev/null +++ b/apps/web/app/(use-page-wrapper)/(main-nav)/teams/page.tsx @@ -0,0 +1,35 @@ +import { ShellMainAppDir } from "app/(use-page-wrapper)/(main-nav)/ShellMainAppDir"; +import { withAppDirSsr } from "app/WithAppDirSsr"; +import type { PageProps as ServerPageProps } from "app/_types"; +import { _generateMetadata, getTranslate } from "app/_utils"; +import { cookies, headers } from "next/headers"; + +import { buildLegacyCtx } from "@lib/buildLegacyCtx"; +import { getServerSideProps } from "@lib/teams/getServerSideProps"; + +import type { PageProps as ClientPageProps } from "~/teams/teams-view"; +import TeamsView, { TeamsCTA } from "~/teams/teams-view"; + +export const generateMetadata = async () => + await _generateMetadata( + (t) => t("teams"), + (t) => t("create_manage_teams_collaborative") + ); + +const getData = withAppDirSsr(getServerSideProps); + +const ServerPage = async ({ params, searchParams }: ServerPageProps) => { + const context = buildLegacyCtx(headers(), cookies(), params, searchParams); + const props = await getData(context); + const t = await getTranslate(); + + return ( + } + heading={t("teams")} + subtitle={t("create_manage_teams_collaborative")}> + ; + + ); +}; +export default ServerPage; diff --git a/apps/web/app/teams/page.tsx b/apps/web/app/teams/page.tsx deleted file mode 100644 index 5008c9ebd8..0000000000 --- a/apps/web/app/teams/page.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { withAppDirSsr } from "app/WithAppDirSsr"; -import { _generateMetadata } from "app/_utils"; -import { WithLayout } from "app/layoutHOC"; - -import { getServerSideProps } from "@lib/teams/getServerSideProps"; - -import type { PageProps } from "~/teams/teams-view"; -import Page from "~/teams/teams-view"; - -export const generateMetadata = async () => - await _generateMetadata( - (t) => t("teams"), - (t) => t("create_manage_teams_collaborative") - ); - -export default WithLayout({ - getData: withAppDirSsr(getServerSideProps), - getLayout: null, - Page, -})<"P">; diff --git a/apps/web/modules/teams/teams-view.tsx b/apps/web/modules/teams/teams-view.tsx index 4043e57776..24e2ae676b 100644 --- a/apps/web/modules/teams/teams-view.tsx +++ b/apps/web/modules/teams/teams-view.tsx @@ -1,7 +1,6 @@ "use client"; import { TeamsListing } from "@calcom/features/ee/teams/components"; -import Shell from "@calcom/features/shell/Shell"; import { WEBAPP_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; @@ -11,36 +10,24 @@ import { Button } from "@calcom/ui"; import type { getServerSideProps } from "@lib/teams/getServerSideProps"; export type PageProps = inferSSRProps; -function Teams(props: PageProps) { + +export const TeamsCTA = () => { const { t } = useLocale(); const [user] = trpc.viewer.me.useSuspenseQuery(); + return !user.organizationId || user.organization.isOrgAdmin ? ( + + ) : null; +}; - return ( - - {t("new")} - - ) - }> - - - ); +function Teams(props: PageProps) { + return ; } -Teams.requiresLicense = false; - export default Teams;