feat: keep inventory of bedselections
This commit is contained in:
committed by
Michael Zetterberg
parent
39b89c5d51
commit
5ca30d02a0
@@ -39,7 +39,7 @@ export default function EnterDetailsProvider({
|
||||
.filter((r) => r.bedTypes?.length) // TODO: how to handle room without bedtypes?
|
||||
.map((room) => ({
|
||||
isAvailable: room.isAvailable,
|
||||
breakfastIncluded: !!room.breakfastIncluded,
|
||||
breakfastIncluded: room.breakfastIncluded,
|
||||
cancellationText: room.cancellationText,
|
||||
rateDetails: room.rateDetails,
|
||||
memberRateDetails: room.memberRateDetails,
|
||||
@@ -48,7 +48,7 @@ export default function EnterDetailsProvider({
|
||||
roomRate: room.roomRate,
|
||||
roomType: room.roomType,
|
||||
roomTypeCode: room.roomTypeCode,
|
||||
bedTypes: room.bedTypes!,
|
||||
bedTypes: room.bedTypes,
|
||||
bedType:
|
||||
room.bedTypes?.length === 1
|
||||
? {
|
||||
@@ -186,12 +186,25 @@ export default function EnterDetailsProvider({
|
||||
nights
|
||||
)
|
||||
|
||||
// Need to create a deep new copy since store is readonly
|
||||
const availableBeds = deepmerge({}, store.availableBeds)
|
||||
for (const filteredOutMissingRoom of filteredOutMissingRooms) {
|
||||
if (filteredOutMissingRoom.room.bedType) {
|
||||
const roomTypeCode = filteredOutMissingRoom.room.bedType.roomTypeCode
|
||||
availableBeds[roomTypeCode] = Math.max(
|
||||
availableBeds[roomTypeCode] - 1,
|
||||
0
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
writeToSessionStorage({
|
||||
booking,
|
||||
rooms: filteredOutMissingRooms,
|
||||
})
|
||||
|
||||
storeRef.current?.setState({
|
||||
availableBeds,
|
||||
canProceedToPayment,
|
||||
rooms: filteredOutMissingRooms,
|
||||
totalPrice,
|
||||
|
||||
Reference in New Issue
Block a user