feat: SW-1583 City search Map view redemption

This commit is contained in:
Hrishikesh Vaipurkar
2025-03-05 19:08:54 +01:00
parent f6db5f2732
commit 23eaa772ea
11 changed files with 72 additions and 16 deletions

View File

@@ -11,6 +11,7 @@ import Caption from "@/components/TempDesignSystem/Text/Caption"
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
import { isValidClientSession } from "@/utils/clientSession"
import HotelPointsCard from "../../HotelCard/HotelPointsCard"
import NoPriceAvailableCard from "../../HotelCard/NoPriceAvailableCard"
import HotelCardDialogImage from "../HotelCardDialogImage"
@@ -44,6 +45,7 @@ export default function ListingHotelCardDialog({
images,
ratings,
operaId,
redemptionPrice,
} = data
const firstImage = images[0]?.imageSizes?.small
@@ -82,14 +84,20 @@ export default function ListingHotelCardDialog({
</div>
</div>
{publicPrice || memberPrice ? (
{publicPrice || memberPrice || redemptionPrice ? (
<div className={styles.bottomContainer}>
<div className={styles.pricesContainer}>
<Caption color="uiTextHighContrast">
{intl.formatMessage({ id: "Per night from" })}
</Caption>
{redemptionPrice ? (
<Caption color="uiTextHighContrast">
{intl.formatMessage({ id: "Available rates" })}
</Caption>
) : (
<Caption color="uiTextHighContrast">
{intl.formatMessage({ id: "Per night from" })}
</Caption>
)}
<div className={styles.listingPrices}>
{publicPrice && !isUserLoggedIn && (
{publicPrice && !isUserLoggedIn && memberPrice && (
<>
<Subtitle type="two">
{publicPrice} {currency}
@@ -108,6 +116,9 @@ export default function ListingHotelCardDialog({
)}
</Subtitle>
)}
{redemptionPrice && (
<HotelPointsCard redemptionPrice={redemptionPrice} />
)}
</div>
</div>
<Button asChild theme="base" size="small" className={styles.button}>

View File

@@ -13,6 +13,7 @@ import Footnote from "@/components/TempDesignSystem/Text/Footnote"
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
import { isValidClientSession } from "@/utils/clientSession"
import HotelPointsCard from "../../HotelCard/HotelPointsCard"
import NoPriceAvailableCard from "../../HotelCard/NoPriceAvailableCard"
import HotelCardDialogImage from "../HotelCardDialogImage"
@@ -41,6 +42,7 @@ export default function StandaloneHotelCardDialog({
name,
publicPrice,
memberPrice,
redemptionPrice,
currency,
amenities,
images,
@@ -85,12 +87,18 @@ export default function StandaloneHotelCardDialog({
})}
</div>
<div className={styles.pricesContainer}>
{publicPrice || memberPrice ? (
{publicPrice || memberPrice || redemptionPrice ? (
<>
<div className={styles.priceCard}>
<Caption type="bold">
{intl.formatMessage({ id: "From" })}
</Caption>
{redemptionPrice ? (
<Caption>
{intl.formatMessage({ id: "Available rates" })}
</Caption>
) : (
<Caption type="bold">
{intl.formatMessage({ id: "From" })}
</Caption>
)}
{publicPrice && !isUserLoggedIn && (
<Subtitle type="two">
{intl.formatMessage(
@@ -123,6 +131,9 @@ export default function StandaloneHotelCardDialog({
</Body>
</Subtitle>
)}
{redemptionPrice && (
<HotelPointsCard redemptionPrice={redemptionPrice} />
)}
</div>
<Button
asChild