Files
web/packages/booking-flow/lib/components/PriceDetailsModal/PriceDetailsTable/Row/Vat.tsx
Joakim Jäderberg 488a396cfa Merged in feature/SW-3616-partner-points-my-stay (pull request #3407)
Feature/SW-3616 partner points my stay

* feat(SW-3616): display partner points in my stays

* null check roomPointType

* Lowercase POINTS in my stay

* include other than Scandic points when displaying price details modal


Approved-by: Anton Gunnarsson
2026-01-12 09:24:04 +00:00

53 lines
1.3 KiB
TypeScript

"use client"
import { useIntl } from "react-intl"
import { CurrencyEnum } from "@scandic-hotels/common/constants/currency"
import { formatPrice } from "@scandic-hotels/common/utils/numberFormatting"
import { calculateVat } from "../../../../utils/SelectRate"
import RegularRow from "./Regular"
import type { Price } from "../../../../types/price"
interface VatProps {
totalPrice: Price
vat: number
}
const noVatCurrencies = [
CurrencyEnum.CC,
CurrencyEnum.POINTS,
CurrencyEnum.EUROBONUS,
CurrencyEnum.Voucher,
CurrencyEnum.Unknown,
]
export default function VatRow({ totalPrice, vat }: VatProps) {
const intl = useIntl()
if (noVatCurrencies.includes(totalPrice.local.currency)) {
return null
}
const { vatAmount, priceExclVat } = calculateVat(totalPrice.local.price, vat)
return (
<>
<RegularRow
label={intl.formatMessage({
id: "booking.priceExcludingVat",
defaultMessage: "Price excluding VAT",
})}
value={formatPrice(intl, priceExclVat, totalPrice.local.currency)}
/>
<RegularRow
label={intl.formatMessage(
{ id: "priceDetails.VAT", defaultMessage: "VAT {vat}%" },
{ vat }
)}
value={formatPrice(intl, vatAmount, totalPrice.local.currency)}
/>
</>
)
}