@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountDetailsProfilePage.js","sourceRoot":"/","sources":["src/pages/account/Details/AccountDetailsProfilePage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useContext, useEffect } from 'react';\n\nimport BEButton from '@/components/generic/BEButton';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport StepConfirmationCountrySelector from '@/components/steps/confirmation/StepConfirmationCountrySelector';\n\nimport { Controller, FieldError, useForm } from 'react-hook-form';\nimport { Link } from 'react-router-dom';\nimport { Color } from '@/util/Color';\nimport type { IRoomstayMember } from '@roomstay/core';\n\nimport { NotificationContext, RoomstayMemberContext } from '@frontend/contexts';\nimport { isPassWordMatch, passwordPatternRule } from '@/util/Validation';\nimport { PasswordBox } from '@/components/generic/PasswordBox/PasswordBox';\nimport { AccountRoutes } from '../AccountRoutes';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\ntype LabelAndInputGroupProps = {\n component: React.ReactNode;\n label: string;\n hint?: string;\n error?: FieldError;\n};\n\nconst LabelAndInputGroup = (props: LabelAndInputGroupProps) => {\n const { label, component, hint, error } = props;\n return (\n <div className=\"row u-marg-bottom--heavy\">\n <div className=\"col-md-4\">\n <Text type={TextType.Small} bold>\n {label}\n </Text>\n </div>\n <div className=\"col-md-8\">\n {component}\n {!!error && (\n <p className=\"text-small\" style={{ color: '#ED4362' }}>\n {error.message}\n </p>\n )}\n\n {!!hint && (\n <Text type={TextType.Label} color={Color.Grey}>\n {hint}\n </Text>\n )}\n </div>\n </div>\n );\n};\n\ntype FormValues = IRoomstayMember & {\n password: string;\n passwordRepeat: string;\n};\n\nexport const AccountDetailsProfilePage = () => {\n const { roomstayMember, loading: isLoadingMember, updateMemberDetails } = useContext(RoomstayMemberContext);\n const notifications = useContext(NotificationContext);\n\n const { t } = useTranslation();\n\n const {\n watch,\n register,\n formState: { errors, isDirty },\n handleSubmit,\n reset: resetFormValues,\n control,\n } = useForm<FormValues>({\n mode: 'onChange',\n });\n\n const getErrorValidationClass = (name: keyof FormValues): 'error' | undefined => (errors[name] ? 'error' : undefined);\n\n useEffect(() => {\n if (roomstayMember) {\n resetFormValues(roomstayMember);\n }\n }, [roomstayMember]);\n\n const onSaveDetails = (values: FormValues) => {\n updateMemberDetails?.(values).then(() => {\n notifications.addNotification({\n icon: IconType.Check,\n children: <Text>Details saved succesfully</Text>,\n });\n });\n };\n\n const saveButtonDisabled = !isDirty || isLoadingMember || !!Object.keys(errors).length;\n\n return (\n <>\n <div className=\"u-marg-top--heavy@m u-marg-top@- u-marg-bottom--heavy\">\n <Link to={AccountRoutes.Home.path}>\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 Profile Information\n </Headline>\n </div>\n <form onSubmit={handleSubmit(onSaveDetails)}>\n <div className=\"row\">\n <div className=\"col-md-8\">\n <div>\n <LabelAndInputGroup\n label=\"First Name\"\n component={\n <TextBox\n validationStatus={getErrorValidationClass('forename')}\n {...register('forename', {\n required: {\n message: 'First name is required',\n value: true,\n },\n })}\n />\n }\n error={errors.forename}\n />\n <LabelAndInputGroup\n label=\"Last Name\"\n component={\n <TextBox\n validationStatus={getErrorValidationClass('surname')}\n {...register('surname', {\n required: {\n message: 'Last name is required',\n value: true,\n },\n })}\n />\n }\n error={errors.surname}\n />\n <LabelAndInputGroup\n label=\"Email Address\"\n component={<TextBox validationStatus={getErrorValidationClass('email')} inputProps={{ disabled: true }} value={roomstayMember?.email} />}\n error={errors.email}\n />\n <LabelAndInputGroup\n label=\"Phone Number\"\n component={\n <Controller\n rules={{\n pattern: {\n value: /.*\\s\\d+/,\n message: 'Phone Number is required',\n },\n }}\n control={control}\n name=\"phoneNumber\"\n render={({ field }) => {\n return (\n <EnhancedPhoneNumberField\n {...field}\n onChange={(e: any) => {\n field.onChange(e);\n }}\n validationStatus={getErrorValidationClass('phoneNumber')}\n />\n );\n }}\n />\n }\n error={errors.phoneNumber}\n />\n\n <LineBreak />\n\n <LabelAndInputGroup\n label=\"Password\"\n component={\n <PasswordBox\n placeholder=\"•••••••••••••••\"\n {...register('password', {\n pattern: passwordPatternRule,\n })}\n validationStatus={getErrorValidationClass('password')}\n />\n }\n hint=\"At least 8 characters long, case sensitive, can contain !$#%, no spaces.\"\n error={errors.password}\n />\n <LabelAndInputGroup\n label=\"Repeat Password\"\n component={\n <PasswordBox\n placeholder=\"•••••••••••••••\"\n {...register('passwordRepeat', {\n required: {\n value: !!watch('password'),\n message: 'Repeat Password is required',\n },\n validate: {\n isSame: isPassWordMatch(watch('password')),\n },\n })}\n validationStatus={getErrorValidationClass('passwordRepeat')}\n />\n }\n error={errors.passwordRepeat}\n />\n\n <LineBreak />\n\n <LabelAndInputGroup label=\"Address\" component={<TextBox {...register('address.address')} />} />\n <LabelAndInputGroup label=\"City\" component={<TextBox {...register('address.city')} />} />\n <LabelAndInputGroup label=\"ZIP/Post Code\" component={<TextBox {...register('address.zip')} />} />\n <LabelAndInputGroup\n label=\"Country\"\n component={\n <Controller\n control={control}\n name=\"address.country\"\n render={({ field }) => {\n const { ref, ...rest } = field;\n return <StepConfirmationCountrySelector {...rest} />;\n }}\n />\n }\n />\n </div>\n </div>\n </div>\n\n <div className=\"u-flex justify-content-start u-marg-top--heavy\">\n <Link to=\"/account/home\" className=\"u-marg-right\">\n <BEButton>Cancel</BEButton>\n </Link>\n <BEButton disabled={saveButtonDisabled} isLoading={isLoadingMember} primary filled htmlType=\"submit\">\n Save all changes\n </BEButton>\n </div>\n </form>\n </>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"AccountDetailsProfilePage.js","sourceRoot":"/","sources":["src/pages/account/Details/AccountDetailsProfilePage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useEffect } from 'react';\n\nimport BEButton from '@/components/generic/BEButton';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport StepConfirmationCountrySelector from '@/components/steps/confirmation/StepConfirmationCountrySelector';\n\nimport { Controller, FieldError, useForm } from 'react-hook-form';\nimport { Link } from 'react-router-dom';\nimport { Color } from '@/util/Color';\nimport type { IRoomstayMember } from '@roomstay/core';\n\nimport { NotificationContext, RoomstayMemberContext } from '@frontend/contexts';\nimport { isPasswordMatch, makePasswordPatternRule, makePhonePatternRule, makeRequiredRule } from '@/util/Validation';\nimport { PasswordBox } from '@/components/generic/PasswordBox/PasswordBox';\nimport { AccountRoutes } from '../AccountRoutes';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\ntype LabelAndInputGroupProps = {\n component: React.ReactNode;\n label: string;\n hint?: string;\n error?: FieldError;\n};\n\nconst LabelAndInputGroup = (props: LabelAndInputGroupProps) => {\n const { label, component, hint, error } = props;\n return (\n <div className=\"row u-marg-bottom--heavy\">\n <div className=\"col-md-4\">\n <Text type={TextType.Small} bold>\n {label}\n </Text>\n </div>\n <div className=\"col-md-8\">\n {component}\n {!!error && (\n <p className=\"text-small\" style={{ color: '#ED4362' }}>\n {error.message}\n </p>\n )}\n\n {!!hint && (\n <Text type={TextType.Label} color={Color.Grey}>\n {hint}\n </Text>\n )}\n </div>\n </div>\n );\n};\n\ntype FormValues = IRoomstayMember & {\n password: string;\n passwordRepeat: string;\n};\n\nexport const AccountDetailsProfilePage = () => {\n const { roomstayMember, loading: isLoadingMember, updateMemberDetails } = useContext(RoomstayMemberContext);\n const notifications = useContext(NotificationContext);\n\n const { t } = useTranslation();\n\n const {\n watch,\n register,\n formState: { errors, isDirty },\n handleSubmit,\n reset: resetFormValues,\n control,\n } = useForm<FormValues>({\n mode: 'onChange',\n });\n\n const getErrorValidationClass = (name: keyof FormValues): 'error' | undefined => (errors[name] ? 'error' : undefined);\n\n useEffect(() => {\n if (roomstayMember) {\n resetFormValues(roomstayMember);\n }\n }, [roomstayMember]);\n\n const onSaveDetails = (values: FormValues) => {\n updateMemberDetails?.(values).then(() => {\n notifications.addNotification({\n icon: IconType.Check,\n children: <Text>{t(Translation.UserPortal.ProfileScreen.DetailsSavedSuccessfully)}</Text>,\n });\n });\n };\n\n const saveButtonDisabled = !isDirty || isLoadingMember || !!Object.keys(errors).length;\n\n return (\n <>\n <div className=\"u-marg-top--heavy@m u-marg-top@- u-marg-bottom--heavy\">\n <Link to={AccountRoutes.Home.path}>\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.ProfileInformation)}\n </Headline>\n </div>\n <form onSubmit={handleSubmit(onSaveDetails)}>\n <div className=\"row\">\n <div className=\"col-md-8\">\n <div>\n <LabelAndInputGroup\n label={t(Translation.Step.Confirmation.Inputs.Forename)}\n component={\n <TextBox\n validationStatus={getErrorValidationClass('forename')}\n {...register('forename', {\n required: makeRequiredRule(t)(true, t(Translation.Step.Confirmation.Inputs.Forename)),\n })}\n />\n }\n error={errors.forename}\n />\n <LabelAndInputGroup\n label={t(Translation.Step.Confirmation.Inputs.Surname)}\n component={\n <TextBox\n validationStatus={getErrorValidationClass('surname')}\n {...register('surname', {\n required: makeRequiredRule(t)(true, t(Translation.Step.Confirmation.Inputs.Surname)),\n })}\n />\n }\n error={errors.surname}\n />\n <LabelAndInputGroup\n label={t(Translation.Step.Confirmation.Inputs.Email)}\n component={<TextBox validationStatus={getErrorValidationClass('email')} inputProps={{ disabled: true }} value={roomstayMember?.email} />}\n error={errors.email}\n />\n <LabelAndInputGroup\n label={t(Translation.Step.Confirmation.Inputs.Phone)}\n component={\n <Controller\n rules={{\n pattern: makePhonePatternRule(t),\n }}\n control={control}\n name=\"phoneNumber\"\n render={({ field }) => {\n return (\n <EnhancedPhoneNumberField\n {...field}\n onChange={(e: any) => {\n field.onChange(e);\n }}\n validationStatus={getErrorValidationClass('phoneNumber')}\n />\n );\n }}\n />\n }\n error={errors.phoneNumber}\n />\n\n <LineBreak />\n\n <LabelAndInputGroup\n label={t(Translation.Step.Confirmation.Inputs.Password)}\n component={\n <PasswordBox\n placeholder=\"•••••••••••••••\"\n {...register('password', {\n pattern: makePasswordPatternRule(t),\n })}\n validationStatus={getErrorValidationClass('password')}\n />\n }\n hint=\"At least 8 characters long, case sensitive, can contain all symbols., no spaces.\"\n error={errors.password}\n />\n <LabelAndInputGroup\n label={t(Translation.Step.Confirmation.Inputs.ConfirmPassword)}\n component={\n <PasswordBox\n placeholder=\"•••••••••••••••\"\n {...register('passwordRepeat', {\n required: makeRequiredRule(t)(!!watch('password'), t(Translation.Step.Confirmation.Inputs.ConfirmPassword)),\n validate: {\n isSame: isPasswordMatch(t)(watch('password')),\n },\n })}\n validationStatus={getErrorValidationClass('passwordRepeat')}\n />\n }\n error={errors.passwordRepeat}\n />\n\n <LineBreak />\n\n <LabelAndInputGroup label={t(Translation.Step.Confirmation.Inputs.Address)} component={<TextBox {...register('address.address')} />} />\n <LabelAndInputGroup label={t(Translation.Step.Confirmation.Inputs.City)} component={<TextBox {...register('address.city')} />} />\n <LabelAndInputGroup label={t(Translation.Step.Confirmation.Inputs.PostCode)} component={<TextBox {...register('address.zip')} />} />\n <LabelAndInputGroup\n label={t(Translation.Step.Confirmation.Inputs.Country)}\n component={\n <Controller\n control={control}\n name=\"address.country\"\n render={({ field }) => {\n const { ref, ...rest } = field;\n return <StepConfirmationCountrySelector {...rest} />;\n }}\n />\n }\n />\n </div>\n </div>\n </div>\n\n <div className=\"u-flex justify-content-start u-marg-top--heavy\">\n <Link to=\"/account/home\" className=\"u-marg-right\">\n <BEButton>{t(Translation.Misc.Cancel)}</BEButton>\n </Link>\n <BEButton disabled={saveButtonDisabled} isLoading={isLoadingMember} primary filled htmlType=\"submit\">\n {t(Translation.Misc.SaveAllChanges)}\n </BEButton>\n </div>\n </form>\n </>\n );\n};\n"]}
|
|
@@ -44,8 +44,7 @@ const Icon_1 = require("../../../components/generic/Icon/Icon");
|
|
|
44
44
|
const Text_1 = __importStar(require("../../../components/generic/Text"));
|
|
45
45
|
const TextArea_1 = __importDefault(require("../../../components/generic/TextArea"));
|
|
46
46
|
const TextBox_1 = __importDefault(require("../../../components/generic/TextBox"));
|
|
47
|
-
const react_1 =
|
|
48
|
-
const react_2 = require("react");
|
|
47
|
+
const react_1 = __importStar(require("react"));
|
|
49
48
|
const react_hook_form_1 = require("react-hook-form");
|
|
50
49
|
const react_i18next_1 = require("react-i18next");
|
|
51
50
|
const react_router_dom_1 = require("react-router-dom");
|
|
@@ -55,6 +54,7 @@ const BookingAPI_1 = __importDefault(require("../../../api/BookingAPI"));
|
|
|
55
54
|
const hooks_1 = require("../../../hooks/index.js");
|
|
56
55
|
const AccountRoutes_1 = require("../AccountRoutes");
|
|
57
56
|
const EnhancedPhoneNumberField_1 = __importDefault(require("../../../components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField"));
|
|
57
|
+
const Validation_1 = require("../../../util/Validation");
|
|
58
58
|
const AccountHelpPage = () => {
|
|
59
59
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
60
60
|
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
@@ -63,9 +63,9 @@ const AccountHelpPage = () => {
|
|
|
63
63
|
mode: 'onChange',
|
|
64
64
|
reValidateMode: 'onBlur',
|
|
65
65
|
});
|
|
66
|
-
const [apiStatus, setApiStatus] = (0,
|
|
67
|
-
const [isLoading, setIsLoading] = (0,
|
|
68
|
-
(0,
|
|
66
|
+
const [apiStatus, setApiStatus] = (0, react_1.useState)({});
|
|
67
|
+
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
68
|
+
(0, react_1.useEffect)(() => {
|
|
69
69
|
if (user) {
|
|
70
70
|
reset({
|
|
71
71
|
name: fullName,
|
|
@@ -104,9 +104,9 @@ const AccountHelpPage = () => {
|
|
|
104
104
|
return (react_1.default.createElement("div", null,
|
|
105
105
|
react_1.default.createElement("div", { className: "u-marg-top--heavy@m u-marg-top@m- u-marg-bottom--heavy" },
|
|
106
106
|
react_1.default.createElement(react_router_dom_1.Link, { to: AccountRoutes_1.AccountRoutes.Home.path },
|
|
107
|
-
react_1.default.createElement(BEButton_1.default, { isText: true, icon: Icon_1.IconType.ArrowLeft, size: "small" },
|
|
107
|
+
react_1.default.createElement(BEButton_1.default, { isText: true, icon: Icon_1.IconType.ArrowLeft, size: "small" }, t(Translation_1.Translation.Reservation.BackToYourAccount)))),
|
|
108
108
|
react_1.default.createElement("div", { className: "u-marg-bottom--heavy u-pad-top@m" },
|
|
109
|
-
react_1.default.createElement(Headline_1.default, { size: "extra-large", className: "u-marg-bottom" },
|
|
109
|
+
react_1.default.createElement(Headline_1.default, { size: "extra-large", className: "u-marg-bottom" }, t(Translation_1.Translation.UserPortal.HelpScreen.NeedSomeHelp))),
|
|
110
110
|
react_1.default.createElement("form", { onSubmit: handleSubmit(onSubmit), className: "u-marg-bottom", style: { maxWidth: 500 } },
|
|
111
111
|
react_1.default.createElement(AutoAutoHeight_1.default, { open: !!formState.errors },
|
|
112
112
|
react_1.default.createElement("div", { className: "u-flex flex-column" }, Object.keys(formState.errors).map((errorName, index) => {
|
|
@@ -116,31 +116,22 @@ const AccountHelpPage = () => {
|
|
|
116
116
|
}))),
|
|
117
117
|
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
118
118
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
119
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true },
|
|
119
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.UserPortal.HelpScreen.Name))),
|
|
120
120
|
react_1.default.createElement(TextBox_1.default, Object.assign({ required: true, validationStatus: getValidationClass('name') }, register('name', {
|
|
121
|
-
required:
|
|
121
|
+
required: (0, Validation_1.makeRequiredRule)(t)(true, t(Translation_1.Translation.UserPortal.HelpScreen.Name)),
|
|
122
122
|
})))),
|
|
123
123
|
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
124
124
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
125
125
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.Navigation.SignIn.EmailAddress))),
|
|
126
126
|
react_1.default.createElement(TextBox_1.default, Object.assign({ placeholder: "example@mail.com", required: true, validationStatus: getValidationClass('email') }, register('email', {
|
|
127
|
-
required:
|
|
128
|
-
|
|
129
|
-
value: true,
|
|
130
|
-
},
|
|
131
|
-
pattern: {
|
|
132
|
-
value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,
|
|
133
|
-
message: t(Translation_1.Translation.FindReservation.InvalidEmailAddress),
|
|
134
|
-
},
|
|
127
|
+
required: (0, Validation_1.makeRequiredRule)(t)(true, t(Translation_1.Translation.Navigation.SignIn.EmailAddress)),
|
|
128
|
+
pattern: (0, Validation_1.makeEmailPatternRule)(t),
|
|
135
129
|
})))),
|
|
136
130
|
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
137
131
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
138
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true },
|
|
132
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.UserPortal.HelpScreen.Telephone))),
|
|
139
133
|
react_1.default.createElement(react_hook_form_1.Controller, { rules: {
|
|
140
|
-
pattern:
|
|
141
|
-
value: /.*\s\d+/,
|
|
142
|
-
message: 'Telephone is required',
|
|
143
|
-
},
|
|
134
|
+
pattern: (0, Validation_1.makePhonePatternRule)(t),
|
|
144
135
|
}, control: control, name: "telephone", render: ({ field }) => {
|
|
145
136
|
return (react_1.default.createElement(EnhancedPhoneNumberField_1.default, Object.assign({}, field, { onChange: (e) => {
|
|
146
137
|
field.onChange(e);
|
|
@@ -148,11 +139,11 @@ const AccountHelpPage = () => {
|
|
|
148
139
|
} })),
|
|
149
140
|
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
150
141
|
react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
151
|
-
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true },
|
|
142
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Label, color: Color_1.Color.Navy, bold: true }, t(Translation_1.Translation.UserPortal.HelpScreen.Message))),
|
|
152
143
|
react_1.default.createElement(TextArea_1.default, Object.assign({ required: true }, register('message', {
|
|
153
|
-
required:
|
|
144
|
+
required: (0, Validation_1.makeRequiredRule)(t)(true, t(Translation_1.Translation.UserPortal.HelpScreen.Message)),
|
|
154
145
|
})))),
|
|
155
|
-
react_1.default.createElement(BEButton_1.default, { icon: Icon_1.IconType.ArrowRight, iconPosition: "right", filled: true, primary: true, htmlType: "submit", isLoading: isLoading, disabled: isLoading || apiStatus.success },
|
|
146
|
+
react_1.default.createElement(BEButton_1.default, { icon: Icon_1.IconType.ArrowRight, iconPosition: "right", filled: true, primary: true, htmlType: "submit", isLoading: isLoading, disabled: isLoading || apiStatus.success }, t(Translation_1.Translation.Misc.Submit))),
|
|
156
147
|
react_1.default.createElement(AutoAutoHeight_1.default, { open: !!apiStatus.success },
|
|
157
148
|
react_1.default.createElement("div", { className: "u-pad-top" },
|
|
158
149
|
react_1.default.createElement(Text_1.default, { color: Color_1.Color.Success }, t(Translation_1.Translation.Step.Room.ErrorForm.ConfirmationMessage)))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountHelpPage.js","sourceRoot":"/","sources":["src/pages/account/Help/AccountHelpPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iFAAyD;AACzD,oEAA8D;AAC9D,6EAAqD;AACrD,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAC3D,6EAAqD;AACrD,2EAAmD;AACnD,kDAA0B;AAC1B,iCAA4C;AAC5C,qDAAsD;AACtD,iDAA+C;AAC/C,uDAAwC;AACxC,0DAAuD;AACvD,wCAAqC;AAErC,kEAAmC;AACnC,2CAA6D;AAC7D,oDAAiD;AACjD,6IAAqH;AAE9G,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,iBAAS,GAAE,CAAC;IAEvC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAA,yBAAO,EAAC;QAClE,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE,QAAQ;KAC3B,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAA0C,EAAE,CAAC,CAAC;IACxF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAElD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,IAAI,EAAE;YACN,KAAK,CAAC;gBACF,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;SACN;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,CAAO,MAAW,EAAE,EAAE;QACnC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI;YACA,MAAM,oBAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAiB,EAAE;gBAChE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;SACnC;QAAC,OAAO,EAAE,EAAE;YACT,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC1F;QAED,YAAY,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAA,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE;QACxC,IAAI,SAAS,CAAC,MAAM,EAAE;YAClB,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACxB,OAAO,OAAO,CAAC;aAClB;iBAAM;gBACH,OAAO,SAAS,CAAC;aACpB;SACJ;IACL,CAAC,CAAC;IAEF,OAAO,CACH;QACI,uCAAK,SAAS,EAAC,wDAAwD;YACnE,8BAAC,uBAAI,IAAC,EAAE,EAAE,6BAAa,CAAC,IAAI,CAAC,IAAI;gBAC7B,8BAAC,kBAAQ,IAAC,MAAM,QAAC,IAAI,EAAE,eAAQ,CAAC,SAAS,EAAE,IAAI,EAAC,OAAO,2BAE5C,CACR,CACL;QAEN,uCAAK,SAAS,EAAC,kCAAkC;YAC7C,8BAAC,kBAAQ,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAC,eAAe,sBAE3C,CACT;QAEN,wCAAM,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;YACtF,8BAAC,wBAAc,IAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;gBACpC,uCAAK,SAAS,EAAC,oBAAoB,IAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;;oBACpD,OAAO,CACH,8BAAC,eAAK,IAAC,IAAI,EAAE,iBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK;wBAC3D,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,IAAG,MAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,OAAO,CAAQ,CACrE,CACX,CAAC;gBACN,CAAC,CAAC,CACA,CACO;YAEjB,uCAAK,SAAS,EAAC,eAAe;gBAC1B,uCAAK,SAAS,EAAC,sBAAsB;oBACjC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,IAAI,iBAE5C,CACL;gBACN,8BAAC,iBAAO,kBACJ,QAAQ,QACR,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,CAAC,IACxC,QAAQ,CAAC,MAAM,EAAE;oBACjB,QAAQ,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;iBACzD,CAAC,EACJ,CACA;YACN,uCAAK,SAAS,EAAC,eAAe;gBAC1B,uCAAK,SAAS,EAAC,sBAAsB;oBACjC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,IAAI,UAC9C,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAC3C,CACL;gBACN,8BAAC,iBAAO,kBACJ,WAAW,EAAC,kBAAkB,EAC9B,QAAQ,QACR,gBAAgB,EAAE,kBAAkB,CAAC,OAAO,CAAC,IACzC,QAAQ,CAAC,OAAO,EAAE;oBAClB,QAAQ,EAAE;wBACN,OAAO,EAAE,GAAG,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc;wBACvE,KAAK,EAAE,IAAI;qBACd;oBACD,OAAO,EAAE;wBACL,KAAK,EAAE,2CAA2C;wBAClD,OAAO,EAAE,CAAC,CAAC,yBAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC;qBAC9D;iBACJ,CAAC,EACJ,CACA;YACN,uCAAK,SAAS,EAAC,eAAe;gBAC1B,uCAAK,SAAS,EAAC,sBAAsB;oBACjC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,IAAI,sBAE5C,CACL;gBACN,8BAAC,4BAAU,IACP,KAAK,EAAE;wBACH,OAAO,EAAE;4BACL,KAAK,EAAE,SAAS;4BAChB,OAAO,EAAE,uBAAuB;yBACnC;qBACJ,EACD,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,WAAW,EAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;wBAClB,OAAO,CACH,8BAAC,kCAAwB,oBACjB,KAAK,IACT,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;gCACjB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;4BACtB,CAAC,EACD,gBAAgB,EAAE,kBAAkB,CAAC,WAAW,CAAC,IACnD,CACL,CAAC;oBACN,CAAC,GACH,CACA;YACN,uCAAK,SAAS,EAAC,eAAe;gBAC1B,uCAAK,SAAS,EAAC,sBAAsB;oBACjC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,IAAI,oBAE5C,CACL;gBACN,8BAAC,kBAAQ,kBACL,QAAQ,UACJ,QAAQ,CAAC,SAAS,EAAE;oBACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE;iBAC5D,CAAC,EACJ,CACA;YACN,8BAAC,kBAAQ,IAAC,IAAI,EAAE,eAAQ,CAAC,UAAU,EAAE,YAAY,EAAC,OAAO,EAAC,MAAM,QAAC,OAAO,QAAC,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,SAAS,CAAC,OAAO,aAE9I,CACR;QAEP,8BAAC,wBAAc,IAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO;YACrC,uCAAK,SAAS,EAAC,WAAW;gBACtB,8BAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,OAAO,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAQ,CACzF,CACO;QAEjB,8BAAC,wBAAc,IAAC,IAAI,EAAE,SAAS,CAAC,OAAO,KAAK,KAAK;YAC7C,uCAAK,SAAS,EAAC,WAAW;gBACtB,8BAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,KAAK,IAAG,SAAS,CAAC,OAAO,CAAQ,CAClD,CACO,CACf,CACT,CAAC;AACN,CAAC,CAAC;AAjLW,QAAA,eAAe,mBAiL1B","sourcesContent":["import AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextArea from '@/components/generic/TextArea';\nimport TextBox from '@/components/generic/TextBox';\nimport React from 'react';\nimport { useEffect, useState } from 'react';\nimport { Controller, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\n\nimport API from '@/api/BookingAPI';\nimport { useCurrentHotel, useMember } from '@frontend/hooks';\nimport { AccountRoutes } from '../AccountRoutes';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\n\nexport const AccountHelpPage = () => {\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n const { user, fullName } = useMember();\n\n const { register, formState, handleSubmit, reset, control } = useForm({\n mode: 'onChange',\n reValidateMode: 'onBlur',\n });\n\n const [apiStatus, setApiStatus] = useState<{ success?: boolean; message?: string }>({});\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n if (user) {\n reset({\n name: fullName,\n email: user.email,\n telephone: user.phoneNumber,\n });\n }\n }, [fullName, user]);\n\n const onSubmit = async (values: any) => {\n setApiStatus({});\n setIsLoading(true);\n\n try {\n await API.Error.sendMemberAreaContactForm(hotel?.hotelID as string, {\n name: values.name,\n telephone: values.telephone,\n email: values.email,\n message: values.message,\n });\n\n setApiStatus({ success: true });\n } catch (ex) {\n setApiStatus({ success: false, message: t(Translation.Step.Room.ErrorForm.APIError) });\n }\n\n setIsLoading(false);\n };\n\n const getValidationClass = (name: string) => {\n if (formState.errors) {\n if (formState.errors[name]) {\n return 'error';\n } else {\n return 'success';\n }\n }\n };\n\n return (\n <div>\n <div className=\"u-marg-top--heavy@m u-marg-top@m- u-marg-bottom--heavy\">\n <Link to={AccountRoutes.Home.path}>\n <BEButton isText icon={IconType.ArrowLeft} size=\"small\">\n BACK TO YOUR ACCOUNT\n </BEButton>\n </Link>\n </div>\n\n <div className=\"u-marg-bottom--heavy u-pad-top@m\">\n <Headline size=\"extra-large\" className=\"u-marg-bottom\">\n Need some help?\n </Headline>\n </div>\n\n <form onSubmit={handleSubmit(onSubmit)} className=\"u-marg-bottom\" style={{ maxWidth: 500 }}>\n <AutoAutoHeight open={!!formState.errors}>\n <div className=\"u-flex flex-column\">\n {Object.keys(formState.errors).map((errorName, index) => {\n return (\n <Alert type={AlertType.Danger} icon={IconType.Error} key={index}>\n <Text type={TextType.Small}>{formState.errors[errorName]?.message}</Text>\n </Alert>\n );\n })}\n </div>\n </AutoAutoHeight>\n\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n Name\n </Text>\n </div>\n <TextBox\n required\n validationStatus={getValidationClass('name')}\n {...register('name', {\n required: { message: `Name is required`, value: true },\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.Navigation.SignIn.EmailAddress)}\n </Text>\n </div>\n <TextBox\n placeholder=\"example@mail.com\"\n required\n validationStatus={getValidationClass('email')}\n {...register('email', {\n required: {\n message: `${t(Translation.Navigation.SignIn.EmailAddress)} is required`,\n value: true,\n },\n pattern: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\n message: t(Translation.FindReservation.InvalidEmailAddress),\n },\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n Telephone\n </Text>\n </div>\n <Controller\n rules={{\n pattern: {\n value: /.*\\s\\d+/,\n message: 'Telephone is required',\n },\n }}\n control={control}\n name=\"telephone\"\n render={({ field }) => {\n return (\n <EnhancedPhoneNumberField\n {...field}\n onChange={(e: any) => {\n field.onChange(e);\n }}\n validationStatus={getValidationClass('telephone')}\n />\n );\n }}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n Message\n </Text>\n </div>\n <TextArea\n required\n {...register('message', {\n required: { message: 'Message is required', value: true },\n })}\n />\n </div>\n <BEButton icon={IconType.ArrowRight} iconPosition=\"right\" filled primary htmlType=\"submit\" isLoading={isLoading} disabled={isLoading || apiStatus.success}>\n Submit\n </BEButton>\n </form>\n\n <AutoAutoHeight open={!!apiStatus.success}>\n <div className=\"u-pad-top\">\n <Text color={Color.Success}>{t(Translation.Step.Room.ErrorForm.ConfirmationMessage)}</Text>\n </div>\n </AutoAutoHeight>\n\n <AutoAutoHeight open={apiStatus.success === false}>\n <div className=\"u-pad-top\">\n <Text color={Color.Alert}>{apiStatus.message}</Text>\n </div>\n </AutoAutoHeight>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"AccountHelpPage.js","sourceRoot":"/","sources":["src/pages/account/Help/AccountHelpPage.tsx"],"names":[],"mappings":"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","sourcesContent":["import AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextArea from '@/components/generic/TextArea';\nimport TextBox from '@/components/generic/TextBox';\nimport React, { useEffect, useState } from 'react';\nimport { Controller, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\nimport { Color } from '@/util/Color';\n\nimport API from '@/api/BookingAPI';\nimport { useCurrentHotel, useMember } from '@frontend/hooks';\nimport { AccountRoutes } from '../AccountRoutes';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport { makeEmailPatternRule, makePhonePatternRule, makeRequiredRule } from '@/util/Validation';\n\nexport const AccountHelpPage = () => {\n const { t } = useTranslation();\n const { hotel } = useCurrentHotel();\n const { user, fullName } = useMember();\n\n const { register, formState, handleSubmit, reset, control } = useForm({\n mode: 'onChange',\n reValidateMode: 'onBlur',\n });\n\n const [apiStatus, setApiStatus] = useState<{ success?: boolean; message?: string }>({});\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n if (user) {\n reset({\n name: fullName,\n email: user.email,\n telephone: user.phoneNumber,\n });\n }\n }, [fullName, user]);\n\n const onSubmit = async (values: any) => {\n setApiStatus({});\n setIsLoading(true);\n\n try {\n await API.Error.sendMemberAreaContactForm(hotel?.hotelID as string, {\n name: values.name,\n telephone: values.telephone,\n email: values.email,\n message: values.message,\n });\n\n setApiStatus({ success: true });\n } catch (ex) {\n setApiStatus({ success: false, message: t(Translation.Step.Room.ErrorForm.APIError) });\n }\n\n setIsLoading(false);\n };\n\n const getValidationClass = (name: string) => {\n if (formState.errors) {\n if (formState.errors[name]) {\n return 'error';\n } else {\n return 'success';\n }\n }\n };\n\n return (\n <div>\n <div className=\"u-marg-top--heavy@m u-marg-top@m- u-marg-bottom--heavy\">\n <Link to={AccountRoutes.Home.path}>\n <BEButton isText icon={IconType.ArrowLeft} size=\"small\">\n {t(Translation.Reservation.BackToYourAccount)}\n </BEButton>\n </Link>\n </div>\n\n <div className=\"u-marg-bottom--heavy u-pad-top@m\">\n <Headline size=\"extra-large\" className=\"u-marg-bottom\">\n {t(Translation.UserPortal.HelpScreen.NeedSomeHelp)}\n </Headline>\n </div>\n\n <form onSubmit={handleSubmit(onSubmit)} className=\"u-marg-bottom\" style={{ maxWidth: 500 }}>\n <AutoAutoHeight open={!!formState.errors}>\n <div className=\"u-flex flex-column\">\n {Object.keys(formState.errors).map((errorName, index) => {\n return (\n <Alert type={AlertType.Danger} icon={IconType.Error} key={index}>\n <Text type={TextType.Small}>{formState.errors[errorName]?.message}</Text>\n </Alert>\n );\n })}\n </div>\n </AutoAutoHeight>\n\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.UserPortal.HelpScreen.Name)}\n </Text>\n </div>\n <TextBox\n required\n validationStatus={getValidationClass('name')}\n {...register('name', {\n required: makeRequiredRule(t)(true, t(Translation.UserPortal.HelpScreen.Name)),\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.Navigation.SignIn.EmailAddress)}\n </Text>\n </div>\n <TextBox\n placeholder=\"example@mail.com\"\n required\n validationStatus={getValidationClass('email')}\n {...register('email', {\n required: makeRequiredRule(t)(true, t(Translation.Navigation.SignIn.EmailAddress)),\n pattern: makeEmailPatternRule(t),\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.UserPortal.HelpScreen.Telephone)}\n </Text>\n </div>\n <Controller\n rules={{\n pattern: makePhonePatternRule(t),\n }}\n control={control}\n name=\"telephone\"\n render={({ field }) => {\n return (\n <EnhancedPhoneNumberField\n {...field}\n onChange={(e: any) => {\n field.onChange(e);\n }}\n validationStatus={getValidationClass('telephone')}\n />\n );\n }}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy} bold>\n {t(Translation.UserPortal.HelpScreen.Message)}\n </Text>\n </div>\n <TextArea\n required\n {...register('message', {\n required: makeRequiredRule(t)(true, t(Translation.UserPortal.HelpScreen.Message)),\n })}\n />\n </div>\n <BEButton icon={IconType.ArrowRight} iconPosition=\"right\" filled primary htmlType=\"submit\" isLoading={isLoading} disabled={isLoading || apiStatus.success}>\n {t(Translation.Misc.Submit)}\n </BEButton>\n </form>\n\n <AutoAutoHeight open={!!apiStatus.success}>\n <div className=\"u-pad-top\">\n <Text color={Color.Success}>{t(Translation.Step.Room.ErrorForm.ConfirmationMessage)}</Text>\n </div>\n </AutoAutoHeight>\n\n <AutoAutoHeight open={apiStatus.success === false}>\n <div className=\"u-pad-top\">\n <Text color={Color.Alert}>{apiStatus.message}</Text>\n </div>\n </AutoAutoHeight>\n </div>\n );\n};\n"]}
|
|
@@ -51,6 +51,10 @@ const ReservationList_1 = __importDefault(require("../../../components/reservati
|
|
|
51
51
|
const SimpleModal_1 = __importStar(require("../../../components/generic/modal/SimpleModal"));
|
|
52
52
|
const BookingAPI_1 = __importDefault(require("../../../api/BookingAPI"));
|
|
53
53
|
const Currency_1 = __importDefault(require("../../../components/generic/Currency"));
|
|
54
|
+
const hooks_1 = require("../../../hooks");
|
|
55
|
+
const PrintOnly_1 = __importDefault(require("../../../components/generic/print/PrintOnly"));
|
|
56
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
57
|
+
const ModifyBookingFeature_1 = __importDefault(require("../../../providers/feature/ModifyBookingFeature"));
|
|
54
58
|
const getRoomNamesString = (itineraries) => {
|
|
55
59
|
var _a;
|
|
56
60
|
const roomNames = {};
|
|
@@ -68,6 +72,7 @@ const getRoomNamesString = (itineraries) => {
|
|
|
68
72
|
const CancelReservationModal = (props) => {
|
|
69
73
|
const { items, booking, visible, onClose } = props;
|
|
70
74
|
const { fetchRoomstayMember } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
|
|
75
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
71
76
|
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
72
77
|
const onCancelClick = () => {
|
|
73
78
|
const cancellations = [];
|
|
@@ -84,11 +89,11 @@ const CancelReservationModal = (props) => {
|
|
|
84
89
|
};
|
|
85
90
|
const footers = (react_1.default.createElement("div", { className: "d-flex u-pad align-items-center justify-content-center" },
|
|
86
91
|
react_1.default.createElement("div", { className: "u-marg-right" },
|
|
87
|
-
react_1.default.createElement(BEButton_1.default, { isText: true, onClick: onClose },
|
|
88
|
-
react_1.default.createElement(BEButton_1.default, { filled: true, primary: true, onClick: onCancelClick, isLoading: isLoading },
|
|
89
|
-
return (react_1.default.createElement(SimpleModal_1.default, { title:
|
|
92
|
+
react_1.default.createElement(BEButton_1.default, { isText: true, onClick: onClose }, t(Translation_1.Translation.Misc.Abort))),
|
|
93
|
+
react_1.default.createElement(BEButton_1.default, { filled: true, primary: true, onClick: onCancelClick, isLoading: isLoading }, t(Translation_1.Translation.Misc.YesImSure))));
|
|
94
|
+
return (react_1.default.createElement(SimpleModal_1.default, { title: t(Translation_1.Translation.Misc.CancellingReservation), open: visible, size: SimpleModal_1.SimpleModalSize.ExtraSmall, desktopFooter: footers, mobileFooter: footers, onClose: onClose },
|
|
90
95
|
react_1.default.createElement("div", { className: "u-pad" },
|
|
91
|
-
react_1.default.createElement(Text_1.default, null,
|
|
96
|
+
react_1.default.createElement(Text_1.default, null, t(Translation_1.Translation.Misc.ThisWillCancel)))));
|
|
92
97
|
};
|
|
93
98
|
const CodeNumberInformation = (props) => {
|
|
94
99
|
const { itineraries, booking } = props;
|
|
@@ -110,12 +115,12 @@ const CodeNumberInformation = (props) => {
|
|
|
110
115
|
[
|
|
111
116
|
{ label: 'Cancelled', value: cancelled, type: Pill_1.PillType.Danger },
|
|
112
117
|
{ label: 'Confirmed', value: confirmed, type: Pill_1.PillType.Success },
|
|
113
|
-
].map((item) => {
|
|
118
|
+
].map((item, index) => {
|
|
114
119
|
if (item.value.length > 0) {
|
|
115
|
-
return (react_1.default.createElement(react_1.
|
|
120
|
+
return (react_1.default.createElement(react_1.Fragment, { key: index },
|
|
116
121
|
react_1.default.createElement(Text_1.default, { className: "u-marg-right--light", inline: true, type: Text_1.TextType.Small }, item.label),
|
|
117
|
-
item.value.map((row,
|
|
118
|
-
return (react_1.default.createElement(react_1.Fragment, { key:
|
|
122
|
+
item.value.map((row, rowIndex) => {
|
|
123
|
+
return (react_1.default.createElement(react_1.Fragment, { key: rowIndex },
|
|
119
124
|
react_1.default.createElement(Text_1.default, { className: "u-marg-right", inline: true, type: Text_1.TextType.Small },
|
|
120
125
|
react_1.default.createElement(Pill_1.default, { type: item.type },
|
|
121
126
|
"#",
|
|
@@ -125,16 +130,19 @@ const CodeNumberInformation = (props) => {
|
|
|
125
130
|
}
|
|
126
131
|
}),
|
|
127
132
|
react_1.default.createElement("div", { className: "u-marg-top" },
|
|
128
|
-
react_1.default.createElement(Text_1.default, { className: "u-marg-right--light", inline: true, type: Text_1.TextType.Small },
|
|
133
|
+
react_1.default.createElement(Text_1.default, { className: "u-marg-right--light", inline: true, type: Text_1.TextType.Small }, t(Translation_1.Translation.UserPortal.ReservationSingleScreen.Itinerary)),
|
|
129
134
|
react_1.default.createElement(Pill_1.default, { variant: Pill_1.PillVariant.Outlined, type: Pill_1.PillType.Grey },
|
|
130
135
|
"#",
|
|
131
136
|
booking.itineraryId))));
|
|
132
137
|
};
|
|
138
|
+
const displayTime = (timeString) => (0, dayjs_1.default)().set('hours', +timeString.slice(0, 2)).set('minute', +timeString.slice(2)).format('h:mm A');
|
|
133
139
|
const AccountReservationSinglePage = () => {
|
|
134
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
140
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
135
141
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
142
|
+
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
136
143
|
const beContext = (0, react_1.useContext)(contexts_1.BookingEngineContext);
|
|
137
144
|
const { getHotel } = (0, react_1.useContext)(contexts_1.CompanyContext);
|
|
145
|
+
const ccx = (0, react_1.useContext)(contexts_1.CompanyContext);
|
|
138
146
|
const { getItinerary } = (0, LoggedInUserHook_1.useMember)();
|
|
139
147
|
const [showingCancellationFor, setShowingCancellationFor] = (0, react_1.useState)(null);
|
|
140
148
|
const [bookingHotel, setBookingHotel] = (0, react_1.useState)();
|
|
@@ -145,7 +153,7 @@ const AccountReservationSinglePage = () => {
|
|
|
145
153
|
const booking = getItinerary(params.resId);
|
|
146
154
|
if (booking === null || booking === void 0 ? void 0 : booking.itinerary) {
|
|
147
155
|
for (const itinerary of Object.values(booking.itinerary)) {
|
|
148
|
-
itineraries.push(Object.assign(Object.assign({}, itinerary), { bookingId: booking.itineraryId }));
|
|
156
|
+
itineraries.push(Object.assign(Object.assign({}, itinerary), { bookingId: booking.itineraryId, hotel: booking.hotel, hotelId: booking.hotelId }));
|
|
149
157
|
}
|
|
150
158
|
}
|
|
151
159
|
return [booking, itineraries];
|
|
@@ -157,16 +165,10 @@ const AccountReservationSinglePage = () => {
|
|
|
157
165
|
});
|
|
158
166
|
}
|
|
159
167
|
}, [booking, getHotel]);
|
|
160
|
-
const allCancelled = (0, react_1.useMemo)(() =>
|
|
161
|
-
|
|
162
|
-
if (row.status !== core_1.IBookingStatus.Cancelled) {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
}, [itineraries]);
|
|
168
|
+
const allCancelled = (0, react_1.useMemo)(() => itineraries.every((row) => row.status === core_1.IBookingStatus.Cancelled), [itineraries]);
|
|
169
|
+
const allCancellable = (0, react_1.useMemo)(() => itineraries.every((row) => row.isCancellable), [itineraries]);
|
|
168
170
|
if (!booking) {
|
|
169
|
-
return react_1.default.createElement(react_1.default.Fragment, null,
|
|
171
|
+
return react_1.default.createElement(react_1.default.Fragment, null, t(Translation_1.Translation.Misc.Loading));
|
|
170
172
|
}
|
|
171
173
|
const { line1, line2, postalCode, country } = (_a = bookingHotel === null || bookingHotel === void 0 ? void 0 : bookingHotel.address) !== null && _a !== void 0 ? _a : {};
|
|
172
174
|
const onActionClick = (action, item) => {
|
|
@@ -182,13 +184,15 @@ const AccountReservationSinglePage = () => {
|
|
|
182
184
|
const onPrintClicked = () => {
|
|
183
185
|
window.print();
|
|
184
186
|
};
|
|
185
|
-
|
|
186
|
-
|
|
187
|
+
const hotelImageElement = (hotel === null || hotel === void 0 ? void 0 : hotel.logo) && typeof hotel.logo !== 'string' ? hotel.logo : react_1.default.createElement("img", { src: typeof (hotel === null || hotel === void 0 ? void 0 : hotel.logo) === 'string' ? hotel.logo : ccx.logo, alt: "Hotel Logo", className: "u-block" });
|
|
188
|
+
return (react_1.default.createElement("div", { id: `reservation-body-${booking.itineraryId}` },
|
|
189
|
+
!!((_b = booking === null || booking === void 0 ? void 0 : booking.hotel) === null || _b === void 0 ? void 0 : _b.colors) && react_1.default.createElement("style", null, `#reservation-body-${booking.itineraryId} {${(0, Color_1.getAccentOverrideStyleContent)(booking.hotel.colors)}}`),
|
|
190
|
+
react_1.default.createElement("div", { className: "u-marg-top--heavy@m u-marg-top@m- u-marg-bottom--light u-print-none" },
|
|
187
191
|
react_1.default.createElement(react_router_dom_1.Link, { to: AccountRoutes_1.AccountRoutes.Reservations.path },
|
|
188
192
|
react_1.default.createElement(BEButton_1.default, { isText: true, icon: Icon_1.IconType.ArrowLeft, size: "small" }, t(Translation_1.Translation.Reservation.BackToYourReservations)))),
|
|
189
|
-
react_1.default.createElement("div", { className: "u-flex-align-stretch@m- u-flex u-flex-align-flex-end u-marg-bottom
|
|
193
|
+
react_1.default.createElement("div", { className: "u-flex-align-stretch@m- u-flex u-flex-align-flex-end u-marg-bottom u-pad-top@m u-flex-direction-column@m- u-print-none" },
|
|
190
194
|
react_1.default.createElement("div", null,
|
|
191
|
-
react_1.default.createElement(Text_1.default, { className: "u-marg-bottom--light" }, StringHelper_1.default.pluralWithCount(itineraries.length, 'Room')),
|
|
195
|
+
react_1.default.createElement(Text_1.default, { className: "u-marg-bottom--light" }, StringHelper_1.default.pluralWithCount(itineraries.length, 'Room', t)),
|
|
192
196
|
react_1.default.createElement(Headline_1.default, { size: "extra-large", className: "u-marg-bottom--light" }, getRoomNamesString(itineraries)),
|
|
193
197
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Body }, bookingHotel === null || bookingHotel === void 0 ? void 0 :
|
|
194
198
|
bookingHotel.name,
|
|
@@ -197,11 +201,16 @@ const AccountReservationSinglePage = () => {
|
|
|
197
201
|
react_1.default.createElement("div", { className: "u-flex u-flex-gap u-flex-direction-column@m- u-flex-gap--light@m- u-marg-top--heavy@m-" },
|
|
198
202
|
react_1.default.createElement(BEButton_1.default, { wide: isMobile, rounded: isMobile, textColor: Color_1.Color.Navy, isText: !isMobile, icon: Icon_1.IconType.Share, iconPosition: "left" }, t(Translation_1.Translation.Reservation.Share)),
|
|
199
203
|
react_1.default.createElement(BEButton_1.default, { wide: isMobile, mobileWidth: true, rounded: isMobile, textColor: Color_1.Color.Navy, className: "", isText: !isMobile, icon: Icon_1.IconType.Print, iconPosition: "left", onClick: onPrintClicked }, t(Translation_1.Translation.Reservation.Print)),
|
|
200
|
-
!allCancelled && (react_1.default.createElement(
|
|
204
|
+
!allCancelled && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
205
|
+
ModifyBookingFeature_1.default.isActive() ? (react_1.default.createElement(BEButton_1.default, { wide: isMobile, mobileWidth: true, rounded: isMobile, textColor: Color_1.Color.Navy, isText: !isMobile, disabled: !allCancellable }, StringHelper_1.default.plural(itineraries.length, t(Translation_1.Translation.Reservation.ModifyReservation), t))) : null,
|
|
206
|
+
react_1.default.createElement(BEButton_1.default, { danger: true, wide: isMobile, mobileWidth: true, rounded: isMobile, textColor: Color_1.Color.Alert, isText: !isMobile, onClick: () => setShowingCancellationFor(itineraries), disabled: !allCancellable }, StringHelper_1.default.plural(itineraries.length, t(Translation_1.Translation.Reservation.CancelReservation), t)))))),
|
|
201
207
|
react_1.default.createElement("span", { className: "u-print-none" },
|
|
202
|
-
react_1.default.createElement(LineBreak_1.default, { fullBleed: true })),
|
|
203
|
-
react_1.default.createElement(
|
|
204
|
-
react_1.default.createElement(
|
|
208
|
+
react_1.default.createElement(LineBreak_1.default, { smallMargins: true, fullBleed: true })),
|
|
209
|
+
react_1.default.createElement(PrintOnly_1.default, null,
|
|
210
|
+
react_1.default.createElement("div", { className: "c-header d-inline-block" },
|
|
211
|
+
react_1.default.createElement("div", { className: "c-header__logo u-flex u-flex-align-center" }, hotelImageElement))),
|
|
212
|
+
react_1.default.createElement("div", { className: "u-marg-bottom--massive u-marg-bottom--none@m- u-print-marg-none u-marg-top--heavy" },
|
|
213
|
+
react_1.default.createElement(ReservationList_1.default, { actions: [ReservationItem_1.ReservationAction.Cancel, ReservationItem_1.ReservationAction.Modify, ReservationItem_1.ReservationAction.BookAgain], reservationItems: itineraries, onActionClick: onActionClick, showCancelledNotifications: true })),
|
|
205
214
|
react_1.default.createElement(LineBreak_1.default, { noMargins: isMobile }),
|
|
206
215
|
react_1.default.createElement("div", { className: "u-flex u-marg-top--heavy@m-" },
|
|
207
216
|
react_1.default.createElement(Headline_1.default, { size: "large", bold: true }, t(Translation_1.Translation.Reservation.Total)),
|
|
@@ -211,14 +220,12 @@ const AccountReservationSinglePage = () => {
|
|
|
211
220
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.DarkGrey }, t(Translation_1.Translation.Reservation.PriceNote)))),
|
|
212
221
|
react_1.default.createElement("div", { className: "row u-marg-top--massive@m u-marg-top--heavy@m-" },
|
|
213
222
|
react_1.default.createElement("div", { className: "col-md-4 u-flex u-print-col-md-4" },
|
|
214
|
-
react_1.default.createElement(Card_1.Card, { className: "w-100", title: t(Translation_1.Translation.
|
|
215
|
-
react_1.default.createElement(IconText_1.default, { icon: Icon_1.IconType.Person }, ((
|
|
216
|
-
react_1.default.createElement(IconText_1.default, { icon: Icon_1.IconType.Email }, (
|
|
217
|
-
react_1.default.createElement(IconText_1.default, { icon: Icon_1.IconType.CreditCard },
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
' ',
|
|
221
|
-
react_1.default.createElement(Text_1.default, { inline: true, type: Text_1.TextType.Small, color: Color_1.Color.DarkGrey }, "(Visa)"))))),
|
|
223
|
+
react_1.default.createElement(Card_1.Card, { className: "w-100", title: t(Translation_1.Translation.Navigation.Menu.PaymentInformation) },
|
|
224
|
+
react_1.default.createElement(IconText_1.default, { icon: Icon_1.IconType.Person }, ((_d = (_c = itineraries === null || itineraries === void 0 ? void 0 : itineraries[0]) === null || _c === void 0 ? void 0 : _c.profile) === null || _d === void 0 ? void 0 : _d.firstName) + ' ' + ((_f = (_e = itineraries === null || itineraries === void 0 ? void 0 : itineraries[0]) === null || _e === void 0 ? void 0 : _e.profile) === null || _f === void 0 ? void 0 : _f.lastName)),
|
|
225
|
+
react_1.default.createElement(IconText_1.default, { icon: Icon_1.IconType.Email }, (_h = (_g = itineraries === null || itineraries === void 0 ? void 0 : itineraries[0]) === null || _g === void 0 ? void 0 : _g.profile) === null || _h === void 0 ? void 0 : _h.email),
|
|
226
|
+
react_1.default.createElement(IconText_1.default, { icon: Icon_1.IconType.CreditCard, TextProps: { type: Text_1.TextType.Small } },
|
|
227
|
+
"\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 1111 ",
|
|
228
|
+
react_1.default.createElement("span", { style: { color: Color_1.Color.DarkGrey } }, "(Visa)")))),
|
|
222
229
|
react_1.default.createElement("div", { className: "col-md-4 u-flex u-print-col-md-4" },
|
|
223
230
|
react_1.default.createElement(Card_1.Card, { className: "w-100", title: t(Translation_1.Translation.Reservation.HotelInformation) },
|
|
224
231
|
react_1.default.createElement(IconText_1.default, { icon: Icon_1.IconType.Map },
|
|
@@ -238,29 +245,38 @@ const AccountReservationSinglePage = () => {
|
|
|
238
245
|
" ",
|
|
239
246
|
t(Translation_1.Translation.Reservation.Policies)),
|
|
240
247
|
react_1.default.createElement("div", { className: "u-marg-top--medium" },
|
|
241
|
-
react_1.default.createElement("div", { className: "u-w-100" },
|
|
242
|
-
react_1.default.createElement("div", { className: "u-flex u-flex-direction-column@m- u-flex-gap--medium@m-" },
|
|
248
|
+
react_1.default.createElement("div", { className: "u-w-100 row" },
|
|
249
|
+
react_1.default.createElement("div", { className: "u-flex u-flex-direction-column@m- u-flex-gap--medium@m- col-6 col-md-3" },
|
|
243
250
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
244
251
|
react_1.default.createElement("strong", null, t(Translation_1.Translation.Reservation.CheckIn)),
|
|
245
252
|
react_1.default.createElement("br", null),
|
|
246
253
|
t(Translation_1.Translation.Reservation.After),
|
|
247
|
-
"
|
|
254
|
+
" ",
|
|
255
|
+
displayTime(booking.hotel.checkInTime)),
|
|
248
256
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
249
257
|
react_1.default.createElement("strong", null, t(Translation_1.Translation.Reservation.CheckOut)),
|
|
250
258
|
react_1.default.createElement("br", null),
|
|
251
|
-
t(Translation_1.Translation.Reservation.
|
|
252
|
-
"
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
259
|
+
t(Translation_1.Translation.Reservation.Before),
|
|
260
|
+
" ",
|
|
261
|
+
displayTime(booking.hotel.checkOutTime))))),
|
|
262
|
+
react_1.default.createElement("div", { className: "u-marg-bottom" }, itineraries.map((itinerary, index) => (react_1.default.createElement("div", { key: index, className: "u-marg-top--heavy" },
|
|
263
|
+
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
264
|
+
react_1.default.createElement(Text_1.default, { key: index, type: Text_1.TextType.Small },
|
|
265
|
+
react_1.default.createElement("strong", null,
|
|
266
|
+
t(Translation_1.Translation.Misc.Room),
|
|
267
|
+
" ",
|
|
268
|
+
index + 1),
|
|
269
|
+
"\u00A0",
|
|
270
|
+
itinerary.roomName,
|
|
271
|
+
" - ",
|
|
272
|
+
itinerary.rateName)),
|
|
273
|
+
react_1.default.createElement("div", { className: "u-marg-bottom" },
|
|
274
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, bold: true, className: "u-marg-bottom--light" }, t(Translation_1.Translation.Misc.GuaranteePolicy)),
|
|
275
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
276
|
+
react_1.default.createElement("span", { dangerouslySetInnerHTML: { __html: itinerary.guaranteePolicyLongDescription || '' } }))),
|
|
277
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, bold: true, className: "u-marg-bottom--light" }, t(Translation_1.Translation.Misc.CancellationPolicy)),
|
|
278
|
+
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small },
|
|
279
|
+
react_1.default.createElement("span", { dangerouslySetInnerHTML: { __html: itinerary.cancellationPolicyLongDescription || '' } })))))))),
|
|
264
280
|
react_1.default.createElement(CancelReservationModal, { onClose: onCloseCancellationModal, items: showingCancellationFor, booking: booking, visible: !!showingCancellationFor })));
|
|
265
281
|
};
|
|
266
282
|
exports.AccountReservationSinglePage = AccountReservationSinglePage;
|