diff --git a/apps/web/pages/success.tsx b/apps/web/pages/success.tsx
index 9a0bf0f740..5fb9fa8172 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