feat: SW-1588 Update as per review comments
This commit is contained in:
@@ -240,25 +240,17 @@ export default function RoomCard({ roomConfiguration }: RoomCardProps) {
|
|||||||
*
|
*
|
||||||
* @param product - Either public or member product type
|
* @param product - Either public or member product type
|
||||||
* @param rateDefinitions - List of rate definitions
|
* @param rateDefinitions - List of rate definitions
|
||||||
* @returns { terms: string[], rateTitle: string | undefined } | undefined
|
* @returns RateDefinition | undefined
|
||||||
*/
|
*/
|
||||||
function getPartialRateDefinition(
|
function getRateDefinition(
|
||||||
product: Product,
|
product: Product,
|
||||||
rateDefinitions: RateDefinition[]
|
rateDefinitions: RateDefinition[]
|
||||||
) {
|
) {
|
||||||
return rateDefinitions
|
return rateDefinitions.find((rateDefinition) =>
|
||||||
.filter((rateDefinition) =>
|
isUserLoggedIn && product.productType.member
|
||||||
isUserLoggedIn && product.productType.member
|
? rateDefinition.rateCode === product.productType.member.rateCode
|
||||||
? rateDefinition.rateCode === product.productType.member.rateCode
|
: rateDefinition.rateCode === product.productType.public.rateCode
|
||||||
: rateDefinition.rateCode === product.productType.public.rateCode
|
)
|
||||||
)
|
|
||||||
.flatMap((rateDefinition) => ({
|
|
||||||
terms: rateDefinition.generalTerms,
|
|
||||||
rateTitle:
|
|
||||||
rateDefinition.rateType !== RateTypeEnum.Regular
|
|
||||||
? rateDefinition.title
|
|
||||||
: undefined,
|
|
||||||
}))[0]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const isBookingCodeRate =
|
const isBookingCodeRate =
|
||||||
@@ -360,10 +352,7 @@ export default function RoomCard({ roomConfiguration }: RoomCardProps) {
|
|||||||
</span>
|
</span>
|
||||||
{roomConfiguration.products.map((product) => {
|
{roomConfiguration.products.map((product) => {
|
||||||
const rate = getRateInfo(product)
|
const rate = getRateInfo(product)
|
||||||
const rateDefinition = getPartialRateDefinition(
|
const rateDefinition = getRateDefinition(product, rateDefinitions)
|
||||||
product,
|
|
||||||
rateDefinitions
|
|
||||||
)
|
|
||||||
const isSelectedRateCode =
|
const isSelectedRateCode =
|
||||||
selectedRate?.product.productType.public.rateCode ===
|
selectedRate?.product.productType.public.rateCode ===
|
||||||
product.productType.public.rateCode ||
|
product.productType.public.rateCode ||
|
||||||
@@ -386,8 +375,8 @@ export default function RoomCard({ roomConfiguration }: RoomCardProps) {
|
|||||||
roomType={roomConfiguration.roomType}
|
roomType={roomConfiguration.roomType}
|
||||||
roomTypeCode={roomConfiguration.roomTypeCode}
|
roomTypeCode={roomConfiguration.roomTypeCode}
|
||||||
title={rate.title}
|
title={rate.title}
|
||||||
priceInformation={rateDefinition?.terms}
|
priceInformation={rateDefinition?.generalTerms}
|
||||||
rateTitle={rateDefinition?.rateTitle}
|
rateTitle={rateDefinition?.title}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
|
|||||||
Reference in New Issue
Block a user