Merged in feat/SW-1879-aa-tracking-bed-breakfastpayment (pull request #1789)

feat: SW-1879 Tracking enter-details sections

* feat: SW-1879 Tracking enter-details sections

* feat: SW-1879 removed onSelect to trigger in onSubmit

* feat: SW-1879 Removed onSelect and triggered inside onSubmit

* feat: SW-1879 Optimized to remove unnecessary useEffect triggers in every re-render

* feat: SW-1879 Updated breakfast package typings

* feat: SW-1879 Reverted RadioCardProps

* feat: SW-1879 Optimised code


Approved-by: Tobias Johansson
Approved-by: Christian Andolf
This commit is contained in:
Hrishikesh Vaipurkar
2025-04-16 14:06:15 +00:00
parent 4076f8d6d8
commit 8c0597727b
13 changed files with 127 additions and 27 deletions

View File

@@ -13,7 +13,9 @@ import Input from "@/components/TempDesignSystem/Form/Input"
import Phone from "@/components/TempDesignSystem/Form/Phone"
import Footnote from "@/components/TempDesignSystem/Text/Footnote"
import { useRoomContext } from "@/contexts/Details/Room"
import { trackPaymentSectionOpen } from "@/utils/tracking/booking"
import { hasPrepaidRate } from "../../Payment/helpers"
import JoinScandicFriendsCard from "./JoinScandicFriendsCard"
import { multiroomDetailsSchema } from "./schema"
@@ -25,10 +27,13 @@ const formID = "enter-details"
export default function Details() {
const intl = useIntl()
const { canProceedToPayment, lastRoom } = useEnterDetailsStore((state) => ({
canProceedToPayment: state.canProceedToPayment,
lastRoom: state.lastRoom,
}))
const { canProceedToPayment, lastRoom, rooms } = useEnterDetailsStore(
(state) => ({
canProceedToPayment: state.canProceedToPayment,
lastRoom: state.lastRoom,
rooms: state.rooms,
})
)
const {
actions: { updateDetails },
@@ -61,6 +66,8 @@ export default function Details() {
const guestIsGoingToJoin = methods.watch("join")
const guestIsMember = methods.watch("membershipNo")
const hasPrepaidRates = rooms.some(hasPrepaidRate)
return (
<FormProvider {...methods}>
<form
@@ -144,6 +151,11 @@ export default function Details() {
typography="Body/Paragraph/mdBold"
size="Medium"
type="submit"
onPress={
isPaymentNext && canProceedToPayment && hasPrepaidRates
? trackPaymentSectionOpen
: undefined
}
>
{isPaymentNext
? intl.formatMessage({