'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}
))}
) }