"use client" import { useIntl } from "react-intl" import { Typography } from "../../Typography" import { formatPrice } from "@scandic-hotels/common/utils/numberFormatting" import { type Parking, ParkingPricePeriods } from "../parkingInformationTypes" import { getPeriod } from "./utils" import styles from "./parkingPrices.module.css" interface ParkingPricesProps extends Pick, Pick, "currency"> { pricing: NonNullable["ordinary"] } export default function ParkingPrices({ currency = "", freeParking, pricing, }: ParkingPricesProps) { const intl = useIntl() if (freeParking) { return (

{intl.formatMessage({ id: "parkingInformation.freeParking", defaultMessage: "Free parking", })}

) } const filteredPricing = pricing.filter((price) => price.amount > 0) if (filteredPricing.length === 0) { return (
{getPeriod(intl, "Hour")}
{intl.formatMessage({ id: "parkingInformation.atACost", defaultMessage: "At a cost", })}
) } return (
{filteredPricing.map(({ period, amount, startTime, endTime }) => (
{getPeriod(intl, period)}
{formatPrice(intl, amount, currency)}
{startTime && endTime && period !== ParkingPricePeriods.allDay ? (
{intl.formatMessage({ id: "common.from", defaultMessage: "From", })}
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
{`${startTime}-${endTime}`}
) : null}
))}
) }