Files
web/apps/scandic-web/providers/SelectRate/RoomProvider.tsx
2025-04-12 08:32:42 +00:00

45 lines
1.1 KiB
TypeScript

"use client"
import { useRatesStore } from "@/stores/select-rate"
import { RoomContext } from "@/contexts/SelectRate/Room"
import { RoomPackageCodeEnum } from "@/types/components/hotelReservation/selectRate/roomFilter"
import type { RoomProviderProps } from "@/types/providers/select-rate/room"
export default function RoomProvider({
children,
idx,
room,
}: RoomProviderProps) {
const { activeRoom, roomAvailability, roomPackages } = useRatesStore(
(state) => ({
activeRoom: state.activeRoom,
roomPackages: state.roomsPackages[idx],
roomAvailability: state.roomsAvailability?.[idx],
})
)
const roomNr = idx + 1
const petRoomPackage = roomPackages.find(
(pkg) => pkg.code === RoomPackageCodeEnum.PET_ROOM
)
return (
<RoomContext.Provider
value={{
...room,
isActiveRoom: activeRoom === idx,
isMainRoom: roomNr === 1,
petRoomPackage,
roomAvailability,
roomPackages,
roomNr,
totalRooms: room.rooms.length,
}}
>
{children}
</RoomContext.Provider>
)
}