@roomstay/frontend 2.1.33 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/201.bundle.js +1 -1
- package/dist/213.bundle.js +1 -0
- package/dist/279.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/423.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/535.bundle.js +1 -1
- package/dist/548.bundle.js +1 -0
- package/dist/686.bundle.js +1 -0
- package/dist/855.bundle.js +1 -1
- package/dist/873.bundle.js +1 -1
- package/dist/882.bundle.js +1 -1
- package/dist/93.bundle.js +1 -0
- package/dist/972.bundle.js +1 -1
- package/dist/main.bundle.js +1 -2
- package/dist/src/api/HotelAPI.d.ts +1 -1
- package/dist/src/api/HotelAPI.js.map +1 -1
- package/dist/src/api/ReservationAPI.d.ts +0 -6
- package/dist/src/api/ReservationAPI.js.map +1 -1
- package/dist/src/api/events-service/EventsServiceAPI.d.ts +3 -0
- package/dist/src/api/events-service/EventsServiceAPI.js +62 -0
- package/dist/src/api/events-service/EventsServiceAPI.js.map +1 -0
- package/dist/src/components/Event/EventCarouselContainer.d.ts +8 -0
- package/dist/src/components/Event/EventCarouselContainer.js +97 -0
- package/dist/src/components/Event/EventCarouselContainer.js.map +1 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.d.ts +1 -0
- package/dist/src/components/User/Forms/ForgotPasswordForm.js +38 -24
- package/dist/src/components/User/Forms/ForgotPasswordForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignInForm.d.ts +4 -3
- package/dist/src/components/User/Forms/SignInForm.js +32 -14
- package/dist/src/components/User/Forms/SignInForm.js.map +1 -1
- package/dist/src/components/User/Forms/SignUpForm.d.ts +1 -0
- package/dist/src/components/User/Forms/SignUpForm.js +30 -26
- package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizard.js +5 -2
- package/dist/src/components/generic/BookingWizard/BookingWizard.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js +6 -3
- package/dist/src/components/generic/BookingWizard/BookingWizardContent.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js +8 -5
- package/dist/src/components/generic/BookingWizard/BookingWizardDateSelector/BookingWizardDateSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js +15 -9
- package/dist/src/components/generic/BookingWizard/BookingWizardGuestSelector/BookingWizardGuestSelector.js.map +1 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js +4 -1
- package/dist/src/components/generic/BookingWizard/BookingWizardHotelSelector/BookingWizardHotelSelector.js.map +1 -1
- package/dist/src/components/generic/Currency.js +5 -5
- package/dist/src/components/generic/Currency.js.map +1 -1
- package/dist/src/components/generic/Event/EventCard.d.ts +8 -0
- package/dist/src/components/generic/Event/EventCard.js +70 -0
- package/dist/src/components/generic/Event/EventCard.js.map +1 -0
- package/dist/src/components/generic/Event/EventCarousel.d.ts +9 -0
- package/dist/src/components/generic/Event/EventCarousel.js +72 -0
- package/dist/src/components/generic/Event/EventCarousel.js.map +1 -0
- package/dist/src/components/generic/Headline.d.ts +2 -2
- package/dist/src/components/generic/Headline.js +8 -4
- package/dist/src/components/generic/Headline.js.map +1 -1
- package/dist/src/components/generic/Icon/Icon.d.ts +5 -1
- package/dist/src/components/generic/Icon/Icon.js +4 -0
- package/dist/src/components/generic/Icon/Icon.js.map +1 -1
- package/dist/src/components/generic/Overlay/Overlay.d.ts +2 -1
- package/dist/src/components/generic/Overlay/Overlay.js +50 -7
- package/dist/src/components/generic/Overlay/Overlay.js.map +1 -1
- package/dist/src/components/generic/PasswordBox/PasswordBox.js +2 -2
- package/dist/src/components/generic/PasswordBox/PasswordBox.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.d.ts +8 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js +16 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentCard.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.d.ts +8 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js +61 -0
- package/dist/src/components/generic/PaymentCard/InlinePaymentOption.js.map +1 -0
- package/dist/src/components/generic/PaymentCard/PaymentCard.js +6 -3
- package/dist/src/components/generic/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.d.ts +2 -3
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js +34 -28
- package/dist/src/components/generic/PaymentCard/PaymentCardInput.js.map +1 -1
- package/dist/src/components/generic/PromoCodeInput.js +15 -18
- package/dist/src/components/generic/PromoCodeInput.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.d.ts +5 -4
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js +33 -10
- package/dist/src/components/generic/RadioButtonGroup/RadioButton.js.map +1 -1
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.d.ts +14 -11
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js +69 -11
- package/dist/src/components/generic/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/src/components/generic/RatioImage/RatioImage.d.ts +11 -0
- package/dist/src/components/generic/RatioImage/RatioImage.js +12 -0
- package/dist/src/components/generic/RatioImage/RatioImage.js.map +1 -0
- package/dist/src/components/generic/RecentSearchesCard.js +6 -5
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/Tabs/TabLink.js +28 -3
- package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
- package/dist/src/components/generic/TextBox.js +1 -1
- package/dist/src/components/generic/TextBox.js.map +1 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js +4 -1
- package/dist/src/components/generic/badging/SSLSecureBadge.js.map +1 -1
- package/dist/src/components/generic/buttons/NextStepButton.d.ts +0 -3
- package/dist/src/components/generic/buttons/NextStepButton.js +4 -1
- package/dist/src/components/generic/buttons/NextStepButton.js.map +1 -1
- package/dist/src/components/generic/loader/LargeLoader.js +31 -6
- package/dist/src/components/generic/loader/LargeLoader.js.map +1 -1
- package/dist/src/components/generic/modal/ConfirmationModal.js +6 -3
- package/dist/src/components/generic/modal/ConfirmationModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.d.ts +14 -2
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +34 -26
- package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.d.ts +7 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js +14 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/ForgotPasswordFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.d.ts +8 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js +25 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignInFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.d.ts +7 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js +49 -0
- package/dist/src/components/generic/modal/SigninModal/FormContent/SignUpFormContent.js.map +1 -0
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.d.ts +5 -2
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js +30 -39
- package/dist/src/components/generic/modal/SigninModal/UnauthenticatedUserModal.js.map +1 -1
- package/dist/src/components/generic/print/NoPrint.d.ts +3 -0
- package/dist/src/components/generic/print/NoPrint.js +11 -0
- package/dist/src/components/generic/print/NoPrint.js.map +1 -0
- package/dist/src/components/generic/print/PrintOnly.d.ts +3 -0
- package/dist/src/components/generic/print/PrintOnly.js +11 -0
- package/dist/src/components/generic/print/PrintOnly.js.map +1 -0
- package/dist/src/components/graphics/AddCard.d.ts +7 -0
- package/dist/src/components/graphics/AddCard.js +28 -0
- package/dist/src/components/graphics/AddCard.js.map +1 -0
- package/dist/src/components/graphics/HomeEmptyCard.d.ts +7 -0
- package/dist/src/components/graphics/HomeEmptyCard.js +53 -0
- package/dist/src/components/graphics/HomeEmptyCard.js.map +1 -0
- package/dist/src/components/graphics/HomeEmptyReservation.d.ts +7 -0
- package/dist/src/components/graphics/HomeEmptyReservation.js +136 -0
- package/dist/src/components/graphics/HomeEmptyReservation.js.map +1 -0
- package/dist/src/components/iconComponents/CreditCardOff.d.ts +6 -0
- package/dist/src/components/iconComponents/CreditCardOff.js +16 -0
- package/dist/src/components/iconComponents/CreditCardOff.js.map +1 -0
- package/dist/src/components/members/EditMyProfile.js +19 -21
- package/dist/src/components/members/EditMyProfile.js.map +1 -1
- package/dist/src/components/navigation/Header.js +29 -9
- package/dist/src/components/navigation/Header.js.map +1 -1
- package/dist/src/components/navigation/StepSelector.js +2 -1
- package/dist/src/components/navigation/StepSelector.js.map +1 -1
- package/dist/src/components/pages/Account/Card/MemberCardItem.js +5 -2
- package/dist/src/components/pages/Account/Card/MemberCardItem.js.map +1 -1
- package/dist/src/components/reservation/EmptyReservation.js +3 -3
- package/dist/src/components/reservation/EmptyReservation.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.d.ts +4 -3
- package/dist/src/components/reservation/ReservationItem.js +45 -33
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/reservation/ReservationList.d.ts +2 -2
- package/dist/src/components/reservation/ReservationList.js +1 -1
- package/dist/src/components/reservation/ReservationList.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +15 -10
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/addons/AddonCard.js +10 -12
- package/dist/src/components/steps/addons/AddonCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/AcceptablePaymentCard.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js +26 -7
- package/dist/src/components/steps/confirmation/PaymentDetails/ExistingCardPicker.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.d.ts +1 -2
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js +36 -44
- package/dist/src/components/steps/confirmation/PaymentDetails/StepConfirmationPaymentDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/PaymentInformation.d.ts +7 -0
- package/dist/src/components/steps/confirmation/PaymentInformation.js +119 -0
- package/dist/src/components/steps/confirmation/PaymentInformation.js.map +1 -0
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js +12 -10
- package/dist/src/components/steps/confirmation/StepConfirmationCheckoutDifferencesModal.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js +43 -80
- package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js +7 -5
- package/dist/src/components/steps/confirmation/StepConfirmationLimitedOffer.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js +10 -12
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffers.js.map +1 -1
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js +8 -2
- package/dist/src/components/steps/confirmation/additionalOffers/AdditionalOffersColumn.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePicker.js +9 -9
- package/dist/src/components/steps/date/PeoplePicker.js.map +1 -1
- package/dist/src/components/steps/date/PeoplePickerRow.js.map +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.d.ts +1 -1
- package/dist/src/components/steps/date/StepOneNextStepButton.js +2 -4
- package/dist/src/components/steps/date/StepOneNextStepButton.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCard.js +5 -11
- package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelCardModal.js +5 -6
- package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
- package/dist/src/components/steps/hotel/HotelSearchParameters.js +8 -8
- package/dist/src/components/steps/hotel/HotelSearchParameters.js.map +1 -1
- package/dist/src/components/steps/room/AvailableUpgradesModal.js +8 -9
- package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
- package/dist/src/components/steps/room/InactivityWindow.js +3 -5
- package/dist/src/components/steps/room/InactivityWindow.js.map +1 -1
- package/dist/src/components/steps/room/LargeRoomCard.js +5 -4
- package/dist/src/components/steps/room/LargeRoomCard.js.map +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +42 -40
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js +7 -9
- package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
- package/dist/src/components/steps/room/RatesNotFound.js +6 -3
- package/dist/src/components/steps/room/RatesNotFound.js.map +1 -1
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js +3 -3
- package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.d.ts +2 -1
- package/dist/src/components/steps/room/StepRoomNextStepButton.js +3 -3
- package/dist/src/components/steps/room/StepRoomNextStepButton.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js +2 -6
- package/dist/src/components/steps/room/StepRoomSummaryAndButton.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js +1 -0
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgress.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +16 -18
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +2 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js +6 -3
- package/dist/src/components/steps/room/roomDetails/RoomDetailsBedsBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js +3 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsPriceBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js +7 -8
- package/dist/src/components/steps/room/roomDetails/RoomDetailsRetargeting.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js +4 -6
- package/dist/src/components/steps/room/roomDetails/roomRates/PriceBreakdownBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js +4 -5
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDescriptionTab.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js +7 -5
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateDetailsAndPriceBreakdownModal.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js +4 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateListPromotion/RoomRateListPromotion.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js +5 -2
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRatePills.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +11 -10
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js +1 -1
- package/dist/src/components/steps/room/roomFilter/AppliedFiltersBlock.js.map +1 -1
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js +7 -8
- package/dist/src/components/steps/room/roomFilter/RoomFilterOverlay.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js +4 -1
- package/dist/src/components/summary/BESummaryPerkBlock.js.map +1 -1
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js +5 -10
- package/dist/src/components/summary/BESummaryPrivacyPolicy.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +4 -6
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js +5 -1
- package/dist/src/components/summary/TransportDistanceFromHotelBlock.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +1 -0
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +36 -13
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +26 -2
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/contexts/ConfirmationFormContext.d.ts +0 -2
- package/dist/src/contexts/ConfirmationFormContext.js +0 -3
- package/dist/src/contexts/ConfirmationFormContext.js.map +1 -1
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +13 -8
- package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.d.ts +1 -6
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +24 -18
- package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +4 -0
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.d.ts +10 -6
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContext.js.map +1 -1
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js +76 -26
- package/dist/src/contexts/Members/AuthenticationContext/AuthenticationContextProvider.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.d.ts +8 -5
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContext.js.map +1 -1
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js +35 -4
- package/dist/src/contexts/Members/RoomstayMemberContext/RoomstayMemberContextProvider.js.map +1 -1
- package/dist/src/engines/BaseEngine.d.ts +2 -1
- package/dist/src/engines/BaseEngine.js +1 -1
- package/dist/src/engines/BaseEngine.js.map +1 -1
- package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +24 -25
- package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.d.ts +22 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js +33 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidget.js.map +1 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.d.ts +6 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +116 -0
- package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -0
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js +11 -10
- package/dist/src/engines/RecentSearchesEngine/RecentSearchesEngineElement.js.map +1 -1
- package/dist/src/errors/GetAvailabilityError.d.ts +2 -1
- package/dist/src/errors/GetAvailabilityError.js +10 -3
- package/dist/src/errors/GetAvailabilityError.js.map +1 -1
- package/dist/src/hooks/HistoryConsistentPush.d.ts +1 -0
- package/dist/src/hooks/HistoryConsistentPush.js +12 -0
- package/dist/src/hooks/HistoryConsistentPush.js.map +1 -0
- package/dist/src/hooks/LoggedInUserHook.d.ts +3 -3
- package/dist/src/hooks/Query.js +2 -6
- package/dist/src/hooks/Query.js.map +1 -1
- package/dist/src/hooks/UpdateQueryParameters.d.ts +1 -0
- package/dist/src/hooks/UpdateQueryParameters.js +16 -0
- package/dist/src/hooks/UpdateQueryParameters.js.map +1 -0
- package/dist/src/hooks/VGSHooks.d.ts +11 -1
- package/dist/src/hooks/VGSHooks.js +26 -11
- package/dist/src/hooks/VGSHooks.js.map +1 -1
- package/dist/src/index.d.ts +2 -3
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mockApi/HotelAPI.d.ts +1 -1
- package/dist/src/mockApi/HotelAPI.js.map +1 -1
- package/dist/src/models/Api/HotelDTO.d.ts +11 -3
- package/dist/src/models/Api/HotelDTO.js +17 -8
- package/dist/src/models/Api/HotelDTO.js.map +1 -1
- package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
- package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
- package/dist/src/models/Api/ReservationsDTO.d.ts +2 -0
- package/dist/src/models/Api/ReservationsDTO.js.map +1 -1
- package/dist/src/models/AppQueryParameters.d.ts +14 -0
- package/dist/src/models/AppQueryParameters.js +19 -0
- package/dist/src/models/AppQueryParameters.js.map +1 -0
- package/dist/src/models/BookingWizard/BookingWizardProperty.d.ts +2 -2
- package/dist/src/models/BookingWizard/BookingWizardProperty.js.map +1 -1
- package/dist/src/models/Client/Hotel/ColorProfile.d.ts +3 -0
- package/dist/src/models/Client/Hotel/ColorProfile.js.map +1 -1
- package/dist/src/models/Client/Hotel/Company.d.ts +2 -2
- package/dist/src/models/Client/Hotel/Company.js.map +1 -1
- package/dist/src/models/Client/Hotel/Hotel.d.ts +15 -5
- package/dist/src/models/Client/Hotel/Hotel.js +3 -1
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/models/Confirmation.d.ts +1 -1
- package/dist/src/models/Confirmation.js.map +1 -1
- package/dist/src/models/Room/Filters/Filter.d.ts +2 -1
- package/dist/src/models/Room/Filters/Filter.js.map +1 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.d.ts +2 -1
- package/dist/src/models/Room/Filters/RateTypeFilter.js +3 -2
- package/dist/src/models/Room/Filters/RateTypeFilter.js.map +1 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.d.ts +2 -1
- package/dist/src/models/Room/Filters/RoomTypeFilter.js +3 -2
- package/dist/src/models/Room/Filters/RoomTypeFilter.js.map +1 -1
- package/dist/src/pages/account/AccountHome/AccountHomePage.js +9 -10
- package/dist/src/pages/account/AccountHome/AccountHomePage.js.map +1 -1
- package/dist/src/pages/account/AccountRouter.js +7 -9
- package/dist/src/pages/account/AccountRouter.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js +19 -32
- package/dist/src/pages/account/Details/AccountDetailsCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js +9 -7
- package/dist/src/pages/account/Details/AccountDetailsNoCardsPage.js.map +1 -1
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js +25 -38
- package/dist/src/pages/account/Details/AccountDetailsProfilePage.js.map +1 -1
- package/dist/src/pages/account/Help/AccountHelpPage.js +16 -25
- package/dist/src/pages/account/Help/AccountHelpPage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +68 -52
- package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
- package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +40 -23
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +10 -9
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +3 -3
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +6 -6
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/steps/Step.d.ts +2 -2
- package/dist/src/pages/steps/Step.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddon.d.ts +2 -2
- package/dist/src/pages/steps/StepAddon/StepAddon.js.map +1 -1
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.d.ts +2 -2
- package/dist/src/pages/steps/StepConfirmation/StepConfirmation.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDate.d.ts +2 -2
- package/dist/src/pages/steps/StepDate/StepDate.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotel.d.ts +2 -2
- package/dist/src/pages/steps/StepHotel/StepHotel.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +10 -7
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepRoom/StepRoom.d.ts +2 -2
- package/dist/src/pages/steps/StepRoom/StepRoom.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanks.d.ts +2 -2
- package/dist/src/pages/steps/StepThanks/StepThanks.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +5 -0
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/providers/FeatureProvider.js +2 -0
- package/dist/src/providers/FeatureProvider.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.d.ts +3 -3
- package/dist/src/providers/RoomstayThemeEngine.js +4 -18
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/feature/ModifyBookingFeature.d.ts +6 -0
- package/dist/src/providers/feature/ModifyBookingFeature.js +10 -0
- package/dist/src/providers/feature/ModifyBookingFeature.js.map +1 -0
- package/dist/src/stories/EventCarousel.stories.d.ts +6 -0
- package/dist/src/stories/EventCarousel.stories.js +236 -0
- package/dist/src/stories/EventCarousel.stories.js.map +1 -0
- package/dist/src/stories/RadioButton.stories.d.ts +3 -3
- package/dist/src/stories/RadioButtonGroup.stories.d.ts +4 -1
- package/dist/src/stories/RadioButtonGroup.stories.js +73 -1
- package/dist/src/stories/RadioButtonGroup.stories.js.map +1 -1
- package/dist/src/translations/Translation.d.ts +196 -8
- package/dist/src/translations/Translation.js +198 -10
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +198 -10
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/src/util/Color.d.ts +3 -0
- package/dist/src/util/Color.js +21 -1
- package/dist/src/util/Color.js.map +1 -1
- package/dist/src/util/CurrencyHelper.d.ts +11 -3
- package/dist/src/util/CurrencyHelper.js +306 -5
- package/dist/src/util/CurrencyHelper.js.map +1 -1
- package/dist/src/util/EventsHelper.d.ts +11 -0
- package/dist/src/util/EventsHelper.js +43 -0
- package/dist/src/util/EventsHelper.js.map +1 -0
- package/dist/src/util/StringHelper.d.ts +2 -2
- package/dist/src/util/StringHelper.js +5 -4
- package/dist/src/util/StringHelper.js.map +1 -1
- package/dist/src/util/TextAlignment.d.ts +2 -1
- package/dist/src/util/TextAlignment.js +1 -0
- package/dist/src/util/TextAlignment.js.map +1 -1
- package/dist/src/util/Validation.d.ts +17 -13
- package/dist/src/util/Validation.js +34 -18
- package/dist/src/util/Validation.js.map +1 -1
- package/dist/test.bundle.js +1 -2
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.d.ts +1 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js +41 -0
- package/dist/tests/jest/engines/RoomstayThemeEngine.test.js.map +1 -0
- package/dist/tests/jest/events/EventManager.test.d.ts +1 -0
- package/dist/tests/jest/events/EventManager.test.js +101 -0
- package/dist/tests/jest/events/EventManager.test.js.map +1 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.d.ts +1 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.js +72 -0
- package/dist/tests/jest/helpers/ObjectHelper.test.js.map +1 -0
- package/dist/tests/jest/models/RoomRate.test.d.ts +1 -0
- package/dist/tests/jest/models/RoomRate.test.js +133 -0
- package/dist/tests/jest/models/RoomRate.test.js.map +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js +32 -0
- package/dist/tests/jest/providers/LanguageProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/SessionProvider.test.js +230 -0
- package/dist/tests/jest/providers/SessionProvider.test.js.map +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.d.ts +1 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js +126 -0
- package/dist/tests/jest/providers/storage/LocalStorageProvider.test.js.map +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.d.ts +1 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js +103 -0
- package/dist/tests/jest/reducers/BasketReducer.test.js.map +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.d.ts +1 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js +48 -0
- package/dist/tests/offline/RoomstayBestRateAlert.js.map +1 -0
- package/dist/tests/offline/entry/RSCompany.js +7 -2
- package/dist/tests/offline/entry/RSCompany.js.map +1 -1
- package/dist/tests/offline/entry/ReactWrapper.d.ts +1 -0
- package/dist/tests/offline/entry/ReactWrapper.js +140 -0
- package/dist/tests/offline/entry/ReactWrapper.js.map +1 -0
- package/dist/tests/offline/entry/allEngines.d.ts +1 -0
- package/dist/tests/offline/entry/allEngines.js +50 -0
- package/dist/tests/offline/entry/allEngines.js.map +1 -0
- package/dist/tests/offline/entry/components/TestPicker.d.ts +1 -0
- package/dist/tests/offline/entry/components/TestPicker.js +214 -0
- package/dist/tests/offline/entry/components/TestPicker.js.map +1 -0
- package/dist/tests/offline/entry/context/EngineContext.d.ts +9 -0
- package/dist/tests/offline/entry/context/EngineContext.js +37 -0
- package/dist/tests/offline/entry/context/EngineContext.js.map +1 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.d.ts +1 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js +68 -0
- package/dist/tests/offline/entry/engineRenderer/memberPortalWidgetRenderer.js.map +1 -0
- package/dist/tests/setupTests.d.ts +0 -0
- package/dist/tests/setupTests.js +12 -0
- package/dist/tests/setupTests.js.map +1 -0
- package/dist/vendors.bundle.js +1 -1
- package/package.json +3 -3
- package/dist/14.bundle.js +0 -1
- package/dist/559.bundle.js +0 -1
- package/dist/848.bundle.js +0 -1
- package/dist/962.bundle.js +0 -1
- package/dist/main.bundle.js.LICENSE.txt +0 -5
- package/dist/src/components/temp/Login.d.ts +0 -2
- package/dist/src/components/temp/Login.js +0 -79
- package/dist/src/components/temp/Login.js.map +0 -1
- package/dist/test.bundle.js.LICENSE.txt +0 -5
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Filter_1 = __importDefault(require("./Filter"));
|
|
7
|
+
const Translation_1 = require("../../../translations/Translation");
|
|
7
8
|
class RoomTypeFilter extends Filter_1.default {
|
|
8
9
|
constructor(roomNames) {
|
|
9
10
|
super();
|
|
@@ -12,8 +13,8 @@ class RoomTypeFilter extends Filter_1.default {
|
|
|
12
13
|
getVisibleRooms() {
|
|
13
14
|
return this.visibleRooms;
|
|
14
15
|
}
|
|
15
|
-
getLabel() {
|
|
16
|
-
return
|
|
16
|
+
getLabel(t) {
|
|
17
|
+
return t(Translation_1.Translation.Step.Room.Filter.RoomType);
|
|
17
18
|
}
|
|
18
19
|
check(room) {
|
|
19
20
|
if (this.visibleRooms.includes(room.name) || this.visibleRooms.includes(room.code)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomTypeFilter.js","sourceRoot":"/","sources":["src/models/Room/Filters/RoomTypeFilter.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;
|
|
1
|
+
{"version":3,"file":"RoomTypeFilter.js","sourceRoot":"/","sources":["src/models/Room/Filters/RoomTypeFilter.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAElD,4DAAyD;AAGzD,MAAqB,cAAe,SAAQ,gBAAM;IAG9C,YAAmB,SAAmB;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAClC,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,CAAY;QACxB,OAAO,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,IAAU;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YACpG,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAvBD,iCAuBC","sourcesContent":["import Filter from '@/models/Room/Filters/Filter';\nimport { Room } from '@/models/Room/Room';\nimport { Translation } from '@/translations/Translation';\nimport { TFunction } from 'i18next';\n\nexport default class RoomTypeFilter extends Filter {\n private visibleRooms: string[];\n\n public constructor(roomNames: string[]) {\n super();\n this.visibleRooms = roomNames;\n }\n\n public getVisibleRooms() {\n return this.visibleRooms;\n }\n\n public getLabel(t: TFunction) {\n return t(Translation.Step.Room.Filter.RoomType);\n }\n\n public check(room: Room) {\n if (this.visibleRooms.includes(room.name as string) || this.visibleRooms.includes(room.code as string)) {\n return room;\n }\n\n return null;\n }\n}\n"]}
|
|
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.AccountHomePage = void 0;
|
|
30
|
-
const react_1 =
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
31
31
|
const ReservationItem_1 = __importDefault(require("../../../components/reservation/ReservationItem"));
|
|
32
32
|
const Headline_1 = __importDefault(require("../../../components/generic/Headline"));
|
|
33
33
|
const Text_1 = __importStar(require("../../../components/generic/Text"));
|
|
@@ -40,15 +40,14 @@ const StepManager_1 = __importDefault(require("../../../util/StepManager"));
|
|
|
40
40
|
const hooks_1 = require("../../../hooks/index.js");
|
|
41
41
|
const react_i18next_1 = require("react-i18next");
|
|
42
42
|
const Translation_1 = require("translations/Translation");
|
|
43
|
-
const react_2 = require("react");
|
|
44
43
|
const contexts_1 = require("../../../contexts/index.js");
|
|
45
44
|
const ScreenSize_1 = __importDefault(require("../../../util/ScreenSize"));
|
|
46
45
|
const AccountRoutes_1 = require("../AccountRoutes");
|
|
47
|
-
const
|
|
46
|
+
const HomeEmptyReservation_1 = __importDefault(require("../../../components/graphics/HomeEmptyReservation"));
|
|
48
47
|
const AccountHomePage = () => {
|
|
49
48
|
const { fullName, upcomingBookings } = (0, hooks_1.useMember)();
|
|
50
49
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
51
|
-
const context = (0,
|
|
50
|
+
const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
|
|
52
51
|
const isMobile = context.screenSize <= ScreenSize_1.default.Large;
|
|
53
52
|
const firstStepUrl = StepManager_1.default.getFirstStep().getStepUrl();
|
|
54
53
|
const hasBookings = (upcomingBookings === null || upcomingBookings === void 0 ? void 0 : upcomingBookings.length) > 0;
|
|
@@ -63,9 +62,9 @@ const AccountHomePage = () => {
|
|
|
63
62
|
fullName,
|
|
64
63
|
"!"),
|
|
65
64
|
hasBookings ? (react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Body }, t(Translation_1.Translation.UserPortal.HomeScreen.Subtitle))) : (react_1.default.createElement(Text_1.default, { className: "u-marg-top" }, t(Translation_1.Translation.Reservation.EmptyPage.SubTitle)))),
|
|
66
|
-
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" }, hasBookings ? (react_1.default.createElement(ReservationItem_1.default, { itineraryItem: upcomingBookings === null || upcomingBookings === void 0 ? void 0 : upcomingBookings[0] })) : (react_1.default.createElement("div", { className: "u-marg-top--heavy u-flex u-flex-align-center u-flex-direction-column@l- u-flex-gap" },
|
|
65
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--heavy" }, hasBookings ? (react_1.default.createElement(ReservationItem_1.default, { itineraryItem: upcomingBookings === null || upcomingBookings === void 0 ? void 0 : upcomingBookings[0], defaultEventsExpanded: true })) : (react_1.default.createElement("div", { className: "u-marg-top--heavy u-flex u-flex-align-center u-flex-direction-column@l- u-flex-gap" },
|
|
67
66
|
react_1.default.createElement("div", null,
|
|
68
|
-
react_1.default.createElement(
|
|
67
|
+
react_1.default.createElement(HomeEmptyReservation_1.default, { className: "mw-100" })),
|
|
69
68
|
react_1.default.createElement("div", { className: "u-marg-top--heavy@m-" },
|
|
70
69
|
react_1.default.createElement(Headline_1.default, { size: "large" }, t(Translation_1.Translation.Reservation.EmptyPage.Message)),
|
|
71
70
|
react_1.default.createElement(Text_1.default, { color: Color_1.Color.DarkGrey, type: Text_1.TextType.Small, className: "u-marg-top--light" }, t(Translation_1.Translation.Reservation.EmptyPage.SubMessage)),
|
|
@@ -76,28 +75,28 @@ const AccountHomePage = () => {
|
|
|
76
75
|
react_1.default.createElement(BEButton_1.default, { wide: isMobile, rounded: true, icon: Icon_1.IconType.ArrowRight, iconPosition: "right" }, t(Translation_1.Translation.Reservation.EmptyPage.SeeAll)))))))),
|
|
77
76
|
react_1.default.createElement("div", { className: "row" },
|
|
78
77
|
react_1.default.createElement("div", { className: "col-md-3" },
|
|
79
|
-
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.Info, title:
|
|
78
|
+
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.Info, title: t(Translation_1.Translation.UserPortal.HomeScreen.ViewAllBookings), description: "See all of your bookings, past, present and cancelled.", link: {
|
|
80
79
|
text: 'See list',
|
|
81
80
|
pathTo: AccountRoutes_1.AccountRoutes.Reservations.path,
|
|
82
81
|
icon: 'arrow',
|
|
83
82
|
color: Color_1.Color.Accent,
|
|
84
83
|
} })),
|
|
85
84
|
react_1.default.createElement("div", { className: "col-md-3" },
|
|
86
|
-
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.Person, title:
|
|
85
|
+
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.Person, title: t(Translation_1.Translation.Navigation.Menu.ProfileInformation), description: "Edit your personal details, like address, and name", link: {
|
|
87
86
|
text: 'Edit Info',
|
|
88
87
|
pathTo: AccountRoutes_1.AccountRoutes.ProfileDetails.path,
|
|
89
88
|
icon: 'arrow',
|
|
90
89
|
color: Color_1.Color.Accent,
|
|
91
90
|
} })),
|
|
92
91
|
react_1.default.createElement("div", { className: "col-md-3" },
|
|
93
|
-
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.CreditCard, title:
|
|
92
|
+
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.CreditCard, title: t(Translation_1.Translation.Navigation.Menu.PaymentInformation), description: "Effortlessly manage cards for smoother checkout", link: {
|
|
94
93
|
text: 'Manage cards',
|
|
95
94
|
pathTo: AccountRoutes_1.AccountRoutes.CardDetails.path,
|
|
96
95
|
icon: 'arrow',
|
|
97
96
|
color: Color_1.Color.Accent,
|
|
98
97
|
} })),
|
|
99
98
|
react_1.default.createElement("div", { className: "col-md-3" },
|
|
100
|
-
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.Time, title:
|
|
99
|
+
react_1.default.createElement(IconNavCard_1.IconNavCard, { icon: Icon_1.IconType.Time, title: t(Translation_1.Translation.Navigation.Menu.NeedHelp), description: "Connect with our hotel staff for prompt assistance", link: {
|
|
101
100
|
text: 'Contact now',
|
|
102
101
|
pathTo: AccountRoutes_1.AccountRoutes.Help.path,
|
|
103
102
|
icon: 'arrow',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountHomePage.js","sourceRoot":"/","sources":["src/pages/account/AccountHome/AccountHomePage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReservationItem from '@/components/reservation/ReservationItem';\nimport Headline from '@/components/generic/Headline';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { IconNavCard } from '@/components/generic/Card/IconNavCard/IconNavCard';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport { Color } from '@/util/Color';\nimport BEButton from '@/components/generic/BEButton';\nimport { Link } from 'react-router-dom';\nimport StepManager from '@/util/StepManager';\nimport { useMember } from '@frontend/hooks';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport { useContext } from 'react';\nimport { BookingEngineContext, IRoomstayMemberBookingItemWithRef } from '@frontend/contexts';\nimport ScreenSize from '@/util/ScreenSize';\nimport { AccountRoutes } from '@/pages/account/AccountRoutes';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\n\nexport const AccountHomePage = () => {\n const { fullName, upcomingBookings } = useMember();\n const { t } = useTranslation();\n\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const firstStepUrl = StepManager.getFirstStep().getStepUrl();\n\n const hasBookings = (upcomingBookings?.length as number) > 0;\n\n return (\n <div>\n <div className=\"u-marg-top--heavy@m u-marg-top@m- u-marg-bottom\">\n <Link to={StepManager.getFirstStep().getStepUrl()}>\n <BEButton isText icon={IconType.ArrowLeft} size=\"small\">\n {t(Translation.UserPortal.HomeScreen.BackToBooking)}\n </BEButton>\n </Link>\n </div>\n <div className=\"u-marg-bottom--heavy u-pad-top@m\">\n <Headline size=\"extra-large\" className=\"u-marg-bottom\">\n {t(Translation.UserPortal.HomeScreen.Title)} {fullName}!\n </Headline>\n {hasBookings ? (\n <Text type={TextType.Body}>{t(Translation.UserPortal.HomeScreen.Subtitle)}</Text>\n ) : (\n <Text className=\"u-marg-top\">{t(Translation.Reservation.EmptyPage.SubTitle)}</Text>\n )}\n </div>\n\n <div className=\"u-marg-bottom--heavy\">\n {hasBookings ? (\n <ReservationItem itineraryItem={upcomingBookings?.[0] as IRoomstayMemberBookingItemWithRef} />\n ) : (\n <div className=\"u-marg-top--heavy u-flex u-flex-align-center u-flex-direction-column@l- u-flex-gap\">\n <div>\n <img className=\"mw-100\" src={RoomstayThemeEngine.getImageAssetUrl('account/account-home-empty-graphic.svg')} alt=\"Account homepage image\" />\n </div>\n <div className=\"u-marg-top--heavy@m-\">\n <Headline size=\"large\">{t(Translation.Reservation.EmptyPage.Message)}</Headline>\n <Text color={Color.DarkGrey} type={TextType.Small} className=\"u-marg-top--light\">\n {t(Translation.Reservation.EmptyPage.SubMessage)}\n </Text>\n <div className=\"u-marg-top--heavy u-flex u-flex-flex-start u-flex-gap--light u-flex-direction-column@l-\">\n <Link to={firstStepUrl}>\n <BEButton wide={isMobile} rounded filled icon={IconType.ArrowRight} iconPosition=\"right\" primary>\n {t(Translation.Reservation.EmptyPage.SearchRooms)}\n </BEButton>\n </Link>\n <Link to={AccountRoutes.Reservations.path}>\n <BEButton wide={isMobile} rounded icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.Reservation.EmptyPage.SeeAll)}\n </BEButton>\n </Link>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div className=\"row\">\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.Info}\n title=\"View all bookings\"\n description=\"See all of your bookings, past, present and cancelled.\"\n link={{\n text: 'See list',\n pathTo: AccountRoutes.Reservations.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.Person}\n title=\"Profile Information\"\n description=\"Edit your personal details, like address, and name\"\n link={{\n text: 'Edit Info',\n pathTo: AccountRoutes.ProfileDetails.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.CreditCard}\n title=\"Payment Information\"\n description=\"Effortlessly manage cards for smoother checkout\"\n link={{\n text: 'Manage cards',\n pathTo: AccountRoutes.CardDetails.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.Time}\n title=\"Need Help?\"\n description=\"Connect with our hotel staff for prompt assistance\"\n link={{\n text: 'Contact now',\n pathTo: AccountRoutes.Help.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n </div>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"AccountHomePage.js","sourceRoot":"/","sources":["src/pages/account/AccountHome/AccountHomePage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport ReservationItem from '@/components/reservation/ReservationItem';\nimport Headline from '@/components/generic/Headline';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { IconNavCard } from '@/components/generic/Card/IconNavCard/IconNavCard';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport { Color } from '@/util/Color';\nimport BEButton from '@/components/generic/BEButton';\nimport { Link } from 'react-router-dom';\nimport StepManager from '@/util/StepManager';\nimport { useMember } from '@frontend/hooks';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport { BookingEngineContext, IRoomstayMemberBookingItemWithRefAndHotelDetails } from '@frontend/contexts';\nimport ScreenSize from '@/util/ScreenSize';\nimport { AccountRoutes } from '@/pages/account/AccountRoutes';\nimport HomeEmptyReservation from '@/components/graphics/HomeEmptyReservation';\n\nexport const AccountHomePage = () => {\n const { fullName, upcomingBookings } = useMember();\n const { t } = useTranslation();\n\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Large;\n\n const firstStepUrl = StepManager.getFirstStep().getStepUrl();\n\n const hasBookings = (upcomingBookings?.length as number) > 0;\n\n return (\n <div>\n <div className=\"u-marg-top--heavy@m u-marg-top@m- u-marg-bottom\">\n <Link to={StepManager.getFirstStep().getStepUrl()}>\n <BEButton isText icon={IconType.ArrowLeft} size=\"small\">\n {t(Translation.UserPortal.HomeScreen.BackToBooking)}\n </BEButton>\n </Link>\n </div>\n <div className=\"u-marg-bottom--heavy u-pad-top@m\">\n <Headline size=\"extra-large\" className=\"u-marg-bottom\">\n {t(Translation.UserPortal.HomeScreen.Title)} {fullName}!\n </Headline>\n {hasBookings ? (\n <Text type={TextType.Body}>{t(Translation.UserPortal.HomeScreen.Subtitle)}</Text>\n ) : (\n <Text className=\"u-marg-top\">{t(Translation.Reservation.EmptyPage.SubTitle)}</Text>\n )}\n </div>\n\n <div className=\"u-marg-bottom--heavy\">\n {hasBookings ? (\n <ReservationItem itineraryItem={upcomingBookings?.[0] as IRoomstayMemberBookingItemWithRefAndHotelDetails} defaultEventsExpanded />\n ) : (\n <div className=\"u-marg-top--heavy u-flex u-flex-align-center u-flex-direction-column@l- u-flex-gap\">\n <div>\n <HomeEmptyReservation className=\"mw-100\" />\n </div>\n <div className=\"u-marg-top--heavy@m-\">\n <Headline size=\"large\">{t(Translation.Reservation.EmptyPage.Message)}</Headline>\n <Text color={Color.DarkGrey} type={TextType.Small} className=\"u-marg-top--light\">\n {t(Translation.Reservation.EmptyPage.SubMessage)}\n </Text>\n <div className=\"u-marg-top--heavy u-flex u-flex-flex-start u-flex-gap--light u-flex-direction-column@l-\">\n <Link to={firstStepUrl}>\n <BEButton wide={isMobile} rounded filled icon={IconType.ArrowRight} iconPosition=\"right\" primary>\n {t(Translation.Reservation.EmptyPage.SearchRooms)}\n </BEButton>\n </Link>\n <Link to={AccountRoutes.Reservations.path}>\n <BEButton wide={isMobile} rounded icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.Reservation.EmptyPage.SeeAll)}\n </BEButton>\n </Link>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div className=\"row\">\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.Info}\n title={t(Translation.UserPortal.HomeScreen.ViewAllBookings)}\n description=\"See all of your bookings, past, present and cancelled.\"\n link={{\n text: 'See list',\n pathTo: AccountRoutes.Reservations.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.Person}\n title={t(Translation.Navigation.Menu.ProfileInformation)}\n description=\"Edit your personal details, like address, and name\"\n link={{\n text: 'Edit Info',\n pathTo: AccountRoutes.ProfileDetails.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.CreditCard}\n title={t(Translation.Navigation.Menu.PaymentInformation)}\n description=\"Effortlessly manage cards for smoother checkout\"\n link={{\n text: 'Manage cards',\n pathTo: AccountRoutes.CardDetails.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n\n <div className=\"col-md-3\">\n <IconNavCard\n icon={IconType.Time}\n title={t(Translation.Navigation.Menu.NeedHelp)}\n description=\"Connect with our hotel staff for prompt assistance\"\n link={{\n text: 'Contact now',\n pathTo: AccountRoutes.Help.path,\n icon: 'arrow',\n color: Color.Accent,\n }}\n />\n </div>\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -14,17 +14,15 @@ const AccountDetailsProfilePage_1 = require("./Details/AccountDetailsProfilePage
|
|
|
14
14
|
const AccountDetailsCardsPage_1 = require("./Details/AccountDetailsCardsPage");
|
|
15
15
|
const AccountHelpPage_1 = require("./Help/AccountHelpPage");
|
|
16
16
|
const AccountRoutes_1 = require("./AccountRoutes");
|
|
17
|
-
const PrivateRoute_1 = require("../../containers/PrivateRoute");
|
|
18
17
|
const AccountRouter = () => {
|
|
19
18
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
20
|
-
react_1.default.createElement(
|
|
21
|
-
react_1.default.createElement(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
react_1.default.createElement(react_router_dom_1.Route, { path: AccountRoutes_1.AccountRoutes.Help.path, component: AccountHelpPage_1.AccountHelpPage })))));
|
|
19
|
+
react_1.default.createElement(AccountOutlet_1.AccountOutlet, null,
|
|
20
|
+
react_1.default.createElement(react_router_dom_1.Route, { path: AccountRoutes_1.AccountRoutes.Home.path, component: AccountHomePage_1.AccountHomePage }),
|
|
21
|
+
react_1.default.createElement(react_router_dom_1.Route, { path: AccountRoutes_1.AccountRoutes.Reservations.matchPath, component: AccountReservationsPage_1.AccountReservationPage, exact: true }),
|
|
22
|
+
react_1.default.createElement(react_router_dom_1.Route, { path: AccountRoutes_1.AccountRoutes.SingleReservation.matchPath, component: AccountReservationSinglePage_1.AccountReservationSinglePage }),
|
|
23
|
+
react_1.default.createElement(react_router_dom_1.Route, { path: AccountRoutes_1.AccountRoutes.ProfileDetails.path, component: AccountDetailsProfilePage_1.AccountDetailsProfilePage }),
|
|
24
|
+
react_1.default.createElement(react_router_dom_1.Route, { path: AccountRoutes_1.AccountRoutes.CardDetails.path, component: AccountDetailsCardsPage_1.AccountDetailsCardsPage }),
|
|
25
|
+
react_1.default.createElement(react_router_dom_1.Route, { path: AccountRoutes_1.AccountRoutes.Help.path, component: AccountHelpPage_1.AccountHelpPage }))));
|
|
28
26
|
};
|
|
29
27
|
exports.AccountRouter = AccountRouter;
|
|
30
28
|
//# sourceMappingURL=AccountRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountRouter.js","sourceRoot":"/","sources":["src/pages/account/AccountRouter.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAyC;AACzC,iEAA8D;AAC9D,iFAA8E;AAC9E,kGAA8F;AAC9F,4GAAyG;AACzG,iGAA8F;AAC9F,6FAA0F;AAC1F,0EAAuE;AACvE,mDAAgD;
|
|
1
|
+
{"version":3,"file":"AccountRouter.js","sourceRoot":"/","sources":["src/pages/account/AccountRouter.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAyC;AACzC,iEAA8D;AAC9D,iFAA8E;AAC9E,kGAA8F;AAC9F,4GAAyG;AACzG,iGAA8F;AAC9F,6FAA0F;AAC1F,0EAAuE;AACvE,mDAAgD;AAGzC,MAAM,aAAa,GAAG,GAAG,EAAE;IAC9B,OAAO,CACH;QACI,8BAAC,6BAAa;YACV,8BAAC,wBAAK,IAAC,IAAI,EAAE,6BAAa,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,iCAAe,GAAI;YACpE,8BAAC,wBAAK,IAAC,IAAI,EAAE,6BAAa,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,gDAAsB,EAAE,KAAK,SAAG;YAE9F,8BAAC,wBAAK,IAAC,IAAI,EAAE,6BAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,2DAA4B,GAAI;YAEnG,8BAAC,wBAAK,IAAC,IAAI,EAAE,6BAAa,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,qDAAyB,GAAI;YACxF,8BAAC,wBAAK,IAAC,IAAI,EAAE,6BAAa,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,iDAAuB,GAAI;YAEnF,8BAAC,wBAAK,IAAC,IAAI,EAAE,6BAAa,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,iCAAe,GAAI,CACxD,CACjB,CACN,CAAC;AACN,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB","sourcesContent":["import React from 'react';\nimport { Route } from 'react-router-dom';\nimport { AccountOutlet } from '@/pages/account/AccountOutlet';\nimport { AccountHomePage } from '@/pages/account/AccountHome/AccountHomePage';\nimport { AccountReservationPage } from '@/pages/account/Reservations/AccountReservationsPage';\nimport { AccountReservationSinglePage } from '@/pages/account/Reservations/AccountReservationSinglePage';\nimport { AccountDetailsProfilePage } from '@/pages/account/Details/AccountDetailsProfilePage';\nimport { AccountDetailsCardsPage } from '@/pages/account/Details/AccountDetailsCardsPage';\nimport { AccountHelpPage } from '@/pages/account/Help/AccountHelpPage';\nimport { AccountRoutes } from './AccountRoutes';\nimport { PrivateRoute } from '@/containers/PrivateRoute';\n\nexport const AccountRouter = () => {\n return (\n <>\n <AccountOutlet>\n <Route path={AccountRoutes.Home.path} component={AccountHomePage} />\n <Route path={AccountRoutes.Reservations.matchPath} component={AccountReservationPage} exact />\n\n <Route path={AccountRoutes.SingleReservation.matchPath} component={AccountReservationSinglePage} />\n\n <Route path={AccountRoutes.ProfileDetails.path} component={AccountDetailsProfilePage} />\n <Route path={AccountRoutes.CardDetails.path} component={AccountDetailsCardsPage} />\n\n <Route path={AccountRoutes.Help.path} component={AccountHelpPage} />\n </AccountOutlet>\n </>\n );\n};\n"]}
|
|
@@ -50,9 +50,11 @@ const MembersServiceAPI_1 = require("../../../api/members-service/MembersService
|
|
|
50
50
|
const Fade_1 = __importDefault(require("../../../animations/Fade"));
|
|
51
51
|
const AccountDetailsNoCardsPage_1 = require("./AccountDetailsNoCardsPage");
|
|
52
52
|
const LargeLoader_1 = __importDefault(require("../../../components/generic/loader/LargeLoader"));
|
|
53
|
+
const react_i18next_1 = require("react-i18next");
|
|
54
|
+
const Translation_1 = require("../../../translations/Translation");
|
|
53
55
|
const AccountDetailsCardsPage = (ref) => {
|
|
54
56
|
var _a, _b;
|
|
55
|
-
const { roomstayMember, cards: memberCards, updateCardToMemberDetail, fetchRoomstayMember, updateMemberDetails, loading } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
|
|
57
|
+
const { roomstayMember, cards: memberCards = [], updateCardToMemberDetail, fetchRoomstayMember, updateMemberDetails, loading } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
|
|
56
58
|
const emptyCard = (0, react_1.useMemo)(() => ({
|
|
57
59
|
cardId: '',
|
|
58
60
|
cardNumber: '',
|
|
@@ -62,7 +64,8 @@ const AccountDetailsCardsPage = (ref) => {
|
|
|
62
64
|
type: '',
|
|
63
65
|
username: (roomstayMember === null || roomstayMember === void 0 ? void 0 : roomstayMember.username) || '',
|
|
64
66
|
}), [roomstayMember]);
|
|
65
|
-
const
|
|
67
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
68
|
+
const [selectedCard, setSelectedCard] = (0, react_1.useState)(emptyCard);
|
|
66
69
|
const [isAddingCard, setIsAddingCard] = (0, react_1.useState)(!!((_a = roomstayMember === null || roomstayMember === void 0 ? void 0 : roomstayMember.cards) === null || _a === void 0 ? void 0 : _a.length));
|
|
67
70
|
(0, react_1.useEffect)(() => {
|
|
68
71
|
var _a;
|
|
@@ -71,31 +74,12 @@ const AccountDetailsCardsPage = (ref) => {
|
|
|
71
74
|
}
|
|
72
75
|
}, [(_b = roomstayMember === null || roomstayMember === void 0 ? void 0 : roomstayMember.cards) === null || _b === void 0 ? void 0 : _b.length]);
|
|
73
76
|
(0, react_1.useEffect)(() => {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// Check if user has no cards, set the selected card to be empty in that case.
|
|
85
|
-
if ((memberCards === null || memberCards === void 0 ? void 0 : memberCards.length) === 0) {
|
|
86
|
-
setSelectedCard(emptyCard);
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (((!selectedCard || (selectedCard === null || selectedCard === void 0 ? void 0 : selectedCard.cardId) === emptyCard.cardId) && (memberCards === null || memberCards === void 0 ? void 0 : memberCards.length) > 0) || (!cardExists && (selectedCard === null || selectedCard === void 0 ? void 0 : selectedCard.cardId) !== '')) {
|
|
90
|
-
if (roomstayMember === null || roomstayMember === void 0 ? void 0 : roomstayMember.defaultCard) {
|
|
91
|
-
for (const card of memberCards) {
|
|
92
|
-
if (card.cardId === roomstayMember.defaultCard) {
|
|
93
|
-
setSelectedCard(memberCards === null || memberCards === void 0 ? void 0 : memberCards[0]);
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
setSelectedCard(memberCards === null || memberCards === void 0 ? void 0 : memberCards[0]);
|
|
77
|
+
const existedCard = memberCards.find((card) => card.cardId === selectedCard.cardId);
|
|
78
|
+
if (!existedCard) {
|
|
79
|
+
if (memberCards.length)
|
|
80
|
+
setSelectedCard(memberCards[0]);
|
|
81
|
+
else
|
|
82
|
+
setSelectedCard(emptyCard);
|
|
99
83
|
}
|
|
100
84
|
}, [roomstayMember, memberCards === null || memberCards === void 0 ? void 0 : memberCards.length]);
|
|
101
85
|
const onNewCardClicked = () => {
|
|
@@ -104,15 +88,17 @@ const AccountDetailsCardsPage = (ref) => {
|
|
|
104
88
|
const onCardChangedSubmit = (card) => __awaiter(void 0, void 0, void 0, function* () {
|
|
105
89
|
// TODO: Add loading
|
|
106
90
|
if (!card.cardId) {
|
|
107
|
-
(0, MembersServiceAPI_1.AddMemberCard)(card).then((newCard) => {
|
|
91
|
+
return (0, MembersServiceAPI_1.AddMemberCard)(card).then((newCard) => {
|
|
108
92
|
setSelectedCard(Object.assign(Object.assign({}, card), newCard));
|
|
109
93
|
updateCardToMemberDetail === null || updateCardToMemberDetail === void 0 ? void 0 : updateCardToMemberDetail(newCard);
|
|
94
|
+
return newCard;
|
|
110
95
|
});
|
|
111
96
|
}
|
|
112
97
|
else
|
|
113
|
-
(0, MembersServiceAPI_1.EditMemberCard)(card).then((res) => {
|
|
98
|
+
return (0, MembersServiceAPI_1.EditMemberCard)(card).then((res) => {
|
|
114
99
|
setSelectedCard(card);
|
|
115
100
|
updateCardToMemberDetail === null || updateCardToMemberDetail === void 0 ? void 0 : updateCardToMemberDetail(res);
|
|
101
|
+
return res;
|
|
116
102
|
});
|
|
117
103
|
});
|
|
118
104
|
const onDeleteClicked = (card) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -126,19 +112,20 @@ const AccountDetailsCardsPage = (ref) => {
|
|
|
126
112
|
});
|
|
127
113
|
const onMarkedAsDefault = (card) => __awaiter(void 0, void 0, void 0, function* () {
|
|
128
114
|
yield (updateMemberDetails === null || updateMemberDetails === void 0 ? void 0 : updateMemberDetails(Object.assign(Object.assign({}, roomstayMember), { defaultCard: card === null || card === void 0 ? void 0 : card.cardId })));
|
|
115
|
+
setSelectedCard(card);
|
|
129
116
|
});
|
|
130
117
|
if (loading)
|
|
131
118
|
return react_1.default.createElement(LargeLoader_1.default, null);
|
|
132
119
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
133
120
|
react_1.default.createElement("div", { className: "u-marg-top--heavy@m u-marg-top@m- u-marg-bottom--heavy" },
|
|
134
121
|
react_1.default.createElement(react_router_dom_1.Link, { to: "/account/home" },
|
|
135
|
-
react_1.default.createElement(BEButton_1.default, { isText: true, icon: Icon_1.IconType.ArrowLeft, size: "small" },
|
|
122
|
+
react_1.default.createElement(BEButton_1.default, { isText: true, icon: Icon_1.IconType.ArrowLeft, size: "small" }, t(Translation_1.Translation.Reservation.BackToYourAccount)))),
|
|
136
123
|
react_1.default.createElement("div", { className: "u-marg-bottom--heavy@m" },
|
|
137
|
-
react_1.default.createElement(Headline_1.default, { size: "extra-large", bold: true },
|
|
124
|
+
react_1.default.createElement(Headline_1.default, { size: "extra-large", bold: true }, t(Translation_1.Translation.Navigation.Menu.PaymentInformation))),
|
|
138
125
|
react_1.default.createElement(Fade_1.default, { open: isAddingCard },
|
|
139
126
|
react_1.default.createElement("div", { className: AccountDetailsCardsPage_module_scss_1.default['layout-grid'] },
|
|
140
127
|
react_1.default.createElement("div", { className: AccountDetailsCardsPage_module_scss_1.default['card-list'] },
|
|
141
|
-
react_1.default.createElement(Text_1.default, { bold: true, className: "u-marg-bottom" },
|
|
128
|
+
react_1.default.createElement(Text_1.default, { bold: true, className: "u-marg-bottom" }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.SavedCards)),
|
|
142
129
|
react_1.default.createElement(CardList_1.CardList, { onNewCardClicked: onNewCardClicked, value: selectedCard, onChange: (selectedCard) => setSelectedCard(selectedCard), options: memberCards })),
|
|
143
130
|
react_1.default.createElement(PaymentCardInput_1.PaymentCardInput, { card: selectedCard, onSubmit: onCardChangedSubmit, onDeleteClicked: onDeleteClicked, onMarkedAsDefaultClicked: onMarkedAsDefault }))),
|
|
144
131
|
!isAddingCard && react_1.default.createElement(AccountDetailsNoCardsPage_1.AccountDetailsNoCardsPage, { onAddNewCard: () => setIsAddingCard(true) })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountDetailsCardsPage.js","sourceRoot":"/","sources":["src/pages/account/Details/AccountDetailsCardsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport BEButton from '@/components/generic/BEButton';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Headline from '@/components/generic/Headline';\n\nimport styles from './AccountDetailsCardsPage.module.scss';\nimport { CardList } from '@/components/pages/Account/Card/CardList';\nimport Text from '@/components/generic/Text';\nimport { PaymentCardInput } from '@/components/generic/PaymentCard/PaymentCardInput';\nimport { RoomstayMemberContext } from '@frontend/contexts';\nimport { AddMemberCard, DeleteMemberCard, EditMemberCard } from '@/api/members-service/MembersServiceAPI';\nimport { IRoomstayMember, IRoomstayMemberCards } from '@roomstay/core';\nimport FadeAnimation from '@/animations/Fade';\nimport { AccountDetailsNoCardsPage } from '@/pages/account/Details/AccountDetailsNoCardsPage';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\n\nexport const AccountDetailsCardsPage = (ref: any) => {\n const { roomstayMember, cards: memberCards, updateCardToMemberDetail, fetchRoomstayMember, updateMemberDetails, loading } = useContext(RoomstayMemberContext);\n const emptyCard = useMemo<IRoomstayMemberCards>(\n () => ({\n cardId: '',\n cardNumber: '',\n expiry: '',\n name: '',\n securityCode: '',\n type: '',\n username: roomstayMember?.username || '',\n }),\n [roomstayMember]\n );\n\n const [selectedCard, setSelectedCard] = useState<IRoomstayMemberCards | null>(null);\n const [isAddingCard, setIsAddingCard] = useState<boolean>(!!roomstayMember?.cards?.length);\n\n useEffect(() => {\n if (roomstayMember?.cards?.length) {\n setIsAddingCard(true);\n }\n }, [roomstayMember?.cards?.length]);\n\n useEffect(() => {\n // Check if selected card is not there anymore\n let cardExists = false;\n if (selectedCard) {\n for (const newCard of memberCards as IRoomstayMemberCards[]) {\n if (newCard.cardId === selectedCard.cardId) {\n cardExists = true;\n break;\n }\n }\n }\n\n // Check if user has no cards, set the selected card to be empty in that case.\n if (memberCards?.length === 0) {\n setSelectedCard(emptyCard);\n return;\n }\n\n if (((!selectedCard || selectedCard?.cardId === emptyCard.cardId) && (memberCards?.length as number) > 0) || (!cardExists && selectedCard?.cardId !== '')) {\n if (roomstayMember?.defaultCard) {\n for (const card of memberCards as IRoomstayMemberCards[]) {\n if (card.cardId === roomstayMember.defaultCard) {\n setSelectedCard(memberCards?.[0] as IRoomstayMemberCards);\n return;\n }\n }\n }\n\n setSelectedCard(memberCards?.[0] as IRoomstayMemberCards);\n }\n }, [roomstayMember, memberCards?.length]);\n\n const onNewCardClicked = () => {\n setSelectedCard(emptyCard);\n };\n\n const onCardChangedSubmit = async (card: IRoomstayMemberCards): Promise<void> => {\n // TODO: Add loading\n if (!card.cardId) {\n AddMemberCard(card).then((newCard) => {\n setSelectedCard({ ...card, ...newCard });\n updateCardToMemberDetail?.(newCard);\n });\n } else\n EditMemberCard(card).then((res) => {\n setSelectedCard(card);\n updateCardToMemberDetail?.(res);\n });\n };\n\n const onDeleteClicked = async (card: IRoomstayMemberCards) => {\n try {\n await DeleteMemberCard(card);\n\n await fetchRoomstayMember?.();\n } catch (ex) {\n console.log('Failed deleting card');\n }\n };\n\n const onMarkedAsDefault = async (card: IRoomstayMemberCards) => {\n await updateMemberDetails?.({ ...roomstayMember, defaultCard: card?.cardId } as IRoomstayMember);\n };\n\n if (loading) return <LargeLoader />;\n\n return (\n <>\n <div className=\"u-marg-top--heavy@m u-marg-top@m- u-marg-bottom--heavy\">\n <Link to=\"/account/home\">\n <BEButton isText icon={IconType.ArrowLeft} size=\"small\">\n BACK TO YOUR ACCOUNT\n </BEButton>\n </Link>\n </div>\n <div className=\"u-marg-bottom--heavy@m\">\n <Headline size=\"extra-large\" bold>\n Payment Information\n </Headline>\n </div>\n <FadeAnimation open={isAddingCard}>\n <div className={styles['layout-grid']}>\n <div className={styles['card-list']}>\n <Text bold className=\"u-marg-bottom\">\n Saved Cards\n </Text>\n\n <CardList\n onNewCardClicked={onNewCardClicked}\n value={selectedCard as IRoomstayMemberCards}\n onChange={(selectedCard) => setSelectedCard(selectedCard)}\n options={memberCards}\n />\n </div>\n <PaymentCardInput\n card={selectedCard as IRoomstayMemberCards}\n onSubmit={onCardChangedSubmit}\n onDeleteClicked={onDeleteClicked}\n onMarkedAsDefaultClicked={onMarkedAsDefault}\n />\n </div>\n </FadeAnimation>\n {!isAddingCard && <AccountDetailsNoCardsPage onAddNewCard={() => setIsAddingCard(true)} />}\n </>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"AccountDetailsCardsPage.js","sourceRoot":"/","sources":["src/pages/account/Details/AccountDetailsCardsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport BEButton from '@/components/generic/BEButton';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Headline from '@/components/generic/Headline';\n\nimport styles from './AccountDetailsCardsPage.module.scss';\nimport { CardList } from '@/components/pages/Account/Card/CardList';\nimport Text from '@/components/generic/Text';\nimport { PaymentCardInput } from '@/components/generic/PaymentCard/PaymentCardInput';\nimport { RoomstayMemberContext } from '@frontend/contexts';\nimport { AddMemberCard, DeleteMemberCard, EditMemberCard } from '@/api/members-service/MembersServiceAPI';\nimport { IRoomstayMember, IRoomstayMemberCards } from '@roomstay/core';\nimport FadeAnimation from '@/animations/Fade';\nimport { AccountDetailsNoCardsPage } from '@/pages/account/Details/AccountDetailsNoCardsPage';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '@/translations/Translation';\n\nexport const AccountDetailsCardsPage = (ref: any) => {\n const { roomstayMember, cards: memberCards = [], updateCardToMemberDetail, fetchRoomstayMember, updateMemberDetails, loading } = useContext(RoomstayMemberContext);\n const emptyCard = useMemo<IRoomstayMemberCards>(\n () => ({\n cardId: '',\n cardNumber: '',\n expiry: '',\n name: '',\n securityCode: '',\n type: '',\n username: roomstayMember?.username || '',\n }),\n [roomstayMember]\n );\n const { t } = useTranslation();\n\n const [selectedCard, setSelectedCard] = useState<IRoomstayMemberCards>(emptyCard);\n const [isAddingCard, setIsAddingCard] = useState<boolean>(!!roomstayMember?.cards?.length);\n\n useEffect(() => {\n if (roomstayMember?.cards?.length) {\n setIsAddingCard(true);\n }\n }, [roomstayMember?.cards?.length]);\n\n useEffect(() => {\n const existedCard = memberCards.find((card) => card.cardId === selectedCard.cardId);\n if (!existedCard) {\n if (memberCards.length) setSelectedCard(memberCards[0]);\n else setSelectedCard(emptyCard);\n }\n }, [roomstayMember, memberCards?.length]);\n\n const onNewCardClicked = () => {\n setSelectedCard(emptyCard);\n };\n\n const onCardChangedSubmit = async (card: IRoomstayMemberCards): Promise<IRoomstayMemberCards> => {\n // TODO: Add loading\n if (!card.cardId) {\n return AddMemberCard(card).then((newCard) => {\n setSelectedCard({ ...card, ...newCard });\n updateCardToMemberDetail?.(newCard);\n return newCard;\n });\n } else\n return EditMemberCard(card).then((res) => {\n setSelectedCard(card);\n updateCardToMemberDetail?.(res);\n return res;\n });\n };\n\n const onDeleteClicked = async (card: IRoomstayMemberCards) => {\n try {\n await DeleteMemberCard(card);\n\n await fetchRoomstayMember?.();\n } catch (ex) {\n console.log('Failed deleting card');\n }\n };\n\n const onMarkedAsDefault = async (card: IRoomstayMemberCards) => {\n await updateMemberDetails?.({ ...roomstayMember, defaultCard: card?.cardId } as IRoomstayMember);\n setSelectedCard(card);\n };\n\n if (loading) return <LargeLoader />;\n\n return (\n <>\n <div className=\"u-marg-top--heavy@m u-marg-top@m- u-marg-bottom--heavy\">\n <Link to=\"/account/home\">\n <BEButton isText icon={IconType.ArrowLeft} size=\"small\">\n {t(Translation.Reservation.BackToYourAccount)}\n </BEButton>\n </Link>\n </div>\n <div className=\"u-marg-bottom--heavy@m\">\n <Headline size=\"extra-large\" bold>\n {t(Translation.Navigation.Menu.PaymentInformation)}\n </Headline>\n </div>\n <FadeAnimation open={isAddingCard}>\n <div className={styles['layout-grid']}>\n <div className={styles['card-list']}>\n <Text bold className=\"u-marg-bottom\">\n {t(Translation.UserPortal.PaymentInformationScreen.SavedCards)}\n </Text>\n\n <CardList\n onNewCardClicked={onNewCardClicked}\n value={selectedCard as IRoomstayMemberCards}\n onChange={(selectedCard) => setSelectedCard(selectedCard)}\n options={memberCards}\n />\n </div>\n <PaymentCardInput\n card={selectedCard as IRoomstayMemberCards}\n onSubmit={onCardChangedSubmit}\n onDeleteClicked={onDeleteClicked}\n onMarkedAsDefaultClicked={onMarkedAsDefault}\n />\n </div>\n </FadeAnimation>\n {!isAddingCard && <AccountDetailsNoCardsPage onAddNewCard={() => setIsAddingCard(true)} />}\n </>\n );\n};\n"]}
|
|
@@ -27,25 +27,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.AccountDetailsNoCardsPage = void 0;
|
|
30
|
-
const react_1 =
|
|
31
|
-
const react_2 = require("react");
|
|
32
|
-
const RoomstayThemeEngine_1 = __importDefault(require("../../../providers/RoomstayThemeEngine"));
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
33
31
|
const Headline_1 = __importDefault(require("../../../components/generic/Headline"));
|
|
34
32
|
const Color_1 = require("../../../util/Color");
|
|
35
33
|
const Text_1 = __importStar(require("../../../components/generic/Text"));
|
|
36
34
|
const BEButton_1 = __importDefault(require("../../../components/generic/BEButton"));
|
|
37
35
|
const contexts_1 = require("../../../contexts/index.js");
|
|
38
36
|
const ScreenSize_1 = __importDefault(require("../../../util/ScreenSize"));
|
|
37
|
+
const HomeEmptyCard_1 = __importDefault(require("../../../components/graphics/HomeEmptyCard"));
|
|
38
|
+
const react_i18next_1 = require("react-i18next");
|
|
39
|
+
const Translation_1 = require("../../../translations/Translation");
|
|
39
40
|
const AccountDetailsNoCardsPage = ({ onAddNewCard }) => {
|
|
40
|
-
const context = (0,
|
|
41
|
+
const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
|
|
41
42
|
const isMobile = context.screenSize <= ScreenSize_1.default.Medium;
|
|
43
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
42
44
|
return (react_1.default.createElement("div", { className: "u-align-center u-marg-top@m-" },
|
|
43
|
-
react_1.default.createElement(
|
|
44
|
-
react_1.default.createElement(Headline_1.default, { className: "u-marg-top--heavy", bold: true, size: isMobile ? 'normal' : 'large', color: Color_1.Color.Navy },
|
|
45
|
+
react_1.default.createElement(HomeEmptyCard_1.default, { className: "u-max-width-full" }),
|
|
46
|
+
react_1.default.createElement(Headline_1.default, { className: "u-marg-top--heavy", bold: true, size: isMobile ? 'normal' : 'large', color: Color_1.Color.Navy }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.YouDontHaveAnyCardsYet)),
|
|
45
47
|
react_1.default.createElement(Text_1.default, { style: {
|
|
46
48
|
maxWidth: 660,
|
|
47
49
|
}, className: "u-marg-top u-marg-left-right--auto", color: Color_1.Color.Graphite, type: isMobile ? Text_1.TextType.Small : Text_1.TextType.Body }, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."),
|
|
48
|
-
react_1.default.createElement(BEButton_1.default, { className: "u-marg-top", filled: true, primary: true, rounded: true, onClick: onAddNewCard },
|
|
50
|
+
react_1.default.createElement(BEButton_1.default, { className: "u-marg-top", filled: true, primary: true, rounded: true, onClick: onAddNewCard }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.AddNewCard))));
|
|
49
51
|
};
|
|
50
52
|
exports.AccountDetailsNoCardsPage = AccountDetailsNoCardsPage;
|
|
51
53
|
//# sourceMappingURL=AccountDetailsNoCardsPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountDetailsNoCardsPage.js","sourceRoot":"/","sources":["src/pages/account/Details/AccountDetailsNoCardsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"AccountDetailsNoCardsPage.js","sourceRoot":"/","sources":["src/pages/account/Details/AccountDetailsNoCardsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAE9C,6EAAqD;AACrD,wCAAqC;AACrC,kEAA2D;AAC3D,6EAAwE;AACxE,iDAA0D;AAC1D,mEAA2C;AAC3C,wFAAgE;AAChE,iDAA+C;AAC/C,4DAAyD;AAMlD,MAAM,yBAAyB,GAAuC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IAC9F,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,CAAC;IACzD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,OAAO,CACH,uCAAK,SAAS,EAAC,8BAA8B;QACzC,8BAAC,uBAAa,IAAC,SAAS,EAAC,kBAAkB,GAAG;QAC9C,8BAAC,kBAAQ,IAAC,SAAS,EAAC,mBAAmB,EAAC,IAAI,QAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,IAC9F,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CACnE;QACX,8BAAC,cAAI,IACD,KAAK,EAAE;gBACH,QAAQ,EAAE,GAAG;aAChB,EACD,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,aAAK,CAAC,QAAQ,EACrB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,eAAQ,CAAC,IAAI,kIAG5C;QACP,8BAAC,kBAAQ,IAAC,SAAS,EAAC,YAAY,EAAC,MAAM,QAAC,OAAO,QAAC,OAAO,QAAC,OAAO,EAAE,YAAY,IACxE,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CACvD,CACT,CACT,CAAC;AACN,CAAC,CAAC;AA1BW,QAAA,yBAAyB,6BA0BpC","sourcesContent":["import React, { FC, useContext } from 'react';\nimport RoomstayThemeEngine from '../../../providers/RoomstayThemeEngine';\nimport Headline from '@/components/generic/Headline';\nimport { Color } from '@/util/Color';\nimport Text, { TextType } from '@/components/generic/Text';\nimport BEButton, { BEButtonProps } from '@/components/generic/BEButton';\nimport { BookingEngineContext } from '@frontend/contexts';\nimport ScreenSize from '@/util/ScreenSize';\nimport HomeEmptyCard from '@/components/graphics/HomeEmptyCard';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '@/translations/Translation';\n\ninterface AccountDetailsNoCardsPageProps {\n onAddNewCard?: BEButtonProps['onClick'];\n}\n\nexport const AccountDetailsNoCardsPage: FC<AccountDetailsNoCardsPageProps> = ({ onAddNewCard }) => {\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Medium;\n const { t } = useTranslation();\n\n return (\n <div className=\"u-align-center u-marg-top@m-\">\n <HomeEmptyCard className=\"u-max-width-full\" />\n <Headline className=\"u-marg-top--heavy\" bold size={isMobile ? 'normal' : 'large'} color={Color.Navy}>\n {t(Translation.UserPortal.PaymentInformationScreen.YouDontHaveAnyCardsYet)}\n </Headline>\n <Text\n style={{\n maxWidth: 660,\n }}\n className=\"u-marg-top u-marg-left-right--auto\"\n color={Color.Graphite}\n type={isMobile ? TextType.Small : TextType.Body}\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n </Text>\n <BEButton className=\"u-marg-top\" filled primary rounded onClick={onAddNewCard}>\n {t(Translation.UserPortal.PaymentInformationScreen.AddNewCard)}\n </BEButton>\n </div>\n );\n};\n"]}
|
|
@@ -38,8 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
exports.AccountDetailsProfilePage = void 0;
|
|
41
|
-
const react_1 =
|
|
42
|
-
const react_2 = require("react");
|
|
41
|
+
const react_1 = __importStar(require("react"));
|
|
43
42
|
const BEButton_1 = __importDefault(require("../../../components/generic/BEButton"));
|
|
44
43
|
const EnhancedPhoneNumberField_1 = __importDefault(require("../../../components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField"));
|
|
45
44
|
const Headline_1 = __importDefault(require("../../../components/generic/Headline"));
|
|
@@ -68,14 +67,14 @@ const LabelAndInputGroup = (props) => {
|
|
|
68
67
|
!!hint && (react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Grey }, hint)))));
|
|
69
68
|
};
|
|
70
69
|
const AccountDetailsProfilePage = () => {
|
|
71
|
-
const { roomstayMember, loading: isLoadingMember, updateMemberDetails } = (0,
|
|
72
|
-
const notifications = (0,
|
|
70
|
+
const { roomstayMember, loading: isLoadingMember, updateMemberDetails } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
|
|
71
|
+
const notifications = (0, react_1.useContext)(contexts_1.NotificationContext);
|
|
73
72
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
74
73
|
const { watch, register, formState: { errors, isDirty }, handleSubmit, reset: resetFormValues, control, } = (0, react_hook_form_1.useForm)({
|
|
75
74
|
mode: 'onChange',
|
|
76
75
|
});
|
|
77
76
|
const getErrorValidationClass = (name) => (errors[name] ? 'error' : undefined);
|
|
78
|
-
(0,
|
|
77
|
+
(0, react_1.useEffect)(() => {
|
|
79
78
|
if (roomstayMember) {
|
|
80
79
|
resetFormValues(roomstayMember);
|
|
81
80
|
}
|
|
@@ -84,7 +83,7 @@ const AccountDetailsProfilePage = () => {
|
|
|
84
83
|
updateMemberDetails === null || updateMemberDetails === void 0 ? void 0 : updateMemberDetails(values).then(() => {
|
|
85
84
|
notifications.addNotification({
|
|
86
85
|
icon: Icon_1.IconType.Check,
|
|
87
|
-
children: react_1.default.createElement(Text_1.default, null,
|
|
86
|
+
children: react_1.default.createElement(Text_1.default, null, t(Translation_1.Translation.UserPortal.ProfileScreen.DetailsSavedSuccessfully)),
|
|
88
87
|
});
|
|
89
88
|
});
|
|
90
89
|
};
|
|
@@ -94,59 +93,47 @@ const AccountDetailsProfilePage = () => {
|
|
|
94
93
|
react_1.default.createElement(react_router_dom_1.Link, { to: AccountRoutes_1.AccountRoutes.Home.path },
|
|
95
94
|
react_1.default.createElement(BEButton_1.default, { isText: true, icon: Icon_1.IconType.ArrowLeft, size: "small" }, t(Translation_1.Translation.Reservation.BackToYourAccount)))),
|
|
96
95
|
react_1.default.createElement("div", { className: "u-marg-bottom--heavy@m" },
|
|
97
|
-
react_1.default.createElement(Headline_1.default, { size: "extra-large", bold: true },
|
|
96
|
+
react_1.default.createElement(Headline_1.default, { size: "extra-large", bold: true }, t(Translation_1.Translation.Navigation.Menu.ProfileInformation))),
|
|
98
97
|
react_1.default.createElement("form", { onSubmit: handleSubmit(onSaveDetails) },
|
|
99
98
|
react_1.default.createElement("div", { className: "row" },
|
|
100
99
|
react_1.default.createElement("div", { className: "col-md-8" },
|
|
101
100
|
react_1.default.createElement("div", null,
|
|
102
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
103
|
-
required:
|
|
104
|
-
message: 'First name is required',
|
|
105
|
-
value: true,
|
|
106
|
-
},
|
|
101
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.Forename), component: react_1.default.createElement(TextBox_1.default, Object.assign({ validationStatus: getErrorValidationClass('forename') }, register('forename', {
|
|
102
|
+
required: (0, Validation_1.makeRequiredRule)(t)(true, t(Translation_1.Translation.Step.Confirmation.Inputs.Forename)),
|
|
107
103
|
}))), error: errors.forename }),
|
|
108
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
109
|
-
required:
|
|
110
|
-
message: 'Last name is required',
|
|
111
|
-
value: true,
|
|
112
|
-
},
|
|
104
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.Surname), component: react_1.default.createElement(TextBox_1.default, Object.assign({ validationStatus: getErrorValidationClass('surname') }, register('surname', {
|
|
105
|
+
required: (0, Validation_1.makeRequiredRule)(t)(true, t(Translation_1.Translation.Step.Confirmation.Inputs.Surname)),
|
|
113
106
|
}))), error: errors.surname }),
|
|
114
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
115
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
116
|
-
pattern:
|
|
117
|
-
value: /.*\s\d+/,
|
|
118
|
-
message: 'Phone Number is required',
|
|
119
|
-
},
|
|
107
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.Email), component: react_1.default.createElement(TextBox_1.default, { validationStatus: getErrorValidationClass('email'), inputProps: { disabled: true }, value: roomstayMember === null || roomstayMember === void 0 ? void 0 : roomstayMember.email }), error: errors.email }),
|
|
108
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.Phone), component: react_1.default.createElement(react_hook_form_1.Controller, { rules: {
|
|
109
|
+
pattern: (0, Validation_1.makePhonePatternRule)(t),
|
|
120
110
|
}, control: control, name: "phoneNumber", render: ({ field }) => {
|
|
121
111
|
return (react_1.default.createElement(EnhancedPhoneNumberField_1.default, Object.assign({}, field, { onChange: (e) => {
|
|
122
112
|
field.onChange(e);
|
|
123
113
|
}, validationStatus: getErrorValidationClass('phoneNumber') })));
|
|
124
114
|
} }), error: errors.phoneNumber }),
|
|
125
115
|
react_1.default.createElement(LineBreak_1.default, null),
|
|
126
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
127
|
-
pattern: Validation_1.
|
|
128
|
-
}), { validationStatus: getErrorValidationClass('password') })), hint: "At least 8 characters long, case sensitive, can contain
|
|
129
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
130
|
-
required:
|
|
131
|
-
value: !!watch('password'),
|
|
132
|
-
message: 'Repeat Password is required',
|
|
133
|
-
},
|
|
116
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.Password), component: react_1.default.createElement(PasswordBox_1.PasswordBox, Object.assign({ placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022" }, register('password', {
|
|
117
|
+
pattern: (0, Validation_1.makePasswordPatternRule)(t),
|
|
118
|
+
}), { validationStatus: getErrorValidationClass('password') })), hint: "At least 8 characters long, case sensitive, can contain all symbols., no spaces.", error: errors.password }),
|
|
119
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.ConfirmPassword), component: react_1.default.createElement(PasswordBox_1.PasswordBox, Object.assign({ placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022" }, register('passwordRepeat', {
|
|
120
|
+
required: (0, Validation_1.makeRequiredRule)(t)(!!watch('password'), t(Translation_1.Translation.Step.Confirmation.Inputs.ConfirmPassword)),
|
|
134
121
|
validate: {
|
|
135
|
-
isSame: (0, Validation_1.
|
|
122
|
+
isSame: (0, Validation_1.isPasswordMatch)(t)(watch('password')),
|
|
136
123
|
},
|
|
137
124
|
}), { validationStatus: getErrorValidationClass('passwordRepeat') })), error: errors.passwordRepeat }),
|
|
138
125
|
react_1.default.createElement(LineBreak_1.default, null),
|
|
139
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
140
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
141
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
142
|
-
react_1.default.createElement(LabelAndInputGroup, { label:
|
|
126
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.Address), component: react_1.default.createElement(TextBox_1.default, Object.assign({}, register('address.address'))) }),
|
|
127
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.City), component: react_1.default.createElement(TextBox_1.default, Object.assign({}, register('address.city'))) }),
|
|
128
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.PostCode), component: react_1.default.createElement(TextBox_1.default, Object.assign({}, register('address.zip'))) }),
|
|
129
|
+
react_1.default.createElement(LabelAndInputGroup, { label: t(Translation_1.Translation.Step.Confirmation.Inputs.Country), component: react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: "address.country", render: ({ field }) => {
|
|
143
130
|
const { ref } = field, rest = __rest(field, ["ref"]);
|
|
144
131
|
return react_1.default.createElement(StepConfirmationCountrySelector_1.default, Object.assign({}, rest));
|
|
145
132
|
} }) })))),
|
|
146
133
|
react_1.default.createElement("div", { className: "u-flex justify-content-start u-marg-top--heavy" },
|
|
147
134
|
react_1.default.createElement(react_router_dom_1.Link, { to: "/account/home", className: "u-marg-right" },
|
|
148
|
-
react_1.default.createElement(BEButton_1.default, null,
|
|
149
|
-
react_1.default.createElement(BEButton_1.default, { disabled: saveButtonDisabled, isLoading: isLoadingMember, primary: true, filled: true, htmlType: "submit" },
|
|
135
|
+
react_1.default.createElement(BEButton_1.default, null, t(Translation_1.Translation.Misc.Cancel))),
|
|
136
|
+
react_1.default.createElement(BEButton_1.default, { disabled: saveButtonDisabled, isLoading: isLoadingMember, primary: true, filled: true, htmlType: "submit" }, t(Translation_1.Translation.Misc.SaveAllChanges))))));
|
|
150
137
|
};
|
|
151
138
|
exports.AccountDetailsProfilePage = AccountDetailsProfilePage;
|
|
152
139
|
//# sourceMappingURL=AccountDetailsProfilePage.js.map
|