"use client" import { useIntl } from "react-intl" import { FacilityIcon } from "@scandic-hotels/design-system/Icons/FacilityIcon" import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon" import { Typography } from "@scandic-hotels/design-system/Typography" import { getBedIconName } from "@/components/utils" import styles from "./bookedRoomSidePeekContent.module.css" import type { RoomDetailsProps } from "@/types/components/sidePeeks/bookedRoomSidePeek" export default function RoomDetails({ roomDescription, roomFacilities, roomTypes, }: RoomDetailsProps) { const intl = useIntl() const filteredSortedFacilities = [...roomFacilities] .sort((a, b) => a.sortOrder - b.sortOrder) .map((facility) => { const Icon = return { ...facility, Icon } }) const bedOptions = roomTypes.map((roomType) => { const bedIconName = getBedIconName(roomType.mainBed.type) return { ...roomType, bedIconName } }) return (

{roomDescription}

{intl.formatMessage({ id: "roomSidePeek.roomFacilitiesTitle", defaultMessage: "This room is equipped with", })}

    {filteredSortedFacilities.map( ({ name, Icon, availableInAllRooms }) => (
  • {Icon} {availableInAllRooms ? name : intl.formatMessage( { id: "roomSidePeek.facilityAvailableInSomeRooms", defaultMessage: "{facility} (available in some rooms)", }, { facility: name, } )}
  • ) )}

{intl.formatMessage({ id: "common.bedOptions", defaultMessage: "Bed options", })}

{intl.formatMessage({ id: "booking.subjectToAvailability", defaultMessage: "Subject to availability", })}

    {bedOptions.map(({ code, mainBed, bedIconName }) => (
  • {mainBed.description}
  • ))}
) }