fix: unite all price details modals to one and align on ui

This commit is contained in:
Simon Emanuelsson
2025-04-15 15:04:11 +02:00
committed by Michael Zetterberg
parent 8152aea649
commit 1f94c581ae
54 changed files with 1926 additions and 746 deletions

View File

@@ -1,10 +1,10 @@
"use client"
import { dt } from "@/lib/dt"
import { useMyStayRoomDetailsStore } from "@/stores/my-stay/myStayRoomDetailsStore"
import { useMyStayTotalPriceStore } from "@/stores/my-stay/myStayTotalPrice"
import PriceDetailsModal from "../../PriceDetailsModal"
import PriceDetailsTable from "./PriceDetailsTable"
import PriceDetailsModal from "@/components/HotelReservation/PriceDetailsModal"
import { calculateTotalPrice, mapToPrice } from "./mapToPrice"
import styles from "./priceDetails.module.css"
@@ -13,27 +13,32 @@ export default function PriceDetails() {
const linkedReservationRooms = useMyStayRoomDetailsStore(
(state) => state.linkedReservationRooms
)
const currencyCode = useMyStayTotalPriceStore((state) => state.currencyCode)
const totalPrice = useMyStayTotalPriceStore((state) => state.totalPrice)
const rooms = [bookedRoom, ...linkedReservationRooms]
.filter((room) => !room.isCancelled)
.map((room) => ({
...room,
breakfastIncluded: room.rateDefinition.breakfastIncluded,
price: mapToPrice(room),
roomType: room.roomName,
}))
const bookingCode =
rooms.find((room) => room.bookingCode)?.bookingCode ?? undefined
const totalPrice = calculateTotalPrice(rooms, bookedRoom.currencyCode)
const fromDate = dt(bookedRoom.checkInDate).format("YYYY-MM-DD")
const toDate = dt(bookedRoom.checkOutDate).format("YYYY-MM-DD")
return (
<div className={styles.priceDetailsModal}>
<PriceDetailsModal>
<PriceDetailsTable
fromDate={dt(bookedRoom.checkInDate).format("YYYY-MM-DD")}
toDate={dt(bookedRoom.checkOutDate).format("YYYY-MM-DD")}
linkedReservationRooms={linkedReservationRooms}
bookedRoom={bookedRoom}
totalPrice={{
requested: undefined,
local: {
currency: currencyCode,
price: totalPrice ?? 0,
},
}}
vat={bookedRoom.vatPercentage}
/>
</PriceDetailsModal>
<PriceDetailsModal
bookingCode={bookingCode}
fromDate={fromDate}
rooms={rooms}
toDate={toDate}
totalPrice={totalPrice}
vat={bookedRoom.vatPercentage}
/>
</div>
)
}