Merged in feat/book-425-optimize-campaign-rate-card (pull request #3015)
Feat/book 425 optimize campaign rate card * feat(BOOK-425): design updates to RateCard * feat(BOOK-425): design updates to campaign BookingCodeChip * feat(BOOK-425): fixed breakfast message & booking code chips on select rate and enter detailss * feat(BOOK-425): fixed booking code chip on Booking Confirmation page * fixed draft comments * fixed more comments * feat(BOOK-425): removed fixed height from RateCard banner * fixed another variable comment * fixed more pr comments * fixed more pr comments * updated ratecard campaign standard rate title color * removed deconstructed props Approved-by: Bianca Widstam Approved-by: Erik Tiekstra
This commit is contained in:
@@ -53,7 +53,7 @@ interface Room {
|
||||
childrenInRoom: Child[] | undefined
|
||||
packages: Packages | null
|
||||
price: RoomPrice
|
||||
rateDefinition: Pick<RateDefinition, "isMemberRate">
|
||||
rateDefinition: Pick<RateDefinition, "isMemberRate" | "isCampaignRate">
|
||||
roomType: string
|
||||
}
|
||||
|
||||
@@ -101,6 +101,9 @@ export default function PriceDetailsTable({
|
||||
if (room.rateDefinition.isMemberRate) {
|
||||
return true
|
||||
}
|
||||
if (room.rateDefinition.isCampaignRate) {
|
||||
return true
|
||||
}
|
||||
if (!room.price.regular) {
|
||||
return false
|
||||
}
|
||||
@@ -108,6 +111,9 @@ export default function PriceDetailsTable({
|
||||
return room.price.regular.pricePerStay > room.price.regular.pricePerStay
|
||||
})
|
||||
|
||||
const allRoomsHasCampaignRate = rooms.every(
|
||||
(room) => room.rateDefinition.isCampaignRate
|
||||
)
|
||||
return (
|
||||
<table className={styles.priceDetailsTable}>
|
||||
{rooms.map((room, idx) => {
|
||||
@@ -176,6 +182,7 @@ export default function PriceDetailsTable({
|
||||
bedType={room.bedType}
|
||||
packages={room.packages}
|
||||
isMemberRate={isMemberRate}
|
||||
isCampaignRate={room.rateDefinition.isCampaignRate}
|
||||
nights={nights}
|
||||
price={price}
|
||||
/>
|
||||
@@ -211,6 +218,15 @@ export default function PriceDetailsTable({
|
||||
currency={currency}
|
||||
nights={nights}
|
||||
/>
|
||||
{rooms.length !== 1 &&
|
||||
(room.rateDefinition.isCampaignRate || !!bookingCode) && (
|
||||
<Tbody>
|
||||
<BookingCodeRow
|
||||
isCampaignRate={room.rateDefinition.isCampaignRate}
|
||||
bookingCode={bookingCode}
|
||||
/>
|
||||
</Tbody>
|
||||
)}
|
||||
</Fragment>
|
||||
)
|
||||
})}
|
||||
@@ -223,9 +239,8 @@ export default function PriceDetailsTable({
|
||||
/>
|
||||
|
||||
<VatRow totalPrice={totalPrice} vat={vat} />
|
||||
|
||||
<LargeRow
|
||||
allPricesIsDiscounted={allPricesIsDiscounted}
|
||||
allPricesIsDiscounted={!!allPricesIsDiscounted || !!isCampaignRate}
|
||||
label={intl.formatMessage({
|
||||
id: "booking.priceIncludingVat",
|
||||
defaultMessage: "Price including VAT",
|
||||
@@ -233,10 +248,15 @@ export default function PriceDetailsTable({
|
||||
price={totalPrice}
|
||||
/>
|
||||
|
||||
<BookingCodeRow
|
||||
isCampaignRate={isCampaignRate}
|
||||
bookingCode={bookingCode}
|
||||
/>
|
||||
{rooms.length === 1 && (allRoomsHasCampaignRate || bookingCode) && (
|
||||
<>
|
||||
<tr className={styles.bookingCode} />
|
||||
<BookingCodeRow
|
||||
isCampaignRate={isCampaignRate}
|
||||
bookingCode={bookingCode}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</Tbody>
|
||||
</table>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user