import { useState } from "react" import { useIntl } from "react-intl" import { ChevronRightSmallIcon } from "@/components/Icons" import Button from "@/components/TempDesignSystem/Button" import SidePeek from "@/components/TempDesignSystem/SidePeek" import Body from "@/components/TempDesignSystem/Text/Body" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" import ImageGallery from "../../HotelReservation/SelectRate/ImageGallery" import { getFacilityIcon } from "./facilityIcon" import styles from "./roomSidePeek.module.css" import type { RoomSidePeekProps } from "@/types/components/sidePeeks/roomSidePeek" export default function RoomSidePeek({ room, buttonSize }: RoomSidePeekProps) { const [isSidePeekOpen, setIsSidePeekOpen] = useState(false) const intl = useIntl() const roomSize = room.roomSize const occupancy = room.occupancy.total const roomDescription = room.descriptions.medium const images = room.images return (
setIsSidePeekOpen(false)} >
{roomSize.min === roomSize.max ? roomSize.min : `${roomSize.min} - ${roomSize.max}`} m².{" "} {intl.formatMessage( { id: "booking.accommodatesUpTo" }, { nrOfGuests: occupancy } )} {images && (
)} {roomDescription}
{intl.formatMessage({ id: "booking.thisRoomIsEquippedWith" })}
    {room.roomFacilities .sort((a, b) => a.sortOrder - b.sortOrder) .map((facility) => { const Icon = getFacilityIcon(facility.name) return (
  • {Icon && } {facility.name}
  • ) })}
{intl.formatMessage({ id: "booking.bedOptions" })} {intl.formatMessage({ id: "booking.basedOnAvailability" })} {/* TODO: Get data for bed options */}
) }