Merged in feat/SW-1055-Accordion-for-summary-bar-in-mobile-on-Select-Rate (pull request #1283)

Feat/SW-1055 Accordion for summary bar in mobile on Select Rate

* feat(SW-1055) created mobile summary for select rate

* feat(SW-1055) Added summary for mobile (accordion)


Approved-by: Tobias Johansson
This commit is contained in:
Pontus Dreij
2025-02-10 15:11:31 +00:00
parent 5a0edc9187
commit c863294919
20 changed files with 405 additions and 89 deletions

View File

@@ -3,18 +3,14 @@ import {
RoomPackageCodeEnum,
} from "@/types/components/hotelReservation/selectRate/roomFilter"
import type { Rate } from "@/types/components/hotelReservation/selectRate/selectRate"
interface TotalPrice {
localPrice: { currency: string; price: number }
requestedPrice?: { currency: string; price: number }
}
import type { Price } from "@/types/stores/enter-details"
export const calculateTotalPrice = (
selectedRateSummary: Rate[],
isUserLoggedIn: boolean,
petRoomPackage: RoomPackage | undefined
) => {
return selectedRateSummary.reduce<TotalPrice>(
return selectedRateSummary.reduce<Price>(
(total, room) => {
const priceToUse =
isUserLoggedIn && room.member ? room.member : room.public
@@ -29,18 +25,18 @@ export const calculateTotalPrice = (
: 0
return {
localPrice: {
local: {
currency: priceToUse.localPrice.currency,
price:
total.localPrice.price +
total.local.price +
priceToUse.localPrice.pricePerStay +
petRoomPrice,
},
requestedPrice: priceToUse.requestedPrice
requested: priceToUse.requestedPrice
? {
currency: priceToUse.requestedPrice.currency,
price:
(total.requestedPrice?.price ?? 0) +
(total.requested?.price ?? 0) +
priceToUse.requestedPrice.pricePerStay +
petRoomPrice,
}
@@ -48,11 +44,11 @@ export const calculateTotalPrice = (
}
},
{
localPrice: {
local: {
currency: selectedRateSummary[0].public.localPrice.currency,
price: 0,
},
requestedPrice: undefined,
requested: undefined,
}
)
}