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) => {
|
const onSubmit = (data: AncillaryFormData) => {
|
||||||
if (!validateTermsAndConditions(data)) return
|
if (!validateTermsAndConditions(data)) return
|
||||||
|
|
||||||
setAncillarySessionData({
|
|
||||||
formData: data,
|
|
||||||
selectedAncillary,
|
|
||||||
})
|
|
||||||
const packagesToAdd = !isBreakfast
|
const packagesToAdd = !isBreakfast
|
||||||
? buildAncillaryPackages(data, selectedAncillary)
|
? buildAncillaryPackages(data, selectedAncillary)
|
||||||
: breakfastData
|
: breakfastData
|
||||||
@@ -266,6 +262,11 @@ export default function AddAncillaryFlowModal({
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
setAncillarySessionData({
|
||||||
|
formData: data,
|
||||||
|
selectedAncillary,
|
||||||
|
packages: packagesToAdd,
|
||||||
|
})
|
||||||
const shouldSkipGuarantee =
|
const shouldSkipGuarantee =
|
||||||
booking.guaranteeInfo || (data.quantityWithCard ?? 0) <= 0
|
booking.guaranteeInfo || (data.quantityWithCard ?? 0) <= 0
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { useEffect } from "react"
|
|||||||
import { trpc } from "@/lib/trpc/client"
|
import { trpc } from "@/lib/trpc/client"
|
||||||
|
|
||||||
import {
|
import {
|
||||||
buildAncillaryPackages,
|
|
||||||
clearAncillarySessionData,
|
clearAncillarySessionData,
|
||||||
getAncillarySessionData,
|
getAncillarySessionData,
|
||||||
} from "@/components/HotelReservation/MyStay/utils/ancillaries"
|
} from "@/components/HotelReservation/MyStay/utils/ancillaries"
|
||||||
@@ -39,13 +38,16 @@ export default function GuaranteeAncillaryHandler({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const sessionData = getAncillarySessionData()
|
const sessionData = getAncillarySessionData()
|
||||||
if (!sessionData?.formData || !sessionData?.selectedAncillary) {
|
if (
|
||||||
|
!sessionData?.formData ||
|
||||||
|
!sessionData?.selectedAncillary ||
|
||||||
|
!sessionData?.packages
|
||||||
|
) {
|
||||||
router.replace(`${returnUrl}&errorCode=AncillaryFailed`)
|
router.replace(`${returnUrl}&errorCode=AncillaryFailed`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const { formData, selectedAncillary } = sessionData
|
const { formData, selectedAncillary, packages } = sessionData
|
||||||
const packages = buildAncillaryPackages(formData, selectedAncillary)
|
|
||||||
|
|
||||||
addAncillary.mutate(
|
addAncillary.mutate(
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,10 +9,7 @@ import {
|
|||||||
clearGlaSessionStorage,
|
clearGlaSessionStorage,
|
||||||
readGlaFromSessionStorage,
|
readGlaFromSessionStorage,
|
||||||
} from "@/components/HotelReservation/EnterDetails/Payment/PaymentCallback/helpers"
|
} from "@/components/HotelReservation/EnterDetails/Payment/PaymentCallback/helpers"
|
||||||
import {
|
import { getAncillarySessionData } from "@/components/HotelReservation/MyStay/utils/ancillaries"
|
||||||
buildAncillaryPackages,
|
|
||||||
getAncillarySessionData,
|
|
||||||
} from "@/components/HotelReservation/MyStay/utils/ancillaries"
|
|
||||||
import LoadingSpinner from "@/components/LoadingSpinner"
|
import LoadingSpinner from "@/components/LoadingSpinner"
|
||||||
import { trackEvent } from "@/utils/tracking/base"
|
import { trackEvent } from "@/utils/tracking/base"
|
||||||
import { buildAncillaries } from "@/utils/tracking/myStay"
|
import { buildAncillaries } from "@/utils/tracking/myStay"
|
||||||
@@ -35,12 +32,7 @@ export default function TrackGuarantee({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const trackAncillaryPaymentEvent = (event: string, status: string) => {
|
const trackAncillaryPaymentEvent = (event: string, status: string) => {
|
||||||
const sessionData = getAncillarySessionData()
|
const sessionData = getAncillarySessionData()
|
||||||
const { formData, selectedAncillary } = sessionData || {}
|
const { formData, selectedAncillary, packages } = sessionData || {}
|
||||||
|
|
||||||
const packages =
|
|
||||||
formData && selectedAncillary
|
|
||||||
? buildAncillaryPackages(formData, selectedAncillary)
|
|
||||||
: []
|
|
||||||
|
|
||||||
trackEvent({
|
trackEvent({
|
||||||
event,
|
event,
|
||||||
@@ -51,7 +43,7 @@ export default function TrackGuarantee({
|
|||||||
guaranteedProduct: "room + ancillary",
|
guaranteedProduct: "room + ancillary",
|
||||||
},
|
},
|
||||||
ancillaries: buildAncillaries(
|
ancillaries: buildAncillaries(
|
||||||
packages,
|
packages ?? [],
|
||||||
selectedAncillary,
|
selectedAncillary,
|
||||||
formData?.deliveryTime
|
formData?.deliveryTime
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -43,6 +43,11 @@ export const getAncillarySessionData = ():
|
|||||||
| {
|
| {
|
||||||
formData?: AncillaryFormData
|
formData?: AncillaryFormData
|
||||||
selectedAncillary?: Ancillary["ancillaryContent"][number] | null
|
selectedAncillary?: Ancillary["ancillaryContent"][number] | null
|
||||||
|
packages: {
|
||||||
|
code: string
|
||||||
|
quantity: number
|
||||||
|
comment: string | undefined
|
||||||
|
}[]
|
||||||
}
|
}
|
||||||
| undefined => {
|
| undefined => {
|
||||||
if (typeof window === "undefined") return undefined
|
if (typeof window === "undefined") return undefined
|
||||||
@@ -59,9 +64,15 @@ export const getAncillarySessionData = ():
|
|||||||
export function setAncillarySessionData({
|
export function setAncillarySessionData({
|
||||||
formData,
|
formData,
|
||||||
selectedAncillary,
|
selectedAncillary,
|
||||||
|
packages,
|
||||||
}: {
|
}: {
|
||||||
formData?: AncillaryFormData
|
formData?: AncillaryFormData
|
||||||
selectedAncillary?: Ancillary["ancillaryContent"][number] | null
|
selectedAncillary?: Ancillary["ancillaryContent"][number] | null
|
||||||
|
packages: {
|
||||||
|
code: string
|
||||||
|
quantity: number
|
||||||
|
comment: string | undefined
|
||||||
|
}[]
|
||||||
}) {
|
}) {
|
||||||
if (typeof window === "undefined") return
|
if (typeof window === "undefined") return
|
||||||
|
|
||||||
@@ -69,7 +80,7 @@ export function setAncillarySessionData({
|
|||||||
const currentData = getAncillarySessionData() || {}
|
const currentData = getAncillarySessionData() || {}
|
||||||
sessionStorage.setItem(
|
sessionStorage.setItem(
|
||||||
ancillarySessionKey,
|
ancillarySessionKey,
|
||||||
JSON.stringify({ ...currentData, formData, selectedAncillary })
|
JSON.stringify({ ...currentData, formData, selectedAncillary, packages })
|
||||||
)
|
)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error writing to session storage:", error)
|
console.error("Error writing to session storage:", error)
|
||||||
|
|||||||
Reference in New Issue
Block a user