feat: bedtypes is selectable again
This commit is contained in:
committed by
Michael Zetterberg
parent
f62723c6e5
commit
afb37d0cc5
@@ -1,6 +1,5 @@
|
||||
import { useIntl } from "react-intl"
|
||||
|
||||
import { dt } from "@/lib/dt"
|
||||
import { trpc } from "@/lib/trpc/client"
|
||||
import { useManageStayStore } from "@/stores/my-stay/manageStayStore"
|
||||
import { useMyStayRoomDetailsStore } from "@/stores/my-stay/myStayRoomDetailsStore"
|
||||
@@ -44,24 +43,11 @@ export default function useModifyStay({
|
||||
toast.error(intl.formatMessage({ id: "Failed to update your stay" }))
|
||||
return
|
||||
}
|
||||
|
||||
// Update room details with server response data
|
||||
|
||||
const originalCheckIn = dt(bookedRoom.checkInDate)
|
||||
const originalCheckOut = dt(bookedRoom.checkOutDate)
|
||||
|
||||
updateBookedRoom({
|
||||
...bookedRoom,
|
||||
checkInDate: dt(updatedBooking.checkInDate)
|
||||
.hour(originalCheckIn.hour())
|
||||
.minute(originalCheckIn.minute())
|
||||
.second(originalCheckIn.second())
|
||||
.toDate(),
|
||||
checkOutDate: dt(updatedBooking.checkOutDate)
|
||||
.hour(originalCheckOut.hour())
|
||||
.minute(originalCheckOut.minute())
|
||||
.second(originalCheckOut.second())
|
||||
.toDate(),
|
||||
checkInDate: updatedBooking.checkInDate,
|
||||
checkOutDate: updatedBooking.checkOutDate,
|
||||
})
|
||||
|
||||
toast.success(intl.formatMessage({ id: "Your stay was updated" }))
|
||||
@@ -90,22 +76,25 @@ export default function useModifyStay({
|
||||
let totalNewPrice = 0
|
||||
|
||||
try {
|
||||
const data = await utils.hotel.availability.room.fetch({
|
||||
hotelId: bookedRoom.hotelId,
|
||||
roomStayStartDate: formValues.checkInDate,
|
||||
roomStayEndDate: formValues.checkOutDate,
|
||||
adults: bookedRoom.adults,
|
||||
children: bookedRoom.childrenAsString,
|
||||
bookingCode: bookedRoom.bookingCode ?? undefined,
|
||||
rateCode: bookedRoom.rateDefinition.rateCode,
|
||||
roomTypeCode: bookedRoom.roomTypeCode,
|
||||
const data = await utils.hotel.availability.myStay.fetch({
|
||||
booking: {
|
||||
fromDate: formValues.checkInDate,
|
||||
hotelId: bookedRoom.hotelId,
|
||||
room: {
|
||||
adults: bookedRoom.adults,
|
||||
bookingCode: bookedRoom.bookingCode ?? undefined,
|
||||
childrenInRoom: bookedRoom.childrenInRoom,
|
||||
rateCode: bookedRoom.rateDefinition.rateCode,
|
||||
roomTypeCode: bookedRoom.roomTypeCode,
|
||||
},
|
||||
toDate: formValues.checkOutDate,
|
||||
},
|
||||
lang,
|
||||
})
|
||||
|
||||
if (!data?.selectedRoom || data.selectedRoom.roomsLeft <= 0) {
|
||||
return { success: false, noAvailability: true }
|
||||
}
|
||||
|
||||
let roomPrice = 0
|
||||
if (isLoggedIn && "member" in data.product && data.product.member) {
|
||||
roomPrice = data.product.member.localPrice.pricePerStay
|
||||
@@ -123,7 +112,6 @@ export default function useModifyStay({
|
||||
) {
|
||||
roomPrice = data.product.redemption.localPrice.additionalPricePerStay
|
||||
}
|
||||
|
||||
totalNewPrice += roomPrice
|
||||
availabilityResults.push(data)
|
||||
} catch (error) {
|
||||
|
||||
@@ -167,9 +167,7 @@ export default function ModifyStay({ isLoggedIn }: ModifyStayProps) {
|
||||
label: isFirstStep
|
||||
? intl.formatMessage({ id: "Check availability" })
|
||||
: intl.formatMessage({ id: "Confirm" }),
|
||||
onClick: isFirstStep
|
||||
? () => void onCheckAvailability()
|
||||
: () => void handleModifyStay(),
|
||||
onClick: isFirstStep ? onCheckAvailability : handleModifyStay,
|
||||
intent: isFirstStep ? "secondary" : "primary",
|
||||
isLoading: isLoading,
|
||||
disabled: isLoading,
|
||||
|
||||
Reference in New Issue
Block a user