fix: apply logic for full prices filter
This commit is contained in:
committed by
Michael Zetterberg
parent
3942ab1ff4
commit
8a7c55edff
@@ -15,7 +15,10 @@ import { RoomPackageCodeEnum } from "@/types/components/hotelReservation/selectR
|
||||
import { BookingCodeFilterEnum } from "@/types/enums/bookingCodeFilter"
|
||||
import { RateTypeEnum } from "@/types/enums/rateType"
|
||||
import type { InitialState, RatesState } from "@/types/stores/rates"
|
||||
import type { RoomConfiguration } from "@/types/trpc/routers/hotel/roomAvailability"
|
||||
import type {
|
||||
PriceProduct,
|
||||
RoomConfiguration,
|
||||
} from "@/types/trpc/routers/hotel/roomAvailability"
|
||||
|
||||
export function createRatesStore({
|
||||
booking,
|
||||
@@ -169,12 +172,23 @@ export function createRatesStore({
|
||||
)
|
||||
|
||||
if (incomingRoom) {
|
||||
let campaign = currentRoom.campaign
|
||||
if (incomingRoom.campaign.length) {
|
||||
const newCampaign = [
|
||||
...campaign,
|
||||
...incomingRoom.campaign,
|
||||
].reduce((cpns, cpn) => {
|
||||
if (cpns.has(cpn.rateDefinition.rateCode)) {
|
||||
return cpns
|
||||
}
|
||||
cpns.set(cpn.rateDefinition.rateCode, cpn)
|
||||
return cpns
|
||||
}, new Map<string, PriceProduct>())
|
||||
campaign = Array.from(newCampaign.values())
|
||||
}
|
||||
return {
|
||||
...currentRoom,
|
||||
campaign: [
|
||||
...currentRoom.campaign,
|
||||
...incomingRoom.campaign,
|
||||
],
|
||||
campaign,
|
||||
products: [
|
||||
...currentRoom.products,
|
||||
...incomingRoom.products,
|
||||
|
||||
Reference in New Issue
Block a user