"use client" import { useIntl } from "react-intl" import { CurrencyEnum } from "@scandic-hotels/common/constants/currency" import { formatPrice } from "@scandic-hotels/common/utils/numberFormatting" import BoldRow from "../Bold" import RegularRow from "../Regular" import BedTypeRow from "./BedType" import PackagesRow from "./Packages" import type { SharedPriceRowProps } from "./price" export interface RedemptionPriceType { redemption?: { additionalPricePerStay?: number currency?: CurrencyEnum pointsPerNight: number pointsPerStay: number } } interface RedemptionPriceProps extends SharedPriceRowProps { currency: string nights: number price: RedemptionPriceType["redemption"] } export default function RedemptionPrice({ bedType, currency, nights, packages, price, }: RedemptionPriceProps) { const intl = useIntl() if (!price) { return null } const averagePriceTitle = intl.formatMessage({ defaultMessage: "Average price per night", }) const additionalPricePerStay = price.additionalPricePerStay const averageAdditionalPricePerNight = additionalPricePerStay ? Math.ceil(additionalPricePerStay / nights) : null const additionalCurrency = price.currency ?? currency let averagePricePerNight = `${price.pointsPerNight} ${CurrencyEnum.POINTS}` if (averageAdditionalPricePerNight) { averagePricePerNight = `${averagePricePerNight} + ${averageAdditionalPricePerNight} ${additionalCurrency}` } return ( <> {nights > 1 ? ( ) : null} ) }