diff --git a/apps/web/lib/app-providers.tsx b/apps/web/lib/app-providers.tsx index 3f3eda9d5bb7c6..c5c55a97def25e 100644 --- a/apps/web/lib/app-providers.tsx +++ b/apps/web/lib/app-providers.tsx @@ -1,7 +1,7 @@ import { TooltipProvider } from "@radix-ui/react-tooltip"; import { SessionProvider } from "next-auth/react"; import { EventCollectionProvider } from "next-collect/client"; -import { appWithTranslation } from "next-i18next"; +import { appWithTranslation, SSRConfig } from "next-i18next"; import { ThemeProvider } from "next-themes"; import type { AppProps as NextAppProps, AppProps as NextJsAppProps } from "next/app"; import { NextRouter } from "next/router"; @@ -14,9 +14,9 @@ import { MetaProvider } from "@calcom/ui/v2/core/Meta"; import usePublicPage from "@lib/hooks/usePublicPage"; -const I18nextAdapter = appWithTranslation(({ children }) => ( - <>{children} -)); +const I18nextAdapter = appWithTranslation & { children: React.ReactNode }>( + ({ children }) => <>{children} +); // Workaround for https://github.com/vercel/next.js/issues/8592 export type AppProps = Omit & { diff --git a/apps/web/pages/success.tsx b/apps/web/pages/success.tsx index 9a0bf0f7402be2..5fb9fa8172b0bc 100644 --- a/apps/web/pages/success.tsx +++ b/apps/web/pages/success.tsx @@ -369,23 +369,12 @@ export default function Success(props: SuccessProps) {

{bookingInfo.user.email}

)} - {!eventType.seatsShowAttendees - ? bookingInfo?.attendees - .filter((attendee) => attendee.email === email) - .map((attendee) => ( -
-

{attendee.name}

-

{attendee.email}

-
- )) - : bookingInfo?.attendees.map((attendee, index) => ( -
-

{attendee.name}

-

{attendee.email}

-
- ))} + {bookingInfo?.attendees.map((attendee, index) => ( +
+

{attendee.name}

+

{attendee.email}

+
+ ))} @@ -786,6 +775,28 @@ const schema = z.object({ bookingId: strToNumber, }); +const handleSeatsEventTypeOnBooking = ( + eventType: { + seatsPerTimeSlot?: boolean | null; + seatsShowAttendees: boolean | null; + [x: string | number | symbol]: unknown; + }, + booking: Partial< + Prisma.BookingGetPayload<{ include: { attendees: { select: { name: true; email: true } } } }> + >, + email: string +) => { + if (eventType?.seatsPerTimeSlot !== null) { + // @TODO: right now bookings with seats doesn't save every description that its entered by every user + delete booking.description; + } + if (!eventType.seatsShowAttendees) { + const attendee = booking?.attendees?.find((a) => a.email === email); + booking["attendees"] = attendee ? [attendee] : []; + } + return; +}; + export async function getServerSideProps(context: GetServerSidePropsContext) { const ssr = await ssrInit(context); const parsedQuery = schema.safeParse(context.query); @@ -884,6 +895,10 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { }, }, }); + if (bookingInfo !== null && email) { + handleSeatsEventTypeOnBooking(eventType, bookingInfo, email); + } + let recurringBookings = null; if (recurringEventIdQuery) { // We need to get the dates for the bookings to be able to show them in the UI diff --git a/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts b/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts index 3d2bce6b68d431..1ed1f2016ccf77 100644 --- a/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts +++ b/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts @@ -326,6 +326,7 @@ const ZoomVideoApiAdapter = (credential: CredentialPayload): VideoApiAdapter => const handleZoomResponse = async (response: Response, credentialId: Credential["id"]) => { let _response = response.clone(); + const responseClone = response.clone(); if (_response.headers.get("content-encoding") === "gzip") { const responseString = await response.text(); _response = JSON.parse(responseString); @@ -339,7 +340,7 @@ const handleZoomResponse = async (response: Response, credentialId: Credential[" throw Error(response.statusText); } - return response.json(); + return responseClone.json(); }; const invalidateCredential = async (credentialId: Credential["id"]) => { diff --git a/packages/trpc/server/routers/viewer.tsx b/packages/trpc/server/routers/viewer.tsx index cf0fd618150098..c7c022946904c3 100644 --- a/packages/trpc/server/routers/viewer.tsx +++ b/packages/trpc/server/routers/viewer.tsx @@ -152,7 +152,7 @@ const loggedInViewerRouter = createProtectedRouter() locale: user.locale, timeFormat: user.timeFormat, timeZone: user.timeZone, - avatar: user.avatar, + avatar: `${CAL_URL}/${user.username}/avatar.png`, createdDate: user.createdDate, trialEndsAt: user.trialEndsAt, completedOnboarding: user.completedOnboarding,