diff --git a/components/ContentType/HotelPage/Facilities/index.tsx b/components/ContentType/HotelPage/Facilities/index.tsx index 372613f5b..064faca41 100644 --- a/components/ContentType/HotelPage/Facilities/index.tsx +++ b/components/ContentType/HotelPage/Facilities/index.tsx @@ -7,11 +7,12 @@ import FacilitiesCardGrid from "./CardGrid" import styles from "./facilities.module.css" -import type { - Facilities, - FacilitiesProps, - FacilityCardType, - FacilityGrid, +import { + type Facilities, + type FacilitiesProps, + FacilityCardButtonText, + type FacilityCardType, + type FacilityGrid, } from "@/types/components/hotelPage/facilities" export default async function Facilities({ @@ -34,12 +35,9 @@ export default async function Facilities({ if (isFacilityCard(card)) { return { ...card, - heading: intl.formatMessage({ id: card.heading }), secondaryButton: { ...card.secondaryButton, - title: intl.formatMessage({ - id: card.secondaryButton.title, - }), + title: translateButtonText(card.secondaryButton.title), }, } } @@ -48,6 +46,20 @@ export default async function Facilities({ } ) + function translateButtonText(text: string) { + switch (text) { + case FacilityCardButtonText.MEETINGS: + return intl.formatMessage({ id: "About meetings & conferences" }) + case FacilityCardButtonText.RESTAURANT: + return intl.formatMessage({ id: "Read more & book a table" }) + case FacilityCardButtonText.WELLNESS: + return intl.formatMessage({ id: "Read more about wellness & exercise" }) + default: + console.warn(`Unsupported option given: ${text}`) + return intl.formatMessage({ id: "Read more" }) + } + } + return ( {translatedFacilityGrids.map((cardGrid: FacilityGrid) => ( diff --git a/components/ContentType/HotelPage/Map/DynamicMap/Sidebar/index.tsx b/components/ContentType/HotelPage/Map/DynamicMap/Sidebar/index.tsx index 3f608b440..89533d3ff 100644 --- a/components/ContentType/HotelPage/Map/DynamicMap/Sidebar/index.tsx +++ b/components/ContentType/HotelPage/Map/DynamicMap/Sidebar/index.tsx @@ -13,6 +13,7 @@ import styles from "./sidebar.module.css" import type { SidebarProps } from "@/types/components/hotelPage/map/sidebar" import type { Coordinates } from "@/types/components/maps/coordinates" +import { PointOfInterestGroupEnum } from "@/types/enums/pointOfInterest" export default function Sidebar({ activePoi, @@ -86,6 +87,28 @@ export default function Sidebar({ const viewAsMapMsg = intl.formatMessage({ id: "View as map" }) const viewAsListMsg = intl.formatMessage({ id: "View as list" }) + function translatePOIGroup(group: PointOfInterestGroupEnum) { + switch (group) { + case PointOfInterestGroupEnum.PUBLIC_TRANSPORT: + return intl.formatMessage({ id: "Public transport" }) + case PointOfInterestGroupEnum.ATTRACTIONS: + return intl.formatMessage({ id: "Attractions" }) + case PointOfInterestGroupEnum.BUSINESS: + return intl.formatMessage({ id: "Business" }) + case PointOfInterestGroupEnum.LOCATION: + return intl.formatMessage({ id: "Location" }) + case PointOfInterestGroupEnum.PARKING: + return intl.formatMessage({ id: "Parking" }) + case PointOfInterestGroupEnum.SHOPPING_DINING: + return intl.formatMessage({ id: "Shopping & Dining" }) + default: + const option: never = group + console.warn(`Unsupported group given: ${option}`) + + return intl.formatMessage({ id: "N/A" }) + } + } + return ( <>