diff --git a/apps/web/lib/org/[orgSlug]/instant-meeting/team/[slug]/[type]/getServerSideProps.ts b/apps/web/lib/org/[orgSlug]/instant-meeting/team/[slug]/[type]/getServerSideProps.ts index 31b50cbf12..6c0ec85f04 100644 --- a/apps/web/lib/org/[orgSlug]/instant-meeting/team/[slug]/[type]/getServerSideProps.ts +++ b/apps/web/lib/org/[orgSlug]/instant-meeting/team/[slug]/[type]/getServerSideProps.ts @@ -56,6 +56,7 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => return { props: { entity: eventData.entity, + eventTypeId: eventData.id, duration: getMultipleDurationValue( eventData.metadata?.multipleDuration, queryDuration, diff --git a/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx b/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx index d52e72f257..6046eed3e5 100644 --- a/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx +++ b/apps/web/lib/team/[slug]/[type]/getServerSideProps.tsx @@ -88,6 +88,7 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => return { props: { eventData: { + eventTypeId: eventData.id, entity: eventData.entity, length: eventData.length, metadata: eventData.metadata, diff --git a/apps/web/modules/org/[orgSlug]/instant-meeting/team/[slug]/[type]/instant-meeting-view.tsx b/apps/web/modules/org/[orgSlug]/instant-meeting/team/[slug]/[type]/instant-meeting-view.tsx index c52b968fea..7caa7f964e 100644 --- a/apps/web/modules/org/[orgSlug]/instant-meeting/team/[slug]/[type]/instant-meeting-view.tsx +++ b/apps/web/modules/org/[orgSlug]/instant-meeting/team/[slug]/[type]/instant-meeting-view.tsx @@ -10,7 +10,7 @@ import type { EmbedProps } from "@lib/withEmbedSsr"; export type PageProps = inferSSRProps & EmbedProps; -function Type({ slug, user, booking, isEmbed, isBrandingHidden, entity, duration }: PageProps) { +function Type({ slug, user, booking, isEmbed, isBrandingHidden, entity, eventTypeId, duration }: PageProps) { return (
diff --git a/apps/web/modules/team/type-view.tsx b/apps/web/modules/team/type-view.tsx index c7fc57d7a5..f063f87577 100644 --- a/apps/web/modules/team/type-view.tsx +++ b/apps/web/modules/team/type-view.tsx @@ -53,7 +53,7 @@ function Type({ isInstantMeeting={isInstantMeeting} hideBranding={isBrandingHidden} isTeamEvent - entity={eventData.entity} + entity={{ ...eventData.entity, eventTypeId: eventData?.eventTypeId }} durationConfig={eventData.metadata?.multipleDuration} /* TODO: Currently unused, evaluate it is needed- * Possible alternative approach is to have onDurationChange. diff --git a/apps/web/modules/users/views/users-type-public-view.tsx b/apps/web/modules/users/views/users-type-public-view.tsx index 5099ea9dda..903e3dad4c 100644 --- a/apps/web/modules/users/views/users-type-public-view.tsx +++ b/apps/web/modules/users/views/users-type-public-view.tsx @@ -52,7 +52,7 @@ function Type({ eventSlug={slug} bookingData={booking} hideBranding={isBrandingHidden} - entity={eventData.entity} + entity={{ ...eventData.entity, eventTypeId: eventData?.id }} durationConfig={eventData.metadata?.multipleDuration} orgBannerUrl={orgBannerUrl} /* TODO: Currently unused, evaluate it is needed- diff --git a/packages/features/bookings/Booker/types.ts b/packages/features/bookings/Booker/types.ts index c10dd25c72..9dfa3d34b4 100644 --- a/packages/features/bookings/Booker/types.ts +++ b/packages/features/bookings/Booker/types.ts @@ -32,6 +32,7 @@ export interface BookerProps { teamSlug?: string | null; name?: string | null; logoUrl?: string | null; + eventTypeId?: number | null; }; /** diff --git a/packages/features/bookings/Booker/utils/event.ts b/packages/features/bookings/Booker/utils/event.ts index 91fd8c1f21..fd04b3eebe 100644 --- a/packages/features/bookings/Booker/utils/event.ts +++ b/packages/features/bookings/Booker/utils/event.ts @@ -72,6 +72,7 @@ export const useScheduleForEvent = ({ orgSlug, teamMemberEmail, fromRedirectOfNonOrgLink, + isTeamEvent, }: { prefetchNextMonth?: boolean; username?: string | null; @@ -85,9 +86,9 @@ export const useScheduleForEvent = ({ orgSlug?: string; teamMemberEmail?: string | null; fromRedirectOfNonOrgLink?: boolean; + isTeamEvent?: boolean; } = {}) => { const { timezone } = useTimePreferences(); - const event = useEvent({ fromRedirectOfNonOrgLink }); const [usernameFromStore, eventSlugFromStore, monthFromStore, durationFromStore] = useBookerStore( (state) => [state.username, state.eventSlug, state.month, state.selectedDuration], shallow @@ -98,12 +99,10 @@ export const useScheduleForEvent = ({ const pathname = usePathname(); - const isTeam = !!event.data?.team?.parentId; - const schedule = useSchedule({ username: usernameFromStore ?? username, eventSlug: eventSlugFromStore ?? eventSlug, - eventId: event.data?.id ?? eventId, + eventId, timezone, selectedDate, prefetchNextMonth, @@ -112,7 +111,7 @@ export const useScheduleForEvent = ({ rescheduleUid, month: monthFromStore ?? month, duration: durationFromStore ?? duration, - isTeamEvent: pathname?.indexOf("/team/") !== -1 || isTeam, + isTeamEvent, orgSlug, teamMemberEmail, }); diff --git a/packages/features/embed/Embed.tsx b/packages/features/embed/Embed.tsx index 60ed2a6ec0..84e9bb3d97 100644 --- a/packages/features/embed/Embed.tsx +++ b/packages/features/embed/Embed.tsx @@ -172,7 +172,7 @@ const EmailEmbed = ({ shallow ); const event = useEvent(); - const schedule = useScheduleForEvent({ orgSlug }); + const schedule = useScheduleForEvent({ orgSlug, eventId: eventType?.id, isTeamEvent }); const nonEmptyScheduleDays = useNonEmptyScheduleDays(schedule?.data?.slots); const onTimeSelect = (time: string) => { diff --git a/packages/platform/atoms/booker/BookerWebWrapper.tsx b/packages/platform/atoms/booker/BookerWebWrapper.tsx index 784e42dbb8..9ff67deeef 100644 --- a/packages/platform/atoms/booker/BookerWebWrapper.tsx +++ b/packages/platform/atoms/booker/BookerWebWrapper.tsx @@ -51,7 +51,7 @@ export const BookerWebWrapper = (props: BookerWebWrapperAtomProps) => { useInitializeBookerStore({ ...props, - eventId: event?.data?.id, + eventId: props.entity.eventTypeId ?? event?.data?.id, rescheduleUid, rescheduledBy, bookingUid: bookingUid, @@ -123,6 +123,7 @@ export const BookerWebWrapper = (props: BookerWebWrapperAtomProps) => { * */ const schedule = useScheduleForEvent({ prefetchNextMonth, + eventId: props.entity.eventTypeId ?? event.data?.id, username: props.username, monthCount, dayCount, @@ -132,6 +133,7 @@ export const BookerWebWrapper = (props: BookerWebWrapperAtomProps) => { selectedDate, teamMemberEmail: props.teamMemberEmail, fromRedirectOfNonOrgLink: props.entity.fromRedirectOfNonOrgLink, + isTeamEvent: props.isTeamEvent ?? !!event.data?.team, }); const bookings = useBookings({ event,