From ce453d8b1d38106cfcef867debc00704fdc76ddd Mon Sep 17 00:00:00 2001 From: Tobias Johansson Date: Tue, 12 Nov 2024 15:30:59 +0100 Subject: [PATCH] feat(SW-817): hide apple pay if not supported --- .../EnterDetails/Payment/index.tsx | 16 +++++++++++++++- types/window.d.ts | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/components/HotelReservation/EnterDetails/Payment/index.tsx b/components/HotelReservation/EnterDetails/Payment/index.tsx index 9eb7508ec..303fc2d5c 100644 --- a/components/HotelReservation/EnterDetails/Payment/index.tsx +++ b/components/HotelReservation/EnterDetails/Payment/index.tsx @@ -81,6 +81,8 @@ export default function Payment({ const { toDate, fromDate, rooms: rooms, hotel } = roomData const [confirmationNumber, setConfirmationNumber] = useState("") + const [availablePaymentOptions, setAvailablePaymentOptions] = + useState(otherPaymentOptions) const methods = useForm({ defaultValues: { @@ -118,6 +120,18 @@ export default function Payment({ retryInterval ) + useEffect(() => { + if (window.ApplePaySession) { + setAvailablePaymentOptions(otherPaymentOptions) + } else { + setAvailablePaymentOptions( + otherPaymentOptions.filter( + (option) => option !== PaymentMethodEnum.applePay + ) + ) + } + }, [otherPaymentOptions, setAvailablePaymentOptions]) + useEffect(() => { if (bookingStatus?.data?.paymentUrl) { router.push(bookingStatus.data.paymentUrl) @@ -260,7 +274,7 @@ export default function Payment({ value={PaymentMethodEnum.card} label={intl.formatMessage({ id: "Credit card" })} /> - {otherPaymentOptions.map((paymentMethod) => ( + {availablePaymentOptions.map((paymentMethod) => ( void) | undefined }