feat: booking redirect page url is now has uid in it's parameters (#19522)
* feat: booking redirect page is now w UID * refactor: use getBookingRedirectExtraParams * refactor: remove uncessary const result * uid isnt the first param anymore
This commit is contained in:
@@ -120,18 +120,21 @@ export const getBookingRedirectExtraParams = (booking: SuccessRedirectBookingTyp
|
||||
};
|
||||
}
|
||||
|
||||
const result = (Object.keys(booking) as BookingResponseKey[])
|
||||
const bookingParams = (Object.keys(booking) as BookingResponseKey[])
|
||||
.filter((key) => redirectQueryParamKeys.includes(key))
|
||||
.reduce<ResultType>((obj, key) => {
|
||||
if (key === "responses") return extractResponseDetails(booking, obj);
|
||||
if (key === "user") return extractUserDetails(booking, obj);
|
||||
if (key === "attendees") return extractAttendeesAndGuests(booking, obj);
|
||||
return { ...obj, [key]: booking[key] };
|
||||
}, {});
|
||||
.reduce<ResultType>(
|
||||
(obj, key) => {
|
||||
if (key === "responses") return extractResponseDetails(booking, obj);
|
||||
if (key === "user") return extractUserDetails(booking, obj);
|
||||
if (key === "attendees") return extractAttendeesAndGuests(booking, obj);
|
||||
return { ...obj, [key]: booking[key] };
|
||||
},
|
||||
{ uid: booking.uid }
|
||||
);
|
||||
|
||||
const queryCompatibleParams: Record<string, string | boolean | null | undefined> = {
|
||||
...Object.fromEntries(
|
||||
Object.entries(result).map(([key, value]) => {
|
||||
Object.entries(bookingParams).map(([key, value]) => {
|
||||
if (Array.isArray(value)) {
|
||||
return [key, value.join(", ")];
|
||||
}
|
||||
@@ -142,10 +145,10 @@ export const getBookingRedirectExtraParams = (booking: SuccessRedirectBookingTyp
|
||||
return [key, value];
|
||||
})
|
||||
),
|
||||
hostName: result.hostName?.join(", "),
|
||||
attendeeName: result.attendeeName || undefined,
|
||||
hostStartTime: result.hostStartTime || undefined,
|
||||
attendeeStartTime: result.attendeeStartTime || undefined,
|
||||
hostName: bookingParams.hostName?.join(", "),
|
||||
attendeeName: bookingParams.attendeeName || undefined,
|
||||
hostStartTime: bookingParams.hostStartTime || undefined,
|
||||
attendeeStartTime: bookingParams.attendeeStartTime || undefined,
|
||||
};
|
||||
|
||||
return queryCompatibleParams;
|
||||
@@ -179,7 +182,9 @@ export const useBookingSuccessRedirect = () => {
|
||||
navigateInTopWindow(url.toString());
|
||||
return;
|
||||
}
|
||||
|
||||
const bookingExtraParams = getBookingRedirectExtraParams(booking);
|
||||
|
||||
const newSearchParams = getNewSearchParams({
|
||||
query: {
|
||||
...query,
|
||||
@@ -187,6 +192,7 @@ export const useBookingSuccessRedirect = () => {
|
||||
},
|
||||
searchParams: searchParams ?? undefined,
|
||||
});
|
||||
|
||||
newSearchParams.forEach((value, key) => {
|
||||
url.searchParams.append(key, value);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user