& {
rescheduleUid?: string;
bookingUid?: string;
username: string | string[];
diff --git a/packages/platform/atoms/index.ts b/packages/platform/atoms/index.ts
index f40788dbc1..0ace2cbf53 100644
--- a/packages/platform/atoms/index.ts
+++ b/packages/platform/atoms/index.ts
@@ -14,3 +14,4 @@ export { useGetBookings } from "./hooks/useGetBookings";
export { useMe } from "./hooks/useMe";
export { OutlookConnect } from "./connect/outlook/OutlookConnect";
export * as Connect from "./connect";
+export { BookerEmbed } from "./booker-embed";
diff --git a/packages/platform/examples/base/src/components/Navbar/index.tsx b/packages/platform/examples/base/src/components/Navbar/index.tsx
index 4ef7ea3086..63213c4d15 100644
--- a/packages/platform/examples/base/src/components/Navbar/index.tsx
+++ b/packages/platform/examples/base/src/components/Navbar/index.tsx
@@ -28,6 +28,9 @@ export function Navbar({ username }: { username?: string }) {
My Bookings
+
+ Embed
+
diff --git a/packages/platform/examples/base/src/pages/_app.tsx b/packages/platform/examples/base/src/pages/_app.tsx
index b598a7d3a2..ca83d84598 100644
--- a/packages/platform/examples/base/src/pages/_app.tsx
+++ b/packages/platform/examples/base/src/pages/_app.tsx
@@ -1,9 +1,11 @@
import "@/styles/globals.css";
import type { AppProps } from "next/app";
import { Poppins } from "next/font/google";
+import { usePathname } from "next/navigation";
+import { useRouter } from "next/navigation";
import { useEffect, useState } from "react";
-import { CalProvider } from "@calcom/atoms";
+import { CalProvider, BookerEmbed } from "@calcom/atoms";
import "@calcom/atoms/globals.min.css";
const poppins = Poppins({ subsets: ["latin"], weight: ["400", "800"] });
@@ -25,6 +27,8 @@ export default function App({ Component, pageProps }: AppProps) {
const [accessToken, setAccessToken] = useState("");
const [email, setUserEmail] = useState("");
const [username, setUsername] = useState("");
+ const router = useRouter();
+ const pathname = usePathname();
useEffect(() => {
const randomEmail = generateRandomEmail();
@@ -59,6 +63,30 @@ export default function App({ Component, pageProps }: AppProps) {
>
)}
{" "}
+ {pathname === "/embed" && (
+
+ {
+ router.push(`/${data.data.uid}`);
+ }}
+ />
+
+ )}
);
}
diff --git a/packages/platform/examples/base/src/pages/embed.tsx b/packages/platform/examples/base/src/pages/embed.tsx
new file mode 100644
index 0000000000..964601367b
--- /dev/null
+++ b/packages/platform/examples/base/src/pages/embed.tsx
@@ -0,0 +1,15 @@
+import { Navbar } from "@/components/Navbar";
+import { Inter } from "next/font/google";
+
+const inter = Inter({ subsets: ["latin"] });
+
+export default function Embed(props: { calUsername: string; calEmail: string }) {
+ return (
+
+
+
+
This is the booker embed
+
+
+ );
+}