import { useIntl } from "react-intl" import Divider from "@/components/TempDesignSystem/Divider" import Body from "@/components/TempDesignSystem/Text/Body" import Caption from "@/components/TempDesignSystem/Text/Caption" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" import styles from "./hotelPriceCard.module.css" import type { PriceCardProps } from "@/types/components/hotelReservation/selectHotel/priceCardProps" import { RateTypeEnum } from "@/types/enums/rateType" export default function HotelPriceCard({ productTypePrices, isMemberPrice = false, }: PriceCardProps) { const intl = useIntl() const isRegularOrPublicPromotionRate = productTypePrices.rateType === RateTypeEnum.Regular || productTypePrices.rateType === RateTypeEnum.PublicPromotion return (
{isRegularOrPublicPromotionRate && (isMemberPrice ? (
{intl.formatMessage({ id: "Member price" })}
) : (
{intl.formatMessage({ id: "Standard price" })}
))}
{intl.formatMessage({ id: "From" })}
{productTypePrices.localPrice.pricePerNight} {productTypePrices.localPrice.currency} /{intl.formatMessage({ id: "night" })}
{productTypePrices?.requestedPrice && (
{intl.formatMessage({ id: "Approx." })}
{productTypePrices.requestedPrice.pricePerNight}{" "} {productTypePrices.requestedPrice.currency}
)} {productTypePrices.localPrice.pricePerStay !== productTypePrices.localPrice.pricePerNight && // Handle undefined scenarios productTypePrices.localPrice.pricePerNight && ( <>
{intl.formatMessage({ id: "Total" })}
{productTypePrices.localPrice.pricePerStay}{" "} {productTypePrices.localPrice.currency}
)}
) }