import { useIntl } from "react-intl" import { formatPrice } from "@scandic-hotels/common/utils/numberFormatting" import { Divider } from "@scandic-hotels/design-system/Divider" import Image from "@scandic-hotels/design-system/Image" import { Typography } from "@scandic-hotels/design-system/Typography" import { AncillaryStepEnum, useAddAncillaryStore, } from "@/stores/my-stay/add-ancillary-flow" import styles from "./description.module.css" export default function Description() { const intl = useIntl() const { selectedAncillary, isBreakfast, currentStep } = useAddAncillaryStore( (state) => ({ selectedAncillary: state.selectedAncillary, isBreakfast: state.isBreakfast, currentStep: state.currentStep, }) ) if (!selectedAncillary || currentStep === AncillaryStepEnum.confirmation) { return null } return (
{selectedAncillary.title}
{isBreakfast ? ( ) : (

{formatPrice( intl, selectedAncillary.price.total, selectedAncillary.price.currency )}

)} {selectedAncillary.points && (

{intl.formatMessage( { id: "common.orNumberOfPoints", defaultMessage: "or {points, plural, one {# point} other {# points}}", }, { points: selectedAncillary.points, } )}

)} {selectedAncillary.requiresQuantity && (

{intl.formatMessage( { id: "addAncillaryFlowModal.perUnit", defaultMessage: "/per {unit}", }, { unit: selectedAncillary.unitName } )}

)}
{selectedAncillary.description && (

)}

) } function BreakfastPriceList() { const intl = useIntl() const breakfastData = useAddAncillaryStore((state) => state.breakfastData) if (!breakfastData) { return intl.formatMessage({ id: "ancillaries.unableToDisplayBreakfastPrices", defaultMessage: "Unable to display breakfast prices.", }) } return (
{intl.formatMessage( { id: "addAncillaryFlowModal.pricePerNightPerAdult", defaultMessage: "{price}/night per adult", }, { price: formatPrice( intl, breakfastData.priceAdult, breakfastData.currency ), } )} {breakfastData.nrOfPayingChildren > 0 && ( <>
{intl.formatMessage( { id: "addAncillaryFlowModal.pricePerNightPerKids", defaultMessage: "{price}/night for kids (ages 4–12)", }, { price: formatPrice( intl, breakfastData.priceChild, breakfastData.currency ), } )} )} {breakfastData.nrOfFreeChildren > 0 && ( <>
{intl.formatMessage({ id: "addAncillaryFlowModal.freeBreakfastForKids", defaultMessage: "Free for kids (under 4)", })} )}
) }