diff --git a/components/ContentType/HotelPage/SidePeeks/Amenities/Amenity/index.tsx b/components/ContentType/HotelPage/SidePeeks/Amenities/Amenity/index.tsx new file mode 100644 index 000000000..01b83520d --- /dev/null +++ b/components/ContentType/HotelPage/SidePeeks/Amenities/Amenity/index.tsx @@ -0,0 +1,5 @@ +import type { AmenityProps } from "@/types/components/hotelPage/sidepeek/amenity" + +export default function Amenity({ title }: AmenityProps) { + return
{title}
+} diff --git a/components/ContentType/HotelPage/SidePeeks/Amenities/index.tsx b/components/ContentType/HotelPage/SidePeeks/Amenities/index.tsx new file mode 100644 index 000000000..3c34d7c79 --- /dev/null +++ b/components/ContentType/HotelPage/SidePeeks/Amenities/index.tsx @@ -0,0 +1,43 @@ +import { amenities } from "@/constants/routes/hotelPageParams" + +import Accordion from "@/components/TempDesignSystem/Accordion" +import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem" +import SidePeek from "@/components/TempDesignSystem/SidePeek" +import { getIntl } from "@/i18n" +import { getLang } from "@/i18n/serverContext" + +import { mapFacilityToIconName } from "../../data" +import Amenity from "./Amenity" + +import type { AmenitiesSidepeekProps } from "@/types/components/hotelPage/sidepeek/amenities" +import { IconName } from "@/types/components/icon" + +export default async function AmenitiesSidepeek({ + amenitiesList, +}: AmenitiesSidepeekProps) { + const lang = getLang() + const intl = await getIntl() + return ( + + <> + + {amenitiesList.map((amenity) => { + const iconName = mapFacilityToIconName(amenity.id) + return ( + + + + ) + })} + + + + ) +} diff --git a/components/ContentType/HotelPage/data.ts b/components/ContentType/HotelPage/data.ts index dd2a74f90..dd50ea6b5 100644 --- a/components/ContentType/HotelPage/data.ts +++ b/components/ContentType/HotelPage/data.ts @@ -287,3 +287,7 @@ export function mapFacilityToIcon(id: FacilityEnum): FC | null { const iconName = facilityToIconMap[id] return getIconByIconName(iconName) || null } + +export function mapFacilityToIconName(id: FacilityEnum): IconName { + return facilityToIconMap[id] +} diff --git a/types/components/hotelPage/sidepeek/amenities.ts b/types/components/hotelPage/sidepeek/amenities.ts new file mode 100644 index 000000000..c19cf4e83 --- /dev/null +++ b/types/components/hotelPage/sidepeek/amenities.ts @@ -0,0 +1,5 @@ +import type { Hotel } from "@/types/hotel" + +export type AmenitiesSidepeekProps = { + amenitiesList: Hotel["detailedFacilities"] +} diff --git a/types/components/hotelPage/sidepeek/amenity.ts b/types/components/hotelPage/sidepeek/amenity.ts new file mode 100644 index 000000000..2f4801d75 --- /dev/null +++ b/types/components/hotelPage/sidepeek/amenity.ts @@ -0,0 +1,3 @@ +export type AmenityProps = { + title: string +}