feat: show both prices for multiroom room 2-4 on all users

This commit is contained in:
Simon Emanuelsson
2025-02-17 15:10:48 +01:00
parent cf3268bda3
commit b536c51889
12 changed files with 92 additions and 49 deletions

View File

@@ -109,6 +109,15 @@ export function createRatesStore({
}
})
let activeRoom = rateSummary.length
if (searchParams.has("modifyRateIndex")) {
activeRoom = Number(searchParams.get("modifyRateIndex"))
} else if (rateSummary.length === booking.rooms.length) {
// Since all rooms has selections, all sections should be
// closed on load
activeRoom = -1
}
return create<RatesState>()((set) => ({
actions: {
modifyRate(idx) {
@@ -168,17 +177,23 @@ export function createRatesStore({
roomTypeCode: selectedRate.roomTypeCode,
}
const roomNr = idx + 1
const isMemberRate =
isUserLoggedIn &&
roomNr === 1 &&
selectedRate.product.productType.member
const searchParams = new URLSearchParams(state.searchParams)
searchParams.set(
`room[${idx}].counterratecode`,
isUserLoggedIn && selectedRate.product.productType.member
isMemberRate
? selectedRate.product.productType.public.rateCode
: selectedRate.product.productType.member?.rateCode ?? ""
)
searchParams.set(
`room[${idx}].ratecode`,
isUserLoggedIn && selectedRate.product.productType.member
? selectedRate.product.productType.member.rateCode
isMemberRate
? // already checked in isMemberRate
selectedRate.product.productType.member!.rateCode
: selectedRate.product.productType.public.rateCode
)
searchParams.set(
@@ -202,7 +217,7 @@ export function createRatesStore({
}
},
},
activeRoom: rateSummary.length,
activeRoom,
allRooms,
booking,
filterOptions,