Merged in fix/sw-1248-sort-unavailable-rooms (pull request #1126)
fix(SW-1248): show unavailable rooms last * fix(SW-1248): show unavailable rooms last Approved-by: Hrishikesh Vaipurkar
This commit is contained in:
@@ -27,8 +27,27 @@ export default function Rooms({
|
||||
availablePackages,
|
||||
hotelType,
|
||||
}: SelectRateProps) {
|
||||
const visibleRooms: RoomConfiguration[] =
|
||||
filterDuplicateRoomTypesByLowestPrice(roomsAvailability.roomConfigurations)
|
||||
const visibleRooms: RoomConfiguration[] = useMemo(() => {
|
||||
const deduped = filterDuplicateRoomTypesByLowestPrice(
|
||||
roomsAvailability.roomConfigurations
|
||||
)
|
||||
|
||||
const separated = deduped.reduce<{
|
||||
available: RoomConfiguration[]
|
||||
notAvailable: RoomConfiguration[]
|
||||
}>(
|
||||
(acc, curr) => {
|
||||
if (curr.status === "NotAvailable") {
|
||||
return { ...acc, notAvailable: [...acc.notAvailable, curr] }
|
||||
}
|
||||
return { ...acc, available: [...acc.available, curr] }
|
||||
},
|
||||
{ available: [], notAvailable: [] }
|
||||
)
|
||||
|
||||
return [...separated.available, ...separated.notAvailable]
|
||||
}, [roomsAvailability.roomConfigurations])
|
||||
|
||||
const [selectedRate, setSelectedRate] = useState<RateCode | undefined>(
|
||||
undefined
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@ import type { RoomConfiguration } from "@/server/routers/hotels/output"
|
||||
|
||||
export function filterDuplicateRoomTypesByLowestPrice(
|
||||
roomConfigurations: RoomConfiguration[]
|
||||
) {
|
||||
): RoomConfiguration[] {
|
||||
const roomTypeCount = roomConfigurations.reduce(
|
||||
(acc, room) => {
|
||||
acc[room.roomType] = (acc[room.roomType] || 0) + 1
|
||||
|
||||
Reference in New Issue
Block a user