feat(SW-2470): render static rate titles

This commit is contained in:
Michael Zetterberg
2025-04-25 17:18:56 +02:00
parent 9aa70f0b37
commit e5afdb3986
2 changed files with 37 additions and 19 deletions

View File

@@ -59,6 +59,14 @@ export default function Campaign({
const pkgsSum = sumPackages(selectedPackages) const pkgsSum = sumPackages(selectedPackages)
const pkgsSumRequested = sumPackagesRequestedPrice(selectedPackages) const pkgsSumRequested = sumPackagesRequestedPrice(selectedPackages)
const standardPriceMsg = intl.formatMessage({
defaultMessage: "Standard price",
})
const memberPriceMsg = intl.formatMessage({
defaultMessage: "Member price",
})
return campaign.map((product) => { return campaign.map((product) => {
if (!product.public) { if (!product.public) {
return ( return (
@@ -75,17 +83,23 @@ export default function Campaign({
const rateTermDetails = product.rateDefinitionMember const rateTermDetails = product.rateDefinitionMember
? [ ? [
{ {
title: product.rateDefinition.title, title: product.bookingCode
? product.rateDefinition.title
: standardPriceMsg,
terms: product.rateDefinition.generalTerms, terms: product.rateDefinition.generalTerms,
}, },
{ {
title: product.rateDefinitionMember.title, title: product.bookingCode
? product.rateDefinitionMember.title
: standardPriceMsg,
terms: product.rateDefinitionMember.generalTerms, terms: product.rateDefinitionMember.generalTerms,
}, },
] ]
: [ : [
{ {
title: product.rateDefinition.title, title: product.bookingCode
? product.rateDefinition.title
: standardPriceMsg,
terms: product.rateDefinition.generalTerms, terms: product.rateDefinition.generalTerms,
}, },
] ]
@@ -163,9 +177,7 @@ export default function Campaign({
memberRate={ memberRate={
pricePerNightMember pricePerNightMember
? { ? {
label: intl.formatMessage({ label: memberPriceMsg,
defaultMessage: "Member price",
}),
price: pricePerNightMember.totalPrice, price: pricePerNightMember.totalPrice,
unit: `${product.member!.localPrice.currency}/${night}`, unit: `${product.member!.localPrice.currency}/${night}`,
} }
@@ -174,7 +186,7 @@ export default function Campaign({
name={`rateCode-${roomNr}-${product.public.rateCode}`} name={`rateCode-${roomNr}-${product.public.rateCode}`}
paymentTerm={rateTitles[product.rate].paymentTerm} paymentTerm={rateTitles[product.rate].paymentTerm}
rate={{ rate={{
label: product.rateDefinition?.title, label: standardPriceMsg,
price: pricePerNight.totalPrice, price: pricePerNight.totalPrice,
unit: `${product.public.localPrice.currency}/${night}`, unit: `${product.public.localPrice.currency}/${night}`,
}} }}

View File

@@ -60,6 +60,18 @@ export default function Regular({
const pkgsSum = sumPackages(selectedPackages) const pkgsSum = sumPackages(selectedPackages)
const pkgsSumRequested = sumPackagesRequestedPrice(selectedPackages) const pkgsSumRequested = sumPackagesRequestedPrice(selectedPackages)
const standardPriceMsg = intl.formatMessage({
defaultMessage: "Standard price",
})
const memberPriceMsg = intl.formatMessage({
defaultMessage: "Member price",
})
const approxMsg = intl.formatMessage({
defaultMessage: "Approx.",
})
return regular.map((product) => { return regular.map((product) => {
const { member, public: standard } = product const { member, public: standard } = product
const isMainRoomAndLoggedIn = isMainRoom && isUserLoggedIn const isMainRoomAndLoggedIn = isMainRoom && isUserLoggedIn
@@ -109,9 +121,7 @@ export default function Regular({
const rates: Rates = {} const rates: Rates = {}
if (memberPricePerNight) { if (memberPricePerNight) {
rates.memberRate = { rates.memberRate = {
label: intl.formatMessage({ label: memberPriceMsg,
defaultMessage: "Member price",
}),
price: memberPricePerNight.totalPrice, price: memberPricePerNight.totalPrice,
unit: `${member!.localPrice.currency}/${night}`, unit: `${member!.localPrice.currency}/${night}`,
} }
@@ -124,9 +134,7 @@ export default function Regular({
let approximateStandardRatePrice = null let approximateStandardRatePrice = null
if (standardPricePerNight) { if (standardPricePerNight) {
rates.rate = { rates.rate = {
label: intl.formatMessage({ label: standardPriceMsg,
defaultMessage: "Standard price",
}),
price: standardPricePerNight.totalPrice, price: standardPricePerNight.totalPrice,
unit: `${standard!.localPrice.currency}/${night}`, unit: `${standard!.localPrice.currency}/${night}`,
} }
@@ -150,9 +158,7 @@ export default function Regular({
const approximateRate = const approximateRate =
approximatePrice && requestedCurrency approximatePrice && requestedCurrency
? { ? {
label: intl.formatMessage({ label: approxMsg,
defaultMessage: "Approx.",
}),
price: approximatePrice, price: approximatePrice,
unit: requestedCurrency, unit: requestedCurrency,
} }
@@ -167,17 +173,17 @@ export default function Regular({
const rateTermDetails = product.rateDefinitionMember const rateTermDetails = product.rateDefinitionMember
? [ ? [
{ {
title: product.rateDefinition.title, title: standardPriceMsg,
terms: product.rateDefinition.generalTerms, terms: product.rateDefinition.generalTerms,
}, },
{ {
title: product.rateDefinitionMember.title, title: memberPriceMsg,
terms: product.rateDefinitionMember.generalTerms, terms: product.rateDefinitionMember.generalTerms,
}, },
] ]
: [ : [
{ {
title: product.rateDefinition.title, title: standardPriceMsg,
terms: product.rateDefinition.generalTerms, terms: product.rateDefinition.generalTerms,
}, },
] ]