import { cx } from "class-variance-authority" import { useIntl } from "react-intl" import { Divider } from "../../Divider" import { RateTypeEnum } from "@scandic-hotels/common/constants/rateType" import { Typography } from "../../Typography" import styles from "./hotelPriceCard.module.css" type Price = { pricePerStay: number pricePerNight: number currency: string } export type PriceCardProps = { productTypePrices: { rateType: RateTypeEnum localPrice: Price requestedPrice?: Price } isMemberPrice?: boolean className?: string isCampaign?: boolean isPartnerBrand: boolean } export function HotelPriceCard({ productTypePrices, isMemberPrice = false, className, isCampaign = false, isPartnerBrand, }: PriceCardProps) { const intl = useIntl() const isRegularOrPublicPromotionRate = productTypePrices.rateType === RateTypeEnum.Regular || productTypePrices.rateType === RateTypeEnum.PublicPromotion return (
{isPartnerBrand ? intl.formatMessage({ id: "booking.scandicFriendsMemberPrice", defaultMessage: "Scandic Friends member price", description: { context: "Member price label in white label partner sites", }, }) : intl.formatMessage({ id: "booking.memberPrice", defaultMessage: "Member price", })}
{intl.formatMessage({ id: "booking.standardPrice", defaultMessage: "Standard price", })}
{intl.formatMessage({ id: "common.from", defaultMessage: "From", })}
{productTypePrices.localPrice.pricePerNight}
{productTypePrices.localPrice.currency} {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} / {intl.formatMessage({ id: "common.night", defaultMessage: "night", })}
{intl.formatMessage({ id: "booking.approx", defaultMessage: "Approx.", })}
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {`${productTypePrices.requestedPrice.pricePerNight} `} {productTypePrices.requestedPrice.currency}
{intl.formatMessage({ id: "common.total", defaultMessage: "Total", })}
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {`${productTypePrices.localPrice.pricePerStay} `} {productTypePrices.localPrice.currency}