* FEAT: Implement Dub.co for conversion tracking * add link creation, @vercel/functions * use refer.cal.com/:username instead of go.cal.com/r/:username * sale conversion tracking * add copy referral link * limit to IS_CALCOM only * Update yarn.lock * fix DubAnalytics * use workaround for isNewUser * pass req to getOptions * Update next-auth-options.ts * fix ts errors * only show DubAnalytics outside EU * add Dub Analytics to /signup * use WEBSITE_URL instead * on-demand generate links * add migration * add check for existing link + change fetch method to poast * remove refer.cal.com from PoweredByCal * limit DubAnalytics to /signup only * simplify generate-referral-link * restore yarn.lock * add yarn with dub sdk in * add yarn with dub sdk in * yarn * Update yarn.lock --------- Co-authored-by: sean <sean@brydon.io> Co-authored-by: Peer Richelsen <peer@cal.com>
24 lines
964 B
TypeScript
24 lines
964 B
TypeScript
import dynamic from "next/dynamic";
|
|
import React from "react";
|
|
|
|
import { getServerSessionForAppDir } from "@calcom/feature-auth/lib/get-server-session-for-app-dir";
|
|
import SettingsLayoutAppDir from "@calcom/features/settings/appDir/SettingsLayoutAppDir";
|
|
|
|
import type { AdminLayoutProps } from "./AdminLayoutAppDirClient";
|
|
|
|
const AdminLayoutAppDirClient = dynamic(() => import("./AdminLayoutAppDirClient"), {
|
|
ssr: false,
|
|
});
|
|
|
|
type AdminLayoutAppDirProps = Omit<AdminLayoutProps, "userRole">;
|
|
|
|
export default async function AdminLayoutAppDir(props: AdminLayoutAppDirProps) {
|
|
// FIXME: Refactor me once next-auth endpoint is migrated to App Router
|
|
const session = await getServerSessionForAppDir();
|
|
const userRole = session?.user?.role;
|
|
|
|
return await SettingsLayoutAppDir({ children: <AdminLayoutAppDirClient {...props} userRole={userRole} /> });
|
|
}
|
|
|
|
export const getLayout = async (page: React.ReactElement) => await AdminLayoutAppDir({ children: page });
|