feat(SW-874): Show correct rooms

This commit is contained in:
Pontus Dreij
2024-11-12 15:52:24 +01:00
parent 169751c5a6
commit 0618b10870
2 changed files with 87 additions and 9 deletions

View File

@@ -2,10 +2,9 @@
import { useCallback, useState } from "react"
import { RoomsAvailability } from "@/server/routers/hotels/output"
import RoomFilter from "../RoomFilter"
import RoomSelection from "../RoomSelection"
import { getLowestPricedRooms } from "./utils"
import styles from "./rooms.module.css"
@@ -14,6 +13,10 @@ import {
type RoomPackageCodes,
} from "@/types/components/hotelReservation/selectRate/roomFilter"
import type { RoomSelectionProps } from "@/types/components/hotelReservation/selectRate/roomSelection"
import type {
RoomConfiguration,
RoomsAvailability,
} from "@/server/routers/hotels/output"
export default function Rooms({
roomsAvailability,
@@ -21,7 +24,12 @@ export default function Rooms({
user,
packages,
}: Omit<RoomSelectionProps, "selectedPackages">) {
const defaultRooms = roomsAvailability.roomConfigurations
console.log("roomsAvailability", roomsAvailability)
const visibleRooms: RoomConfiguration[] = getLowestPricedRooms(
roomsAvailability.roomConfigurations
)
const defaultRooms = visibleRooms
const [rooms, setRooms] = useState<RoomsAvailability>({
...roomsAvailability,
roomConfigurations: defaultRooms,
@@ -46,15 +54,14 @@ export default function Rooms({
return
}
const filteredRooms = roomsAvailability.roomConfigurations.filter(
(room) =>
filteredPackages.every((filteredPackage) =>
room.features.some((feature) => feature.code === filteredPackage)
)
const filteredRooms = visibleRooms.filter((room) =>
filteredPackages.every((filteredPackage) =>
room.features.some((feature) => feature.code === filteredPackage)
)
)
setRooms({ ...roomsAvailability, roomConfigurations: filteredRooms })
},
[roomsAvailability, defaultRooms]
[roomsAvailability, defaultRooms, visibleRooms]
)
return (