feat(SW-892) Fixed bug with summary not adding pet charge on filter
This commit is contained in:
@@ -12,7 +12,8 @@ import {
|
||||
RoomPackageCodeEnum,
|
||||
type RoomPackageCodes,
|
||||
} from "@/types/components/hotelReservation/selectRate/roomFilter"
|
||||
import type { RoomSelectionProps } from "@/types/components/hotelReservation/selectRate/roomSelection"
|
||||
import type { SelectRateProps } from "@/types/components/hotelReservation/selectRate/roomSelection"
|
||||
import type { Rate } from "@/types/components/hotelReservation/selectRate/selectRate"
|
||||
import type {
|
||||
RoomConfiguration,
|
||||
RoomsAvailability,
|
||||
@@ -23,10 +24,10 @@ export default function Rooms({
|
||||
roomCategories = [],
|
||||
user,
|
||||
packages,
|
||||
}: Omit<RoomSelectionProps, "selectedPackages">) {
|
||||
}: SelectRateProps) {
|
||||
const visibleRooms: RoomConfiguration[] =
|
||||
filterDuplicateRoomTypesByLowestPrice(roomsAvailability.roomConfigurations)
|
||||
|
||||
const [rateSummary, setRateSummary] = useState<Rate | null>(null)
|
||||
const [rooms, setRooms] = useState<RoomsAvailability>({
|
||||
...roomsAvailability,
|
||||
roomConfigurations: visibleRooms,
|
||||
@@ -48,6 +49,14 @@ export default function Rooms({
|
||||
...roomsAvailability,
|
||||
roomConfigurations: visibleRooms,
|
||||
})
|
||||
|
||||
if (!!rateSummary) {
|
||||
setRateSummary({
|
||||
...rateSummary,
|
||||
features: [],
|
||||
})
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@@ -57,8 +66,26 @@ export default function Rooms({
|
||||
)
|
||||
)
|
||||
setRooms({ ...roomsAvailability, roomConfigurations: filteredRooms })
|
||||
|
||||
const petRoomPackage =
|
||||
(filteredPackages.includes(RoomPackageCodeEnum.PET_ROOM) &&
|
||||
packages.find((pkg) => pkg.code === RoomPackageCodeEnum.PET_ROOM)) ||
|
||||
undefined
|
||||
|
||||
const features = filteredRooms.find((room) =>
|
||||
room.features.some(
|
||||
(feature) => feature.code === RoomPackageCodeEnum.PET_ROOM
|
||||
)
|
||||
)?.features
|
||||
|
||||
if (!!rateSummary) {
|
||||
setRateSummary({
|
||||
...rateSummary,
|
||||
features: petRoomPackage && features ? features : [],
|
||||
})
|
||||
}
|
||||
},
|
||||
[roomsAvailability, visibleRooms]
|
||||
[roomsAvailability, visibleRooms, rateSummary, packages]
|
||||
)
|
||||
|
||||
return (
|
||||
@@ -74,6 +101,8 @@ export default function Rooms({
|
||||
user={user}
|
||||
packages={packages}
|
||||
selectedPackages={selectedPackages}
|
||||
setRateSummary={setRateSummary}
|
||||
rateSummary={rateSummary}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user