From c791fef2c6a1486306869f654d49a17c130e8cf2 Mon Sep 17 00:00:00 2001 From: Bianca Widstam Date: Fri, 19 Sep 2025 06:20:48 +0000 Subject: [PATCH] Merged in fix/BOOK-121-join-membership-modify-correct-price (pull request #2829) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(BOOK-121): clear join only if membership number is valid and calculate correct member price * fix(BOOK-121): clear join only if membership number is valid and calculate correct member price Approved-by: Erik Tiekstra Approved-by: Matilda Landström --- .../EnterDetails/Details/MemberPriceModal/index.tsx | 2 +- .../booking-flow/lib/stores/enter-details/index.ts | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/booking-flow/lib/components/EnterDetails/Details/MemberPriceModal/index.tsx b/packages/booking-flow/lib/components/EnterDetails/Details/MemberPriceModal/index.tsx index da1d8881e..757a37841 100644 --- a/packages/booking-flow/lib/components/EnterDetails/Details/MemberPriceModal/index.tsx +++ b/packages/booking-flow/lib/components/EnterDetails/Details/MemberPriceModal/index.tsx @@ -39,7 +39,7 @@ export default function MemberPriceModal() { trigger("membershipNo").then((isValid) => { const { isDirty } = getFieldState("membershipNo") updatePriceForMembershipNo(membershipNo, isValid) - if (isValid && isDirty) { + if (isValid && isDirty && !!membershipNo) { setIsOpen(true) } }) diff --git a/packages/booking-flow/lib/stores/enter-details/index.ts b/packages/booking-flow/lib/stores/enter-details/index.ts index 122aebd76..9da99b664 100644 --- a/packages/booking-flow/lib/stores/enter-details/index.ts +++ b/packages/booking-flow/lib/stores/enter-details/index.ts @@ -197,13 +197,16 @@ export function createDetailsStore( produce((state: DetailsState) => { const currentRoom = state.rooms[idx].room - currentRoom.guest.join = false currentRoom.guest.membershipNo = isValid ? membershipNo : "" const isValidMembershipNo = isValid && !!membershipNo + + if (isValidMembershipNo) { + currentRoom.guest.join = false + } currentRoom.roomPrice = getRoomPrice( currentRoom.roomRate, - isValidMembershipNo + isValidMembershipNo || currentRoom.guest.join ) const nights = dt(state.booking.toDate).diff( @@ -235,7 +238,10 @@ export function createDetailsStore( currentRoom.guest.membershipNo = "" } - currentRoom.roomPrice = getRoomPrice(currentRoom.roomRate, join) + currentRoom.roomPrice = getRoomPrice( + currentRoom.roomRate, + join || !!currentRoom.guest.membershipNo + ) const nights = dt(state.booking.toDate).diff( state.booking.fromDate,