feat: add Price details modal
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
"use client"
|
||||
|
||||
import { useIntl } from "react-intl"
|
||||
|
||||
import { dt } from "@/lib/dt"
|
||||
@@ -17,8 +18,10 @@ import Body from "@/components/TempDesignSystem/Text/Body"
|
||||
import Caption from "@/components/TempDesignSystem/Text/Caption"
|
||||
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
|
||||
import useLang from "@/hooks/useLang"
|
||||
import { getNights } from "@/utils/dateFormatting"
|
||||
|
||||
import Modal from "../../Modal"
|
||||
import PriceDetailsTable from "../PriceDetailsTable"
|
||||
|
||||
import styles from "./ui.module.css"
|
||||
|
||||
@@ -39,6 +42,7 @@ export function storeSelector(state: DetailsState) {
|
||||
toggleSummaryOpen: state.actions.toggleSummaryOpen,
|
||||
togglePriceDetailsModalOpen: state.actions.togglePriceDetailsModalOpen,
|
||||
totalPrice: state.totalPrice,
|
||||
vat: state.vat,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,8 +67,10 @@ export default function SummaryUI({
|
||||
toggleSummaryOpen,
|
||||
togglePriceDetailsModalOpen,
|
||||
totalPrice,
|
||||
vat,
|
||||
} = useEnterDetailsStore(storeSelector)
|
||||
|
||||
// TODO: Update for Multiroom later
|
||||
const adults = booking.rooms[0].adults
|
||||
const children = booking.rooms[0].children
|
||||
|
||||
@@ -90,6 +96,7 @@ export default function SummaryUI({
|
||||
const memberPrice = roomRate.memberRate
|
||||
? {
|
||||
currency: roomRate.memberRate.localPrice.currency,
|
||||
pricePerNight: roomRate.memberRate.localPrice.pricePerNight,
|
||||
amount: roomRate.memberRate.localPrice.pricePerStay,
|
||||
}
|
||||
: null
|
||||
@@ -141,8 +148,8 @@ export default function SummaryUI({
|
||||
<div className={styles.entry}>
|
||||
<Body color="uiTextHighContrast">{roomType}</Body>
|
||||
<Body color={showMemberPrice ? "red" : "uiTextHighContrast"}>
|
||||
{intl.formatNumber(roomPrice.local.price, {
|
||||
currency: roomPrice.local.currency,
|
||||
{intl.formatNumber(roomPrice.perStay.local.price, {
|
||||
currency: roomPrice.perStay.local.currency,
|
||||
style: "currency",
|
||||
})}
|
||||
</Body>
|
||||
@@ -203,7 +210,7 @@ export default function SummaryUI({
|
||||
|
||||
<Body color="uiTextHighContrast">
|
||||
{intl.formatNumber(0, {
|
||||
currency: roomPrice.local.currency,
|
||||
currency: roomPrice.perStay.local.currency,
|
||||
style: "currency",
|
||||
})}
|
||||
</Body>
|
||||
@@ -221,7 +228,7 @@ export default function SummaryUI({
|
||||
</div>
|
||||
<Body color="uiTextHighContrast">
|
||||
{intl.formatNumber(0, {
|
||||
currency: roomPrice.local.currency,
|
||||
currency: roomPrice.perStay.local.currency,
|
||||
style: "currency",
|
||||
})}
|
||||
</Body>
|
||||
@@ -236,7 +243,7 @@ export default function SummaryUI({
|
||||
</div>
|
||||
<Body color="uiTextHighContrast">
|
||||
{intl.formatNumber(0, {
|
||||
currency: roomPrice.local.currency,
|
||||
currency: roomPrice.perStay.local.currency,
|
||||
style: "currency",
|
||||
})}
|
||||
</Body>
|
||||
@@ -249,7 +256,7 @@ export default function SummaryUI({
|
||||
</Body>
|
||||
<Body color="uiTextHighContrast">
|
||||
{intl.formatNumber(0, {
|
||||
currency: roomPrice.local.currency,
|
||||
currency: roomPrice.perStay.local.currency,
|
||||
style: "currency",
|
||||
})}
|
||||
</Body>
|
||||
@@ -303,7 +310,9 @@ export default function SummaryUI({
|
||||
{ b: (str) => <b>{str}</b> }
|
||||
)}
|
||||
</Body>
|
||||
|
||||
<Modal
|
||||
title={intl.formatMessage({ id: "Price details" })}
|
||||
trigger={
|
||||
<Button intent="text" onPress={handleTogglePriceDetailsModal}>
|
||||
<Caption color="burgundy">
|
||||
@@ -317,13 +326,7 @@ export default function SummaryUI({
|
||||
</Button>
|
||||
}
|
||||
>
|
||||
<div className={styles.modalContent}>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Arcu
|
||||
risus quis varius quam quisque id diam vel. Rhoncus urna neque
|
||||
viverra justo. Mattis aliquam faucibus purus in massa. Id cursus
|
||||
metus aliquam eleifend mi in nulla posuere.
|
||||
</div>
|
||||
<PriceDetailsTable roomType={roomType} />
|
||||
</Modal>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user