Merged in feat/lokalise-rebuild (pull request #2993)
Feat/lokalise rebuild * chore(lokalise): update translation ids * chore(lokalise): easier to switch between projects * chore(lokalise): update translation ids * . * . * . * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * chore(lokalise): new translations * merge * switch to errors for missing id's * merge * sync translations Approved-by: Linus Flood
This commit is contained in:
@@ -50,9 +50,11 @@ export default function ActionButtons({
|
||||
const intl = useIntl()
|
||||
const isConfirmStep = currentStep === AncillaryStepEnum.confirmation
|
||||
const confirmLabel = intl.formatMessage({
|
||||
id: "common.confirm",
|
||||
defaultMessage: "Confirm",
|
||||
})
|
||||
const continueLabel = intl.formatMessage({
|
||||
id: "common.continue",
|
||||
defaultMessage: "Continue",
|
||||
})
|
||||
const quantityWithCard = useWatch<AncillaryQuantityFormData>({
|
||||
@@ -99,6 +101,7 @@ export default function ActionButtons({
|
||||
className={styles.priceButton}
|
||||
>
|
||||
{intl.formatMessage({
|
||||
id: "common.priceDetails",
|
||||
defaultMessage: "Price details",
|
||||
})}
|
||||
<MaterialIcon
|
||||
@@ -120,6 +123,7 @@ export default function ActionButtons({
|
||||
onPress={isMobile ? prevStepMobile : prevStep}
|
||||
>
|
||||
{intl.formatMessage({
|
||||
id: "common.back",
|
||||
defaultMessage: "Back",
|
||||
})}
|
||||
</Button>
|
||||
|
||||
@@ -37,6 +37,7 @@ export default function PriceSummary({
|
||||
<Typography variant="Body/Paragraph/mdBold">
|
||||
<h2>
|
||||
{intl.formatMessage({
|
||||
id: "common.summary",
|
||||
defaultMessage: "Summary",
|
||||
})}
|
||||
</h2>
|
||||
@@ -50,6 +51,7 @@ export default function PriceSummary({
|
||||
title={item.title}
|
||||
quantity={item.quantityWithCard}
|
||||
label={intl.formatMessage({
|
||||
id: "booking.priceIncludingVat",
|
||||
defaultMessage: "Price including VAT",
|
||||
})}
|
||||
value={formatPrice(intl, item.totalPrice, item.currency)}
|
||||
@@ -60,11 +62,17 @@ export default function PriceSummary({
|
||||
title={item.title}
|
||||
quantity={item.quantityWithPoints}
|
||||
label={intl.formatMessage({
|
||||
id: "common.points",
|
||||
defaultMessage: "Points",
|
||||
})}
|
||||
value={`${item.points} ${intl.formatMessage({
|
||||
defaultMessage: "points",
|
||||
})}`}
|
||||
value={intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfPoints",
|
||||
defaultMessage:
|
||||
"{points, plural, one {# point} other {# points}}",
|
||||
},
|
||||
{ points: item.points }
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
<Divider />
|
||||
@@ -76,9 +84,11 @@ export default function PriceSummary({
|
||||
<p>
|
||||
{hasTotalPrice
|
||||
? intl.formatMessage({
|
||||
id: "priceSummary.totalPriceIncludingVat",
|
||||
defaultMessage: "Total price including VAT",
|
||||
})
|
||||
: intl.formatMessage({
|
||||
id: "common.totalPoints",
|
||||
defaultMessage: "Total points",
|
||||
})}
|
||||
</p>
|
||||
@@ -93,10 +103,14 @@ export default function PriceSummary({
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
{hasTotalPoints && hasTotalPrice ? " + " : null}
|
||||
{hasTotalPoints
|
||||
? // eslint-disable-next-line formatjs/no-literal-string-in-jsx
|
||||
`${totalPoints} ${intl.formatMessage({
|
||||
defaultMessage: "points",
|
||||
})}`
|
||||
? intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfPoints",
|
||||
defaultMessage:
|
||||
"{points, plural, one {# point} other {# points}}",
|
||||
},
|
||||
{ points: totalPoints }
|
||||
)
|
||||
: null}
|
||||
</p>
|
||||
</Typography>
|
||||
|
||||
@@ -77,6 +77,7 @@ export default function PriceDetails({
|
||||
const items = [
|
||||
{
|
||||
title: `${selectedAncillary.title} / ${intl.formatMessage({
|
||||
id: "common.adult",
|
||||
defaultMessage: "adult",
|
||||
})}`,
|
||||
totalPrice: breakfastData.priceAdult,
|
||||
@@ -88,6 +89,7 @@ export default function PriceDetails({
|
||||
if (breakfastData.nrOfPayingChildren > 0) {
|
||||
items.push({
|
||||
title: `${selectedAncillary.title} / ${intl.formatMessage({
|
||||
id: "common.children",
|
||||
defaultMessage: "Children",
|
||||
})} 4-12`,
|
||||
totalPrice: breakfastData.priceChild,
|
||||
@@ -101,6 +103,7 @@ export default function PriceDetails({
|
||||
items.push({
|
||||
title: `${selectedAncillary.title} / ${intl.formatMessage(
|
||||
{
|
||||
id: "common.childrenUnderAge",
|
||||
defaultMessage: "Children under {age}",
|
||||
},
|
||||
{ age: 4 }
|
||||
@@ -135,6 +138,7 @@ export default function PriceDetails({
|
||||
<Typography variant="Body/Paragraph/mdBold">
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
id: "common.total",
|
||||
defaultMessage: "Total",
|
||||
})}
|
||||
</p>
|
||||
@@ -144,6 +148,7 @@ export default function PriceDetails({
|
||||
<p className={styles.vatText}>
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
{`(${intl.formatMessage({
|
||||
id: "common.inclVAT",
|
||||
defaultMessage: "Incl. VAT",
|
||||
})})`}
|
||||
</p>
|
||||
@@ -154,6 +159,7 @@ export default function PriceDetails({
|
||||
<p className={styles.hideOnDesktop}>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.numberOfNights",
|
||||
defaultMessage:
|
||||
"{totalNights, plural, one {# night} other {# nights}}",
|
||||
},
|
||||
@@ -165,6 +171,7 @@ export default function PriceDetails({
|
||||
" / " +
|
||||
intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfGuests",
|
||||
defaultMessage:
|
||||
"{value, plural, one {# guest} other {# guests}}",
|
||||
},
|
||||
@@ -186,6 +193,7 @@ export default function PriceDetails({
|
||||
<p className={styles.showOnDesktop}>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "booking.numberOfNights",
|
||||
defaultMessage:
|
||||
"{totalNights, plural, one {# night} other {# nights}}",
|
||||
},
|
||||
@@ -197,6 +205,7 @@ export default function PriceDetails({
|
||||
" / " +
|
||||
intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfGuests",
|
||||
defaultMessage:
|
||||
"{value, plural, one {# guest} other {# guests}}",
|
||||
},
|
||||
@@ -231,14 +240,14 @@ export default function PriceDetails({
|
||||
</div>
|
||||
<Typography variant="Body/Paragraph/mdBold">
|
||||
<p>
|
||||
{totalPoints}
|
||||
{
|
||||
/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */
|
||||
" "
|
||||
}
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "points",
|
||||
})}
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfPoints",
|
||||
defaultMessage:
|
||||
"{points, plural, one {# point} other {# points}}",
|
||||
},
|
||||
{ points: totalPoints }
|
||||
)}
|
||||
</p>
|
||||
</Typography>
|
||||
</div>
|
||||
|
||||
@@ -54,6 +54,7 @@ export default function ConfirmationStep({
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "addAncillary.confirmationStep.refundPolicy",
|
||||
defaultMessage:
|
||||
"All ancillaries are fully refundable until {date}. Time selection and special requests are also modifiable.",
|
||||
},
|
||||
@@ -66,6 +67,7 @@ export default function ConfirmationStep({
|
||||
<Typography variant="Title/Subtitle/md">
|
||||
<h2>
|
||||
{intl.formatMessage({
|
||||
id: "addAncillary.confirmationStep.pointsToBeDeducted",
|
||||
defaultMessage: "Points to be deducted now",
|
||||
})}
|
||||
</h2>
|
||||
@@ -77,9 +79,11 @@ export default function ConfirmationStep({
|
||||
<h2>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
defaultMessage: "{amount} points",
|
||||
id: "common.numberOfPoints",
|
||||
defaultMessage:
|
||||
"{points, plural, one {# point} other {# points}}",
|
||||
},
|
||||
{ amount: totalPoints }
|
||||
{ points: totalPoints }
|
||||
)}
|
||||
</h2>
|
||||
</Typography>
|
||||
@@ -88,6 +92,7 @@ export default function ConfirmationStep({
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "addAncillary.confirmationStep.pointsAvailable",
|
||||
defaultMessage: "{amount} points available",
|
||||
},
|
||||
{ amount: currentPoints }
|
||||
@@ -103,6 +108,7 @@ export default function ConfirmationStep({
|
||||
<Typography variant="Title/Subtitle/md">
|
||||
<h2>
|
||||
{intl.formatMessage({
|
||||
id: "addAncillary.confirmationStep.reserveWithCard",
|
||||
defaultMessage: "Reserve with Card",
|
||||
})}
|
||||
</h2>
|
||||
@@ -111,6 +117,7 @@ export default function ConfirmationStep({
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
id: "addAncillary.confirmationStep.paymentAtCheckInInfo",
|
||||
defaultMessage:
|
||||
"Payment will be made on check-in. The card will be only used to guarantee the ancillary in case of no-show.",
|
||||
})}
|
||||
@@ -122,6 +129,7 @@ export default function ConfirmationStep({
|
||||
value={PaymentMethodEnum.card}
|
||||
cardNumber={guaranteeInfo.maskedCard.slice(-4)}
|
||||
label={intl.formatMessage({
|
||||
id: "common.creditCard",
|
||||
defaultMessage: "Credit card",
|
||||
})}
|
||||
/>
|
||||
@@ -131,6 +139,7 @@ export default function ConfirmationStep({
|
||||
<Alert
|
||||
type={AlertTypeEnum.Info}
|
||||
text={intl.formatMessage({
|
||||
id: "addAncillary.confirmationStep.guaranteeAddCard",
|
||||
defaultMessage:
|
||||
"By adding a card you also guarantee your room booking for late arrival.",
|
||||
})}
|
||||
@@ -151,15 +160,19 @@ export default function ConfirmationStep({
|
||||
name="paymentMethod"
|
||||
label={
|
||||
savedCreditCards?.length
|
||||
? intl.formatMessage({
|
||||
defaultMessage: "OTHER",
|
||||
})
|
||||
? intl
|
||||
.formatMessage({
|
||||
id: "common.other",
|
||||
defaultMessage: "Other",
|
||||
})
|
||||
.toUpperCase()
|
||||
: undefined
|
||||
}
|
||||
>
|
||||
<PaymentOption
|
||||
value={PaymentMethodEnum.card}
|
||||
label={intl.formatMessage({
|
||||
id: "common.creditCard",
|
||||
defaultMessage: "Credit card",
|
||||
})}
|
||||
/>
|
||||
@@ -174,6 +187,7 @@ export default function ConfirmationStep({
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "addAncillary.confirmationStep.termsAndConditionsNotice",
|
||||
defaultMessage:
|
||||
"Yes, I accept the general <termsAndConditionsLink>Booking & Cancellation Terms</termsAndConditionsLink>, and understand that Scandic will process my personal data in accordance with <privacyPolicyLink>Scandic's Privacy policy</privacyPolicyLink>. There you can learn more about what data we process, your rights and where to turn if you have questions.",
|
||||
},
|
||||
@@ -209,6 +223,7 @@ export default function ConfirmationStep({
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<span>
|
||||
{intl.formatMessage({
|
||||
id: "booking.acceptBookingTerms",
|
||||
defaultMessage: "I accept the booking and cancellation terms",
|
||||
})}
|
||||
</span>
|
||||
|
||||
@@ -18,6 +18,7 @@ export default function DeliveryMethodStep() {
|
||||
<Typography variant="Body/Supporting text (caption)/smBold">
|
||||
<h3>
|
||||
{intl.formatMessage({
|
||||
id: "ancillaries.deliveredAt",
|
||||
defaultMessage: "Delivered at:",
|
||||
})}
|
||||
</h3>
|
||||
@@ -33,6 +34,7 @@ export default function DeliveryMethodStep() {
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<p>
|
||||
{intl.formatMessage({
|
||||
id: "addAncillary.deliveryDetailsStep.deliveryTimeDescription",
|
||||
defaultMessage:
|
||||
"All extras are delivered together. Changes to delivery times will affect previously ordered extras.",
|
||||
})}
|
||||
@@ -41,6 +43,7 @@ export default function DeliveryMethodStep() {
|
||||
<div className={styles.select}>
|
||||
<Input
|
||||
label={intl.formatMessage({
|
||||
id: "addAncillary.deliveryDetailsStep.optionalTextLabel",
|
||||
defaultMessage: "Other Requests",
|
||||
})}
|
||||
name="optionalText"
|
||||
@@ -48,6 +51,7 @@ export default function DeliveryMethodStep() {
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<h3>
|
||||
{intl.formatMessage({
|
||||
id: "common.optional",
|
||||
defaultMessage: "Optional",
|
||||
})}
|
||||
</h3>
|
||||
|
||||
@@ -35,6 +35,7 @@ export default function SelectAncillaryStep() {
|
||||
{categoryName
|
||||
? categoryName
|
||||
: intl.formatMessage({
|
||||
id: "common.other",
|
||||
defaultMessage: "Other",
|
||||
})}
|
||||
</p>
|
||||
|
||||
@@ -58,6 +58,7 @@ export default function SelectQuantityStep({ user }: SelectQuantityStepProps) {
|
||||
<Typography variant="Title/Subtitle/md">
|
||||
<h2 className={styles.selectTitle}>
|
||||
{intl.formatMessage({
|
||||
id: "addAncillary.selectQuantityStep.payWithPoints",
|
||||
defaultMessage: "Pay with points",
|
||||
})}
|
||||
</h2>
|
||||
@@ -68,6 +69,7 @@ export default function SelectQuantityStep({ user }: SelectQuantityStepProps) {
|
||||
<Typography variant="Title/Overline/sm">
|
||||
<h2>
|
||||
{intl.formatMessage({
|
||||
id: "common.totalPoints",
|
||||
defaultMessage: "Total points",
|
||||
})}
|
||||
</h2>
|
||||
@@ -81,6 +83,7 @@ export default function SelectQuantityStep({ user }: SelectQuantityStepProps) {
|
||||
<Typography variant="Body/Supporting text (caption)/smRegular">
|
||||
<h2 className={styles.insufficientPoints}>
|
||||
{intl.formatMessage({
|
||||
id: "addAncillary.selectQuantityStep.insufficientPoints",
|
||||
defaultMessage: "Insufficient points",
|
||||
})}
|
||||
</h2>
|
||||
@@ -89,6 +92,7 @@ export default function SelectQuantityStep({ user }: SelectQuantityStepProps) {
|
||||
<Select
|
||||
name="quantityWithPoints"
|
||||
label={intl.formatMessage({
|
||||
id: "addAncillary.selectQuantityStep.selectQuantityLabel",
|
||||
defaultMessage: "Select quantity",
|
||||
})}
|
||||
items={pointsQuantityOptions}
|
||||
@@ -100,11 +104,8 @@ export default function SelectQuantityStep({ user }: SelectQuantityStepProps) {
|
||||
<div className={styles.select}>
|
||||
<Typography variant="Title/Subtitle/md">
|
||||
<h2 className={styles.selectTitle}>
|
||||
{
|
||||
/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */
|
||||
" "
|
||||
}
|
||||
{intl.formatMessage({
|
||||
id: "addAncillary.selectQuantityStep.payWithCard",
|
||||
defaultMessage: "Pay with card at the hotel",
|
||||
})}
|
||||
</h2>
|
||||
@@ -112,6 +113,7 @@ export default function SelectQuantityStep({ user }: SelectQuantityStepProps) {
|
||||
<Select
|
||||
name="quantityWithCard"
|
||||
label={intl.formatMessage({
|
||||
id: "addAncillary.selectQuantityStep.selectQuantityLabel",
|
||||
defaultMessage: "Select quantity",
|
||||
})}
|
||||
items={cardQuantityOptions}
|
||||
@@ -136,6 +138,7 @@ function BreakfastInfo() {
|
||||
|
||||
if (!breakfastData) {
|
||||
return intl.formatMessage({
|
||||
id: "ancillaries.unableToDisplayBreakfastPrices",
|
||||
defaultMessage: "Unable to display breakfast prices.",
|
||||
})
|
||||
}
|
||||
@@ -145,6 +148,7 @@ function BreakfastInfo() {
|
||||
<Alert
|
||||
type={AlertTypeEnum.Info}
|
||||
text={intl.formatMessage({
|
||||
id: "addAncillary.selectQuantityStep.breakfastInfoMessage",
|
||||
defaultMessage:
|
||||
"Breakfast can only be added for the entire duration of the stay and for all guests.",
|
||||
})}
|
||||
@@ -158,6 +162,7 @@ function BreakfastInfo() {
|
||||
<dt>
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
{`${breakfastData.nrOfAdults} × ${intl.formatMessage({
|
||||
id: "common.adults",
|
||||
defaultMessage: "Adults",
|
||||
})}`}
|
||||
</dt>
|
||||
@@ -177,6 +182,7 @@ function BreakfastInfo() {
|
||||
<dt>
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
{`${breakfastData.nrOfPayingChildren} × ${intl.formatMessage({
|
||||
id: "common.ages",
|
||||
defaultMessage: "ages",
|
||||
})} 4-12`}
|
||||
</dt>
|
||||
@@ -198,12 +204,14 @@ function BreakfastInfo() {
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
{`${breakfastData.nrOfFreeChildren} × ${intl.formatMessage({
|
||||
defaultMessage: "under",
|
||||
id: "common.under",
|
||||
})} 4`}
|
||||
</dt>
|
||||
<dd>
|
||||
<Body>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "Free",
|
||||
id: "common.free",
|
||||
})}
|
||||
</Body>
|
||||
</dd>
|
||||
|
||||
@@ -110,6 +110,7 @@ export default function AddAncillaryFlowModal({
|
||||
|
||||
const ancillaryErrorMessage = intl.formatMessage(
|
||||
{
|
||||
id: "addAncillaryFlowModal.errorMessage.ancillary",
|
||||
defaultMessage:
|
||||
"Something went wrong. {ancillary} could not be added to your booking!",
|
||||
},
|
||||
@@ -170,6 +171,7 @@ export default function AddAncillaryFlowModal({
|
||||
toast.success(
|
||||
intl.formatMessage(
|
||||
{
|
||||
id: "addAncillaryFlowModal.ancillaryAdded",
|
||||
defaultMessage: "{ancillary} added to your booking!",
|
||||
},
|
||||
{ ancillary: selectedAncillary?.title }
|
||||
@@ -274,6 +276,7 @@ export default function AddAncillaryFlowModal({
|
||||
if (isBreakfast && !breakfastData) {
|
||||
toast.error(
|
||||
intl.formatMessage({
|
||||
id: "errorMessage.somethingWentWrong",
|
||||
defaultMessage: "Something went wrong!",
|
||||
})
|
||||
)
|
||||
@@ -352,6 +355,7 @@ export default function AddAncillaryFlowModal({
|
||||
const modalTitle =
|
||||
currentStep === AncillaryStepEnum.selectAncillary
|
||||
? intl.formatMessage({
|
||||
id: "ancillaries.upgradeYourStay",
|
||||
defaultMessage: "Upgrade your stay",
|
||||
})
|
||||
: selectedAncillary?.title
|
||||
@@ -392,10 +396,12 @@ export default function AddAncillaryFlowModal({
|
||||
<p>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
defaultMessage: "{value} points",
|
||||
id: "common.numberOfPoints",
|
||||
defaultMessage:
|
||||
"{points, plural, one {# point} other {# points}}",
|
||||
},
|
||||
{
|
||||
value: selectedAncillary.points,
|
||||
points: selectedAncillary.points,
|
||||
}
|
||||
)}
|
||||
</p>
|
||||
@@ -450,6 +456,7 @@ function BreakfastPriceList() {
|
||||
|
||||
if (!breakfastData) {
|
||||
return intl.formatMessage({
|
||||
id: "ancillaries.unableToDisplayBreakfastPrices",
|
||||
defaultMessage: "Unable to display breakfast prices.",
|
||||
})
|
||||
}
|
||||
@@ -461,6 +468,7 @@ function BreakfastPriceList() {
|
||||
<span>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "addAncillaryFlowModal.pricePerNightPerAdult",
|
||||
defaultMessage: "{price}/night per adult",
|
||||
},
|
||||
{
|
||||
@@ -480,6 +488,7 @@ function BreakfastPriceList() {
|
||||
<span>
|
||||
{intl.formatMessage(
|
||||
{
|
||||
id: "addAncillaryFlowModal.pricePerNightPerKids",
|
||||
defaultMessage: "{price}/night for kids (ages 4–12)",
|
||||
},
|
||||
{
|
||||
@@ -500,6 +509,7 @@ function BreakfastPriceList() {
|
||||
<Typography variant="Body/Paragraph/mdBold">
|
||||
<span>
|
||||
{intl.formatMessage({
|
||||
id: "addAncillaryFlowModal.freeBreakfastForKids",
|
||||
defaultMessage: "Free for kids (under 4)",
|
||||
})}
|
||||
</span>
|
||||
|
||||
@@ -39,22 +39,27 @@ export default function RemoveButton({
|
||||
return (
|
||||
<Dialog
|
||||
bodyText={intl.formatMessage({
|
||||
id: "myStay.removeAncillary.confirmationText",
|
||||
defaultMessage: "Are you sure you want to remove this product?",
|
||||
})}
|
||||
proceedText={intl.formatMessage({
|
||||
id: "common.remove",
|
||||
defaultMessage: "Remove",
|
||||
})}
|
||||
proceedIsPending={removePackage.isPending}
|
||||
cancelButtonText={intl.formatMessage({
|
||||
id: "common.cancel",
|
||||
defaultMessage: "Cancel",
|
||||
})}
|
||||
titleText={`${intl.formatMessage({
|
||||
id: "common.remove",
|
||||
defaultMessage: "Remove",
|
||||
})} ${title}`}
|
||||
trigger={
|
||||
<Button intent="text" size="small" variant="icon" theme="base">
|
||||
<MaterialIcon icon="delete" color="CurrentColor" />
|
||||
{intl.formatMessage({
|
||||
id: "common.remove",
|
||||
defaultMessage: "Remove",
|
||||
})}
|
||||
</Button>
|
||||
@@ -87,6 +92,7 @@ export default function RemoveButton({
|
||||
onError: () => {
|
||||
toast.error(
|
||||
intl.formatMessage({
|
||||
id: "errorMessage.somethingWentWrong",
|
||||
defaultMessage: "Something went wrong!",
|
||||
})
|
||||
)
|
||||
|
||||
@@ -42,6 +42,7 @@ export function AddedAncillaries({
|
||||
<Subtitle>
|
||||
{intl.formatMessage({
|
||||
defaultMessage: "My extras",
|
||||
id: "myStay.addedAncillaries.title",
|
||||
})}
|
||||
</Subtitle>
|
||||
|
||||
@@ -49,6 +50,7 @@ export function AddedAncillaries({
|
||||
<div className={styles.deliveryTime}>
|
||||
<Body color="baseTextHighContrast" textTransform="bold">
|
||||
{intl.formatMessage({
|
||||
id: "ancillaries.deliveredAt",
|
||||
defaultMessage: "Delivered at:",
|
||||
})}
|
||||
</Body>
|
||||
@@ -63,6 +65,7 @@ export function AddedAncillaries({
|
||||
const ancillaryTitle = `${
|
||||
ancillary.code === BreakfastPackageEnum.ANCILLARY_REGULAR_BREAKFAST
|
||||
? intl.formatMessage({
|
||||
id: "common.breakfast",
|
||||
defaultMessage: "Breakfast",
|
||||
})
|
||||
: (ancillaries?.find(
|
||||
@@ -89,6 +92,7 @@ export function AddedAncillaries({
|
||||
<div className={styles.commentMobile}>
|
||||
<Body textTransform="bold">
|
||||
{intl.formatMessage({
|
||||
id: "common.otherRequests",
|
||||
defaultMessage: "Other requests",
|
||||
})}
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
@@ -104,15 +108,22 @@ export function AddedAncillaries({
|
||||
<div className={styles.paymentMobile}>
|
||||
<Body>
|
||||
{intl.formatMessage({
|
||||
id: "common.total",
|
||||
defaultMessage: "Total",
|
||||
})}
|
||||
</Body>
|
||||
<Body textTransform="bold">
|
||||
{ancillary.currency.toLowerCase() === "points"
|
||||
? // eslint-disable-next-line formatjs/no-literal-string-in-jsx
|
||||
`${ancillary.totalPrice} ${intl.formatMessage({
|
||||
defaultMessage: "Points",
|
||||
})}`
|
||||
? intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfPoints",
|
||||
defaultMessage:
|
||||
"{points, plural, one {# point} other {# points}}",
|
||||
},
|
||||
{
|
||||
points: ancillary.totalPrice,
|
||||
}
|
||||
)
|
||||
: formatPrice(
|
||||
intl,
|
||||
ancillary.totalPrice,
|
||||
@@ -156,15 +167,22 @@ export function AddedAncillaries({
|
||||
<div className={styles.payment}>
|
||||
<Body>
|
||||
{intl.formatMessage({
|
||||
id: "common.total",
|
||||
defaultMessage: "Total",
|
||||
})}
|
||||
</Body>
|
||||
<Body textTransform="bold">
|
||||
{ancillary.currency.toLowerCase() === "points"
|
||||
? // eslint-disable-next-line formatjs/no-literal-string-in-jsx
|
||||
`${ancillary.totalPrice} ${intl.formatMessage({
|
||||
defaultMessage: "Points",
|
||||
})}`
|
||||
? intl.formatMessage(
|
||||
{
|
||||
id: "common.numberOfPoints",
|
||||
defaultMessage:
|
||||
"{points, plural, one {# point} other {# points}}",
|
||||
},
|
||||
{
|
||||
points: ancillary.totalPrice,
|
||||
}
|
||||
)
|
||||
: formatPrice(
|
||||
intl,
|
||||
ancillary.totalPrice,
|
||||
@@ -182,6 +200,7 @@ export function AddedAncillaries({
|
||||
<>
|
||||
<Body textTransform="bold">
|
||||
{intl.formatMessage({
|
||||
id: "common.otherRequests",
|
||||
defaultMessage: "Other requests",
|
||||
})}
|
||||
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
|
||||
|
||||
@@ -17,6 +17,7 @@ export default function ViewAllAncillaries() {
|
||||
onClick={openModal}
|
||||
>
|
||||
{intl.formatMessage({
|
||||
id: "common.seeAll",
|
||||
defaultMessage: "See all",
|
||||
})}
|
||||
<MaterialIcon icon="chevron_right" size={20} color="CurrentColor" />
|
||||
|
||||
@@ -58,10 +58,12 @@ export function Ancillaries({
|
||||
breakfastPackageAdults
|
||||
? {
|
||||
description: intl.formatMessage({
|
||||
id: "common.buffet",
|
||||
defaultMessage: "Buffet",
|
||||
}),
|
||||
id: breakfastPackageAdults.code,
|
||||
title: intl.formatMessage({
|
||||
id: "common.breakfast",
|
||||
defaultMessage: "Breakfast",
|
||||
}),
|
||||
price: {
|
||||
@@ -76,6 +78,7 @@ export function Ancillaries({
|
||||
hotelId: Number(bookedRoom.hotelId),
|
||||
internalCategoryName: "Food",
|
||||
translatedCategoryName: intl.formatMessage({
|
||||
id: "common.food",
|
||||
defaultMessage: "Food",
|
||||
}),
|
||||
}
|
||||
@@ -102,6 +105,7 @@ export function Ancillaries({
|
||||
<div className={styles.title}>
|
||||
<Title as="h5">
|
||||
{intl.formatMessage({
|
||||
id: "ancillaries.upgradeYourStay",
|
||||
defaultMessage: "Upgrade your stay",
|
||||
})}
|
||||
</Title>
|
||||
|
||||
@@ -82,13 +82,19 @@ export function mapAncillaries(
|
||||
ancillaries ?? [],
|
||||
breakfastAncillary,
|
||||
"Popular",
|
||||
intl.formatMessage({ defaultMessage: "Popular" })
|
||||
intl.formatMessage({
|
||||
defaultMessage: "Popular",
|
||||
id: "myStay.ancillaries.popularCategory",
|
||||
})
|
||||
)
|
||||
const withBreakfastFood = addBreakfastPackage(
|
||||
withBreakfastPopular,
|
||||
breakfastAncillary,
|
||||
"Food",
|
||||
intl.formatMessage({ defaultMessage: "Food" })
|
||||
intl.formatMessage({
|
||||
id: "common.food",
|
||||
defaultMessage: "Food",
|
||||
})
|
||||
)
|
||||
|
||||
return filterPoints(withBreakfastFood, user)
|
||||
|
||||
Reference in New Issue
Block a user