Merged in feat/SW-1067-special-needs-accessibility-page (pull request #1253)

feat/SW-1067 special needs accessibility page

* feat(SW-1067): update types

* feat(SW-1067): add sidebar

* feat(SW-1067): add additional content component

* feat(SW-1067): add special needs list

* feat(SW-1067): update type

* feat(SW-1067): update import

* feat(SW-1067): remove component

* feat(SW-1067): re add component

* feat(SW-1067): update folder structure


Approved-by: Erik Tiekstra
This commit is contained in:
Fredrik Thorsson
2025-02-05 10:27:26 +00:00
parent 86a7650813
commit a389fba8ce
21 changed files with 145 additions and 16 deletions

View File

@@ -1,8 +1,11 @@
import { accessibilitySubPage } from "@/constants/routes/hotelSubpages"
import { ArrowRightIcon } from "@/components/Icons"
import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem"
import Link from "@/components/TempDesignSystem/Link"
import Body from "@/components/TempDesignSystem/Text/Body"
import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext"
import styles from "./accessibilityAmenity.module.css"
@@ -10,9 +13,12 @@ import type { AccessibilityAmenityProps } from "@/types/components/hotelPage/sid
import { IconName } from "@/types/components/icon"
export default async function AccessibilityAmenity({
accessibility,
elevatorPitch,
hasExtraAccessibilityPage,
}: AccessibilityAmenityProps) {
const intl = await getIntl()
const lang = getLang()
return (
<AccordionItem
title={intl.formatMessage({ id: "Accessibility" })}
@@ -21,15 +27,16 @@ export default async function AccessibilityAmenity({
trackingId="amenities:accessibility"
>
<div className={styles.wrapper}>
{accessibility?.description && (
<Body color="uiTextHighContrast">{accessibility.description}</Body>
{elevatorPitch && (
<Body color="uiTextHighContrast">{elevatorPitch}</Body>
)}
{accessibility?.link && (
{hasExtraAccessibilityPage && (
<Link
href={accessibility.link}
href={`/${accessibilitySubPage[lang]}`}
color="burgundy"
textDecoration="underline"
variant="icon"
appendToCurrentPath
>
{intl.formatMessage({ id: "About accessibility" })}
<ArrowRightIcon color="burgundy" />

View File

@@ -70,8 +70,12 @@ export default async function AmenitiesSidePeek({
/>
)}
<CheckInAmenity checkInInformation={checkInInformation} />
{accessibility && (
<AccessibilityAmenity accessibility={accessibility} />
{(accessibility.elevatorPitch ||
accessibility.hasExtraAccessibilityPage) && (
<AccessibilityAmenity
hasExtraAccessibilityPage={accessibility.hasExtraAccessibilityPage}
elevatorPitch={accessibility.elevatorPitch}
/>
)}
<FilteredAmenities filteredAmenities={filteredAmenities} />
</Accordion>

View File

@@ -88,6 +88,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
gallery,
hotelParking,
displayWebPage,
hotelSpecialNeeds,
} = hotelData.additionalData
const images = gallery?.smallerImages
@@ -217,7 +218,10 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
hasExtraParkingPage: displayWebPage.parking,
}}
checkInInformation={hotelFacts.checkin}
accessibility={hotelFacts.hotelInformation.accessibility}
accessibility={{
elevatorPitch: hotelSpecialNeeds.elevatorPitch,
hasExtraAccessibilityPage: displayWebPage.specialNeeds,
}}
restaurants={restaurants}
/>
<AboutTheHotelSidePeek