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,
|
availablePackages,
|
||||||
hotelType,
|
hotelType,
|
||||||
}: SelectRateProps) {
|
}: SelectRateProps) {
|
||||||
const visibleRooms: RoomConfiguration[] =
|
const visibleRooms: RoomConfiguration[] = useMemo(() => {
|
||||||
filterDuplicateRoomTypesByLowestPrice(roomsAvailability.roomConfigurations)
|
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>(
|
const [selectedRate, setSelectedRate] = useState<RateCode | undefined>(
|
||||||
undefined
|
undefined
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import type { RoomConfiguration } from "@/server/routers/hotels/output"
|
|||||||
|
|
||||||
export function filterDuplicateRoomTypesByLowestPrice(
|
export function filterDuplicateRoomTypesByLowestPrice(
|
||||||
roomConfigurations: RoomConfiguration[]
|
roomConfigurations: RoomConfiguration[]
|
||||||
) {
|
): RoomConfiguration[] {
|
||||||
const roomTypeCount = roomConfigurations.reduce(
|
const roomTypeCount = roomConfigurations.reduce(
|
||||||
(acc, room) => {
|
(acc, room) => {
|
||||||
acc[room.roomType] = (acc[room.roomType] || 0) + 1
|
acc[room.roomType] = (acc[room.roomType] || 0) + 1
|
||||||
|
|||||||
Reference in New Issue
Block a user