"use client" import { useEffect, useState } from "react" import { useIntl } from "react-intl" import { Typography } from "@scandic-hotels/design-system/Typography" import { useRoomContext } from "../../../contexts/EnterDetails/RoomContext" import { EnterDetailsStepEnum } from "../../../stores/enter-details/enterDetailsStep" import styles from "./section.module.css" type SectionProps = { header: string label: string additionalInfo?: string | null step: EnterDetailsStepEnum disabled?: boolean } export default function Section({ children, header, label, additionalInfo, step, disabled, }: React.PropsWithChildren) { const intl = useIntl() const { room: { bedType, breakfast }, } = useRoomContext() const [title, setTitle] = useState(label) const noBreakfastTitle = intl.formatMessage({ defaultMessage: "No breakfast", }) const breakfastTitle = intl.formatMessage({ defaultMessage: "Breakfast buffet", }) useEffect(() => { if (step === EnterDetailsStepEnum.selectBed && bedType) { setTitle(bedType.description) } // If breakfast step, check if an option has been selected if (step === EnterDetailsStepEnum.breakfast && breakfast !== undefined) { if (breakfast === false) { setTitle(noBreakfastTitle) } else { setTitle(breakfastTitle) } } }, [bedType, breakfast, setTitle, step, breakfastTitle, noBreakfastTitle]) return (

{header}

{title}

{additionalInfo ? (

{additionalInfo}

) : null}
{children}
) }