Merged in fix/SW-2716-wrong-package-for-breakfast (pull request #2063)
fix: add correct package for callback * fix: add correct package for callback Approved-by: Niclas Edenvin Approved-by: Linus Flood
This commit is contained in:
committed by
Linus Flood
parent
7031ad3fae
commit
45f61bd81e
@@ -248,10 +248,6 @@ export default function AddAncillaryFlowModal({
|
||||
const onSubmit = (data: AncillaryFormData) => {
|
||||
if (!validateTermsAndConditions(data)) return
|
||||
|
||||
setAncillarySessionData({
|
||||
formData: data,
|
||||
selectedAncillary,
|
||||
})
|
||||
const packagesToAdd = !isBreakfast
|
||||
? buildAncillaryPackages(data, selectedAncillary)
|
||||
: breakfastData
|
||||
@@ -266,6 +262,11 @@ export default function AddAncillaryFlowModal({
|
||||
)
|
||||
return
|
||||
}
|
||||
setAncillarySessionData({
|
||||
formData: data,
|
||||
selectedAncillary,
|
||||
packages: packagesToAdd,
|
||||
})
|
||||
const shouldSkipGuarantee =
|
||||
booking.guaranteeInfo || (data.quantityWithCard ?? 0) <= 0
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import { useEffect } from "react"
|
||||
import { trpc } from "@/lib/trpc/client"
|
||||
|
||||
import {
|
||||
buildAncillaryPackages,
|
||||
clearAncillarySessionData,
|
||||
getAncillarySessionData,
|
||||
} from "@/components/HotelReservation/MyStay/utils/ancillaries"
|
||||
@@ -39,13 +38,16 @@ export default function GuaranteeAncillaryHandler({
|
||||
}
|
||||
|
||||
const sessionData = getAncillarySessionData()
|
||||
if (!sessionData?.formData || !sessionData?.selectedAncillary) {
|
||||
if (
|
||||
!sessionData?.formData ||
|
||||
!sessionData?.selectedAncillary ||
|
||||
!sessionData?.packages
|
||||
) {
|
||||
router.replace(`${returnUrl}&errorCode=AncillaryFailed`)
|
||||
return
|
||||
}
|
||||
|
||||
const { formData, selectedAncillary } = sessionData
|
||||
const packages = buildAncillaryPackages(formData, selectedAncillary)
|
||||
const { formData, selectedAncillary, packages } = sessionData
|
||||
|
||||
addAncillary.mutate(
|
||||
{
|
||||
|
||||
@@ -9,10 +9,7 @@ import {
|
||||
clearGlaSessionStorage,
|
||||
readGlaFromSessionStorage,
|
||||
} from "@/components/HotelReservation/EnterDetails/Payment/PaymentCallback/helpers"
|
||||
import {
|
||||
buildAncillaryPackages,
|
||||
getAncillarySessionData,
|
||||
} from "@/components/HotelReservation/MyStay/utils/ancillaries"
|
||||
import { getAncillarySessionData } from "@/components/HotelReservation/MyStay/utils/ancillaries"
|
||||
import LoadingSpinner from "@/components/LoadingSpinner"
|
||||
import { trackEvent } from "@/utils/tracking/base"
|
||||
import { buildAncillaries } from "@/utils/tracking/myStay"
|
||||
@@ -35,12 +32,7 @@ export default function TrackGuarantee({
|
||||
useEffect(() => {
|
||||
const trackAncillaryPaymentEvent = (event: string, status: string) => {
|
||||
const sessionData = getAncillarySessionData()
|
||||
const { formData, selectedAncillary } = sessionData || {}
|
||||
|
||||
const packages =
|
||||
formData && selectedAncillary
|
||||
? buildAncillaryPackages(formData, selectedAncillary)
|
||||
: []
|
||||
const { formData, selectedAncillary, packages } = sessionData || {}
|
||||
|
||||
trackEvent({
|
||||
event,
|
||||
@@ -51,7 +43,7 @@ export default function TrackGuarantee({
|
||||
guaranteedProduct: "room + ancillary",
|
||||
},
|
||||
ancillaries: buildAncillaries(
|
||||
packages,
|
||||
packages ?? [],
|
||||
selectedAncillary,
|
||||
formData?.deliveryTime
|
||||
),
|
||||
|
||||
@@ -43,6 +43,11 @@ export const getAncillarySessionData = ():
|
||||
| {
|
||||
formData?: AncillaryFormData
|
||||
selectedAncillary?: Ancillary["ancillaryContent"][number] | null
|
||||
packages: {
|
||||
code: string
|
||||
quantity: number
|
||||
comment: string | undefined
|
||||
}[]
|
||||
}
|
||||
| undefined => {
|
||||
if (typeof window === "undefined") return undefined
|
||||
@@ -59,9 +64,15 @@ export const getAncillarySessionData = ():
|
||||
export function setAncillarySessionData({
|
||||
formData,
|
||||
selectedAncillary,
|
||||
packages,
|
||||
}: {
|
||||
formData?: AncillaryFormData
|
||||
selectedAncillary?: Ancillary["ancillaryContent"][number] | null
|
||||
packages: {
|
||||
code: string
|
||||
quantity: number
|
||||
comment: string | undefined
|
||||
}[]
|
||||
}) {
|
||||
if (typeof window === "undefined") return
|
||||
|
||||
@@ -69,7 +80,7 @@ export function setAncillarySessionData({
|
||||
const currentData = getAncillarySessionData() || {}
|
||||
sessionStorage.setItem(
|
||||
ancillarySessionKey,
|
||||
JSON.stringify({ ...currentData, formData, selectedAncillary })
|
||||
JSON.stringify({ ...currentData, formData, selectedAncillary, packages })
|
||||
)
|
||||
} catch (error) {
|
||||
console.error("Error writing to session storage:", error)
|
||||
|
||||
Reference in New Issue
Block a user