feat: bedtypes is selectable again

This commit is contained in:
Simon Emanuelsson
2025-04-07 13:43:52 +02:00
committed by Michael Zetterberg
parent f62723c6e5
commit afb37d0cc5
69 changed files with 2135 additions and 2349 deletions

View File

@@ -1,11 +1,10 @@
"use client"
import { dt } from "@/lib/dt"
import { trpc } from "@/lib/trpc/client"
import useLang from "@/hooks/useLang"
import RatesProvider from "@/providers/RatesProvider"
import { useHotelPackages, useRoomsAvailability } from "../utils"
import RateSummary from "./RateSummary"
import Rooms from "./Rooms"
import { RoomsContainerSkeleton } from "./RoomsContainerSkeleton"
@@ -13,57 +12,34 @@ import { RoomsContainerSkeleton } from "./RoomsContainerSkeleton"
import type { RoomsContainerProps } from "@/types/components/hotelReservation/selectRate/roomsContainer"
export function RoomsContainer({
adultArray,
booking,
childArray,
fromDate,
hotelData,
hotelType,
isUserLoggedIn,
toDate,
roomCategories,
vat,
}: RoomsContainerProps) {
const lang = useLang()
const fromDateString = dt(fromDate).format("YYYY-MM-DD")
const toDateString = dt(toDate).format("YYYY-MM-DD")
const roomsAvailability = trpc.hotel.availability.selectRate.rooms.useQuery({
booking,
lang,
})
const { data: roomsAvailability, isPending: isLoadingAvailability } =
useRoomsAvailability(
adultArray,
hotelData.hotel.id,
fromDateString,
toDateString,
lang,
childArray,
booking
)
const { data: packages, isPending: isLoadingPackages } = useHotelPackages(
adultArray,
childArray,
fromDateString,
toDateString,
hotelData.hotel.id,
lang
)
if (isLoadingAvailability || isLoadingPackages) {
if (
(roomsAvailability.isFetching || !roomsAvailability.data) &&
!roomsAvailability.isFetched
) {
return <RoomsContainerSkeleton />
}
if (packages === null) {
// TODO: Log packages error
console.error("[RoomsContainer] unable to fetch packages")
}
return (
<RatesProvider
booking={booking}
hotelType={hotelData.hotel.hotelType}
hotelType={hotelType}
isUserLoggedIn={isUserLoggedIn}
packages={packages}
roomCategories={hotelData.roomCategories}
roomsAvailability={roomsAvailability}
vat={hotelData.hotel.vat}
roomCategories={roomCategories}
roomsAvailability={roomsAvailability.data}
vat={vat}
>
<Rooms />
<RateSummary isUserLoggedIn={isUserLoggedIn} />