diff --git a/components/HotelReservation/SelectRate/Rooms/index.tsx b/components/HotelReservation/SelectRate/Rooms/index.tsx index d0ca8d2d2..1b3e3f24f 100644 --- a/components/HotelReservation/SelectRate/Rooms/index.tsx +++ b/components/HotelReservation/SelectRate/Rooms/index.tsx @@ -242,14 +242,7 @@ export default function Rooms({ )} )} -
+
- selectedRates: (RateCode | undefined)[] - getFilteredRooms: (roomIndex: number) => RoomConfiguration[] - selectedPackagesByRoom: Record - availablePackages: RoomPackageData - roomCategories: Array<{ name: string; roomTypes: Array<{ code: string }> }> -} - -export function useRateSummary({ - searchedRoomsAndGuests, - selectedRates, - getFilteredRooms, - selectedPackagesByRoom, - availablePackages, - roomCategories, -}: UseRateSummary) { - return useMemo(() => { - const summaries: (Rate | null)[] = [] - - searchedRoomsAndGuests.forEach((_, roomIndex) => { - const selectedRate = selectedRates[roomIndex] - const filteredRooms = getFilteredRooms(roomIndex) - const selectedPackages = selectedPackagesByRoom[roomIndex] || [] - - const room = filteredRooms.find( - (room) => room.roomTypeCode === selectedRate?.roomTypeCode - ) - - if (!room) { - summaries[roomIndex] = null - return - } - - const product = room.products.find( - (product) => - product.productType.public.rateCode === selectedRate?.publicRateCode - ) - - if (!product) { - summaries[roomIndex] = null - return - } - - const petRoomPackage = - (selectedPackages.includes(RoomPackageCodeEnum.PET_ROOM) && - availablePackages.find( - (pkg) => pkg.code === RoomPackageCodeEnum.PET_ROOM - )) || - undefined - - const features = filteredRooms.find((room) => - room.features.some( - (feature) => feature.code === RoomPackageCodeEnum.PET_ROOM - ) - )?.features - - const roomType = roomCategories.find((roomCategory) => - roomCategory.roomTypes.some( - (roomType) => roomType.code === room.roomTypeCode - ) - ) - - summaries[roomIndex] = { - features: petRoomPackage && features ? features : [], - priceName: selectedRate?.name, - priceTerm: selectedRate?.paymentTerm, - public: product.productType.public, - member: product.productType.member, - roomType: roomType?.name || room.roomType, - roomTypeCode: room.roomTypeCode, - } - }) - - return summaries - }, [ - searchedRoomsAndGuests, - selectedRates, - getFilteredRooms, - selectedPackagesByRoom, - availablePackages, - roomCategories, - ]) -}