import { useIntl } from "react-intl" import { mapFacilityToIcon } from "@/components/ContentType/HotelPage/data" import Contact from "@/components/HotelReservation/Contact" import Accordion from "@/components/TempDesignSystem/Accordion" import SidePeek from "@/components/TempDesignSystem/SidePeek" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" import Accessibility from "./Accordions/Accessibility" import CheckinCheckOut from "./Accordions/CheckInCheckOut" import MeetingsAndConferences from "./Accordions/MeetingsAndConferences" import Parking from "./Accordions/Parking" import Restaurant from "./Accordions/Restaurant" import styles from "./hotelSidePeek.module.css" import type { HotelSidePeekProps } from "@/types/components/hotelReservation/hotelSidePeek" import { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek" export default function HotelSidePeek({ hotel, additionalHotelData, activeSidePeek, close, }: HotelSidePeekProps) { const intl = useIntl() const amenitiesList = hotel.detailedFacilities.filter( (facility) => facility.public ) const parking = hotel.parking.filter( (p) => p?.numberOfParkingSpots || p?.numberOfChargingSpaces || p?.address ) return (
{intl.formatMessage({ id: "Practical information" })} {parking?.length > 0 && } {additionalHotelData?.restaurantsOverviewPage ?.restaurantsContentDescriptionMedium && ( )} {additionalHotelData?.hotelSpecialNeeds.elevatorPitch && ( )} {hotel.hotelFacts?.checkin && ( )} {hotel.hotelContent.texts?.meetingDescription?.medium && ( )}
{amenitiesList.map((amenity) => { const Icon = mapFacilityToIcon(amenity.id) return ( {Icon && ( )} {amenity.name} ) })}
{/* TODO: handle linking to Hotel Page */} {/* {showCTA && ( )} */}
) }