feat(SW-718): fix comments

This commit is contained in:
Pontus Dreij
2025-01-27 09:29:34 +01:00
parent 22fe34d5c0
commit bfdc62d263
8 changed files with 134 additions and 46 deletions

View File

@@ -75,6 +75,8 @@ export async function RoomsContainer({
const [roomsAvailability, roomsAvailabilityError] =
await roomsAvailabilityPromise
console.log("roomsAvailability_", roomsAvailability)
if (packagesError) {
// TODO: Log packages error
console.error("[RoomsContainer] unable to fetch packages")

View File

@@ -7,7 +7,6 @@ import { useIntl } from "react-intl"
import { useRateSelectionStore } from "@/stores/rate-selection"
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
import { useRateSummary } from "@/hooks/selectRate/useRateSummary"
import { useRoomFiltering } from "@/hooks/selectRate/useRoomFiltering"
import { trackLowestRoomPrice } from "@/utils/tracking"
import { convertObjToSearchParams, convertSearchParamsToObj } from "@/utils/url"
@@ -24,10 +23,7 @@ import {
RoomPackageCodeEnum,
} from "@/types/components/hotelReservation/selectRate/roomFilter"
import type { SelectRateProps } from "@/types/components/hotelReservation/selectRate/roomSelection"
import type {
Rate,
SelectRateSearchParams,
} from "@/types/components/hotelReservation/selectRate/selectRate"
import type { SelectRateSearchParams } from "@/types/components/hotelReservation/selectRate/selectRate"
import type { RoomConfiguration } from "@/server/routers/hotels/output"
export default function Rooms({
@@ -45,8 +41,13 @@ export default function Rooms({
const arrivalDate = searchParams.get("fromDate")
const departureDate = searchParams.get("toDate")
const { modifyRate, selectedRates, setSelectedRates } =
useRateSelectionStore()
const {
modifyRate,
selectedRates,
rateSummary,
calculateRateSummary,
initializeRates,
} = useRateSelectionStore()
const bookingWidgetSearchData = useMemo(
() =>
@@ -61,10 +62,8 @@ export default function Rooms({
const intl = useIntl()
useEffect(() => {
setSelectedRates(
new Array(bookingWidgetSearchData.rooms.length).fill(undefined)
)
}, [setSelectedRates, bookingWidgetSearchData.rooms.length])
initializeRates(bookingWidgetSearchData.rooms.length)
}, [initializeRates, bookingWidgetSearchData.rooms.length])
const visibleRooms: RoomConfiguration[] = useMemo(() => {
const deduped = filterDuplicateRoomTypesByLowestPrice(
@@ -117,14 +116,20 @@ export default function Rooms({
const { selectedPackagesByRoom, getRooms, handleFilter, getFilteredRooms } =
useRoomFiltering({ roomsAvailability })
const rateSummary = useRateSummary({
searchedRoomsAndGuests: bookingWidgetSearchData.rooms,
selectedRates,
useEffect(() => {
calculateRateSummary({
getFilteredRooms,
availablePackages,
roomCategories,
selectedPackagesByRoom,
})
}, [
getFilteredRooms,
selectedPackagesByRoom,
availablePackages,
roomCategories,
})
selectedPackagesByRoom,
calculateRateSummary,
])
useEffect(() => {
if (!rateSummary?.some((rate) => rate === null)) return
@@ -180,13 +185,6 @@ export default function Rooms({
router.push(`select-bed?${queryParams}`)
}
const handleModify = useCallback(
(index: number) => () => {
modifyRate(index)
},
[modifyRate]
)
const handleFilterForRoom = useCallback(
(index: number) =>
(filter: Record<RoomPackageCodeEnum, boolean | undefined>) => {
@@ -251,9 +249,7 @@ export default function Rooms({
<SelectedRoomPanel
roomIndex={index}
room={room}
selectedRate={rateSummary[index]}
roomCategories={roomCategories}
handleModify={handleModify(index)}
/>
</div>
<div className={styles.roomSelectionPanel}>
@@ -291,9 +287,6 @@ export default function Rooms({
onSubmit={handleSubmit}
>
<RateSummary
rateSummary={rateSummary.filter(
(summary): summary is Rate => summary !== null
)}
isUserLoggedIn={isUserLoggedIn}
packages={availablePackages}
roomsAvailability={roomsAvailability}