feat(SW-2863): Move contentstack router to trpc package * Add exports to packages and lint rule to prevent relative imports * Add env to trpc package * Add eslint to trpc package * Apply lint rules * Use direct imports from trpc package * Add lint-staged config to trpc * Move lang enum to common * Restructure trpc package folder structure * WIP first step * update internal imports in trpc * Fix most errors in scandic-web Just 100 left... * Move Props type out of trpc * Fix CategorizedFilters types * Move more schemas in hotel router * Fix deps * fix getNonContentstackUrls * Fix import error * Fix entry error handling * Fix generateMetadata metrics * Fix alertType enum * Fix duplicated types * lint:fix * Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package * Fix broken imports * Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package Approved-by: Linus Flood
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
"use client"
|
|
import { dt } from "@scandic-hotels/common/dt"
|
|
|
|
import { useMyStayStore } from "@/stores/my-stay"
|
|
|
|
import PriceDetailsModal from "@/components/HotelReservation/PriceDetailsModal"
|
|
|
|
import { calculateTotalPrice, mapToPrice } from "./mapToPrice"
|
|
|
|
import styles from "./priceDetails.module.css"
|
|
|
|
export default function PriceDetails() {
|
|
const { bookedRoom, rooms } = useMyStayStore((state) => ({
|
|
bookedRoom: state.bookedRoom,
|
|
rooms: state.rooms
|
|
.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
|
|
bookingCode={bookingCode}
|
|
fromDate={fromDate}
|
|
rooms={rooms}
|
|
toDate={toDate}
|
|
totalPrice={totalPrice}
|
|
vat={bookedRoom.vatPercentage}
|
|
defaultCurrency={bookedRoom.currencyCode}
|
|
/>
|
|
</div>
|
|
)
|
|
}
|