From 7541c74038f1836e23e60bf8d4554b29d271dc64 Mon Sep 17 00:00:00 2001 From: Hrishikesh Vaipurkar Date: Fri, 21 Feb 2025 13:35:50 +0100 Subject: [PATCH] feat: SW-1588 Update as per review comments --- .../RoomSelectionPanel/RoomCard/index.tsx | 31 ++++++------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/apps/scandic-web/components/HotelReservation/SelectRate/RoomsContainer/Rooms/RoomSelectionPanel/RoomCard/index.tsx b/apps/scandic-web/components/HotelReservation/SelectRate/RoomsContainer/Rooms/RoomSelectionPanel/RoomCard/index.tsx index ccffddc1d..3d6feedbe 100644 --- a/apps/scandic-web/components/HotelReservation/SelectRate/RoomsContainer/Rooms/RoomSelectionPanel/RoomCard/index.tsx +++ b/apps/scandic-web/components/HotelReservation/SelectRate/RoomsContainer/Rooms/RoomSelectionPanel/RoomCard/index.tsx @@ -240,25 +240,17 @@ export default function RoomCard({ roomConfiguration }: RoomCardProps) { * * @param product - Either public or member product type * @param rateDefinitions - List of rate definitions - * @returns { terms: string[], rateTitle: string | undefined } | undefined + * @returns RateDefinition | undefined */ - function getPartialRateDefinition( + function getRateDefinition( product: Product, rateDefinitions: RateDefinition[] ) { - return rateDefinitions - .filter((rateDefinition) => - isUserLoggedIn && product.productType.member - ? rateDefinition.rateCode === product.productType.member.rateCode - : rateDefinition.rateCode === product.productType.public.rateCode - ) - .flatMap((rateDefinition) => ({ - terms: rateDefinition.generalTerms, - rateTitle: - rateDefinition.rateType !== RateTypeEnum.Regular - ? rateDefinition.title - : undefined, - }))[0] + return rateDefinitions.find((rateDefinition) => + isUserLoggedIn && product.productType.member + ? rateDefinition.rateCode === product.productType.member.rateCode + : rateDefinition.rateCode === product.productType.public.rateCode + ) } const isBookingCodeRate = @@ -360,10 +352,7 @@ export default function RoomCard({ roomConfiguration }: RoomCardProps) { {roomConfiguration.products.map((product) => { const rate = getRateInfo(product) - const rateDefinition = getPartialRateDefinition( - product, - rateDefinitions - ) + const rateDefinition = getRateDefinition(product, rateDefinitions) const isSelectedRateCode = selectedRate?.product.productType.public.rateCode === product.productType.public.rateCode || @@ -386,8 +375,8 @@ export default function RoomCard({ roomConfiguration }: RoomCardProps) { roomType={roomConfiguration.roomType} roomTypeCode={roomConfiguration.roomTypeCode} title={rate.title} - priceInformation={rateDefinition?.terms} - rateTitle={rateDefinition?.rateTitle} + priceInformation={rateDefinition?.generalTerms} + rateTitle={rateDefinition?.title} /> ) })}