Merged in feat/SW-3526-show-sas-eb-points-rate-in- (pull request #2933)
feat(SW-3526): Show EB points rate and label in booking flow * feat(SW-3526): Show EB points rate and label in booking flow * feat(SW-3526) Optimized points currency code * feat(SW-3526) Removed extra multiplication for token expiry after rebase * feat(SW-3526): Updated to exhaustive check and thow if type error Approved-by: Anton Gunnarsson
This commit is contained in:
@@ -22,6 +22,7 @@ import { FacilityToIcon } from '../../../FacilityToIcon'
|
||||
import { HotelPin } from '../../../Map/types'
|
||||
import { HotelPointsRow } from '../../HotelPointsRow'
|
||||
import styles from './standaloneHotelCardDialog.module.css'
|
||||
import { CurrencyEnum } from '@scandic-hotels/common/constants/currency'
|
||||
|
||||
interface StandaloneHotelCardProps {
|
||||
data: HotelPin
|
||||
@@ -29,6 +30,7 @@ interface StandaloneHotelCardProps {
|
||||
isUserLoggedIn: boolean
|
||||
handleClose: () => void
|
||||
onClick?: () => void
|
||||
pointsCurrency?: CurrencyEnum
|
||||
}
|
||||
|
||||
export function StandaloneHotelCardDialog({
|
||||
@@ -37,6 +39,7 @@ export function StandaloneHotelCardDialog({
|
||||
handleClose,
|
||||
isUserLoggedIn,
|
||||
onClick,
|
||||
pointsCurrency,
|
||||
}: StandaloneHotelCardProps) {
|
||||
const intl = useIntl()
|
||||
const [imageError, setImageError] = useState(false)
|
||||
@@ -224,7 +227,10 @@ export function StandaloneHotelCardDialog({
|
||||
</Subtitle>
|
||||
)}
|
||||
{redemptionPrice && (
|
||||
<HotelPointsRow pointsPerStay={redemptionPrice} />
|
||||
<HotelPointsRow
|
||||
pointsPerStay={redemptionPrice}
|
||||
pointsCurrency={pointsCurrency}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
{shouldShowNotEnoughPoints ? (
|
||||
|
||||
@@ -4,16 +4,19 @@ import Caption from '../../Caption'
|
||||
import Subtitle from '../../Subtitle'
|
||||
|
||||
import styles from './hotelPointsRow.module.css'
|
||||
import { CurrencyEnum } from '@scandic-hotels/common/constants/currency'
|
||||
|
||||
export type PointsRowProps = {
|
||||
pointsPerStay: number
|
||||
additionalPricePerStay?: number
|
||||
additionalPriceCurrency?: string
|
||||
pointsCurrency?: CurrencyEnum
|
||||
}
|
||||
export function HotelPointsRow({
|
||||
pointsPerStay,
|
||||
additionalPricePerStay,
|
||||
additionalPriceCurrency,
|
||||
pointsCurrency,
|
||||
}: PointsRowProps) {
|
||||
const intl = useIntl()
|
||||
|
||||
@@ -23,9 +26,10 @@ export function HotelPointsRow({
|
||||
{pointsPerStay}
|
||||
</Subtitle>
|
||||
<Caption color="uiTextHighContrast">
|
||||
{intl.formatMessage({
|
||||
defaultMessage: 'Points',
|
||||
})}
|
||||
{pointsCurrency ??
|
||||
intl.formatMessage({
|
||||
defaultMessage: 'Points',
|
||||
})}
|
||||
</Caption>
|
||||
{additionalPricePerStay ? (
|
||||
<>
|
||||
|
||||
@@ -106,6 +106,7 @@ export type HotelCardProps = {
|
||||
state?: 'default' | 'active'
|
||||
bookingCode?: string | null
|
||||
isAlternative?: boolean
|
||||
pointsCurrency?: CurrencyEnum
|
||||
fullPrice: boolean
|
||||
|
||||
lang: Lang
|
||||
@@ -127,6 +128,7 @@ export const HotelCard = memo(
|
||||
type = 'pageListing',
|
||||
bookingCode = '',
|
||||
isAlternative,
|
||||
pointsCurrency,
|
||||
images,
|
||||
lang,
|
||||
belowInfoSlot,
|
||||
@@ -307,6 +309,7 @@ export const HotelCard = memo(
|
||||
additionalPriceCurrency={
|
||||
redemption.localPrice.currency ?? undefined
|
||||
}
|
||||
pointsCurrency={pointsCurrency}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user