@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":"EditMyProfile.js","sourceRoot":"/","sources":["src/components/members/EditMyProfile.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useContext, useEffect, useMemo } from 'react';\n\nimport { Controller, useForm } from 'react-hook-form';\n\nimport { ListOfCountriesAndCodes } from '@/models/CountryCodesAndNumbers';\nimport { IRoomstayMember } from '@roomstay/core';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport ForwardedSelect, { SelectOption } from '@/components/generic/ForwardedSelect';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport TextBox from '@/components/generic/TextBox';\nimport { AuthenticationContext, IChangePassword, RoomstayMemberContext } from '@frontend/contexts';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { PasswordBox } from '../generic/PasswordBox/PasswordBox';\n\nconst EditMyProfile: React.FC = () => {\n const { roomstayMember, loading, updateMemberDetails } = useContext(RoomstayMemberContext);\n const { error: cognitoError } = useContext(AuthenticationContext);\n\n const { handleSubmit, register, reset, control, formState, setError } = useForm<IRoomstayMember & IChangePassword>({\n defaultValues: useMemo(() => roomstayMember, [roomstayMember]),\n });\n\n useEffect(() => {\n reset(roomstayMember);\n }, [roomstayMember, reset]);\n\n const onSubmit = async (data: IRoomstayMember & IChangePassword) => {\n if (data?.currentPassword || data?.newPassword || data?.confirmPassword) {\n if (data.newPassword !== data.confirmPassword) {\n setError('confirmPassword', { message: \"Passwords don't match\" });\n return;\n }\n }\n await updateMemberDetails?.(data);\n reset({ ...roomstayMember, currentPassword: '', newPassword: '', confirmPassword: '' });\n };\n\n const countriesOptions: SelectOption[] = useMemo(() => {\n const countries = ListOfCountriesAndCodes.map(({ label }) => ({ label, value: label }));\n countries.unshift({ label: '', value: '' });\n return countries;\n }, []);\n\n const getValidationClass = (field: keyof (IRoomstayMember & IChangePassword)) => {\n if (formState.errors && formState.touchedFields[field]) {\n if (formState.errors[field]) {\n return 'error';\n } else {\n return 'success';\n }\n } else {\n return null;\n }\n };\n\n return (\n <>\n {roomstayMember ? (\n <div>\n <form onSubmit={handleSubmit(onSubmit)}>\n <InputGroup>\n <>\n <input className=\"c-input textbox\" disabled value={roomstayMember?.email} />\n </>\n <TextBox {...register('forename')} label=\"Forename\" />\n <TextBox {...register('surname')} label=\"Surname\" />\n <>\n <Controller\n control={control}\n name=\"phoneNumber\"\n rules={{\n maxLength: {\n value: 17,\n message: 'Phone number is too long',\n },\n pattern: {\n value: /^\\+[1-9]( |\\d){1,15}$/g,\n message: 'Incorrect phone number entered',\n },\n }}\n render={({ field }) => <EnhancedPhoneNumberField {...field} onChange={field.onChange} validationStatus={getValidationClass('phoneNumber')} />}\n />\n </>\n </InputGroup>\n\n <InputGroup>\n <TextBox {...register('address.address')} label=\"Address\" />\n <TextBox {...register('address.city')} label=\"City\" />\n <InputGroup dimensions=\"2/2\">\n <TextBox inputProps={{ className: '' }} {...register('address.zip')} label=\"Zip\" />\n <ForwardedSelect {...register('address.country')} options={countriesOptions} label=\"Country\" />\n </InputGroup>\n </InputGroup>\n\n <InputGroup>\n <PasswordBox {...register('currentPassword')} label=\"Current Password\" />\n <PasswordBox\n {...register('newPassword', {\n pattern: {\n value: /(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;|_~`]).{8,99}/,\n message: 'Your password requires at least 8 characters with: 1 uppercase letter, lowercase letter, number, and special character',\n },\n })}\n label=\"New Password\"\n />\n <PasswordBox\n {...register('confirmPassword', {\n pattern: {\n value: /(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;|_~`]).{8,99}/,\n message: 'Your password requires at least 8 characters with: 1 uppercase letter, 1 lowercase letter, 1 number, 1 special character',\n },\n })}\n label=\"Confirm Password\"\n />\n {cognitoError && (\n <p className=\"text-small\" style={{ color: '#ED4362' }}>\n {cognitoError?.message}\n </p>\n )}\n </InputGroup>\n\n <button type=\"submit\" disabled={loading} color=\"primary\">\n Save all changes\n </button>\n </form>\n {/* <Backdrop open={loading} style={{ zIndex: 1234 }}>\n <LargeLoader />\n </Backdrop> */}\n </div>\n ) : (\n <LargeLoader />\n )}\n </>\n );\n};\n\nexport default EditMyProfile;\n"]}
|
|
1
|
+
{"version":3,"file":"EditMyProfile.js","sourceRoot":"/","sources":["src/components/members/EditMyProfile.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useContext, useEffect, useMemo } from 'react';\n\nimport { Controller, useForm } from 'react-hook-form';\n\nimport { ListOfCountriesAndCodes } from '@/models/CountryCodesAndNumbers';\nimport { IRoomstayMember } from '@roomstay/core';\nimport EnhancedPhoneNumberField from '@/components/generic/custom/EnhancedPhoneNumberField/EnhancedPhoneNumberField';\nimport ForwardedSelect, { SelectOption } from '@/components/generic/ForwardedSelect';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport TextBox from '@/components/generic/TextBox';\nimport { AuthenticationContext, IChangePassword, RoomstayMemberContext } from '@frontend/contexts';\nimport InputGroup from '@/components/generic/InputGroup/InputGroup';\nimport { PasswordBox } from '../generic/PasswordBox/PasswordBox';\nimport { makePasswordPatternRule } from '@/util/Validation';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '@/translations/Translation';\n\nconst EditMyProfile: React.FC = () => {\n const { roomstayMember, loading, updateMemberDetails } = useContext(RoomstayMemberContext);\n const { error: cognitoError } = useContext(AuthenticationContext);\n\n const { handleSubmit, register, reset, control, formState, setError } = useForm<IRoomstayMember & IChangePassword>({\n defaultValues: useMemo(() => roomstayMember, [roomstayMember]),\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n reset(roomstayMember);\n }, [roomstayMember, reset]);\n\n const onSubmit = async (data: IRoomstayMember & IChangePassword) => {\n if (data?.currentPassword || data?.newPassword || data?.confirmPassword) {\n if (data.newPassword !== data.confirmPassword) {\n setError('confirmPassword', { message: t(Translation.UserPortal.ProfileScreen.Validation.Password.DoesNotMatch) });\n return;\n }\n }\n await updateMemberDetails?.(data);\n reset({ ...roomstayMember, currentPassword: '', newPassword: '', confirmPassword: '' });\n };\n\n const countriesOptions: SelectOption[] = useMemo(() => {\n const countries = ListOfCountriesAndCodes.map(({ label }) => ({ label, value: label }));\n countries.unshift({ label: '', value: '' });\n return countries;\n }, []);\n\n const getValidationClass = (field: keyof (IRoomstayMember & IChangePassword)) => {\n if (formState.errors && formState.touchedFields[field]) {\n if (formState.errors[field]) {\n return 'error';\n } else {\n return 'success';\n }\n } else {\n return null;\n }\n };\n\n return (\n <>\n {roomstayMember ? (\n <div>\n <form onSubmit={handleSubmit(onSubmit)}>\n <InputGroup>\n <>\n <input className=\"c-input textbox\" disabled value={roomstayMember?.email} />\n </>\n <TextBox {...register('forename')} label={t(Translation.UserPortal.ProfileScreen.Field.Forename)} />\n <TextBox {...register('surname')} label={t(Translation.UserPortal.ProfileScreen.Field.Surname)} />\n <>\n <Controller\n control={control}\n name=\"phoneNumber\"\n rules={{\n maxLength: {\n value: 17,\n message: t(Translation.UserPortal.ProfileScreen.Validation.Phone.IsTooLong),\n },\n pattern: {\n value: /^\\+[1-9]( |\\d){1,15}$/g,\n message: t(Translation.UserPortal.ProfileScreen.Validation.Phone.IsNotValid),\n },\n }}\n render={({ field }) => <EnhancedPhoneNumberField {...field} onChange={field.onChange} validationStatus={getValidationClass('phoneNumber')} />}\n />\n </>\n </InputGroup>\n\n <InputGroup>\n <TextBox {...register('address.address')} label={t(Translation.UserPortal.ProfileScreen.Field.Address)} />\n <TextBox {...register('address.city')} label={t(Translation.UserPortal.ProfileScreen.Field.City)} />\n <InputGroup dimensions=\"2/2\">\n <TextBox inputProps={{ className: '' }} {...register('address.zip')} label={t(Translation.UserPortal.ProfileScreen.Field.Zip)} />\n <ForwardedSelect {...register('address.country')} options={countriesOptions} label={t(Translation.UserPortal.ProfileScreen.Field.Country)} />\n </InputGroup>\n </InputGroup>\n\n <InputGroup>\n <PasswordBox {...register('currentPassword')} label={t(Translation.UserPortal.ProfileScreen.Field.CurrentPassword)} />\n <PasswordBox\n {...register('newPassword', {\n pattern: makePasswordPatternRule(t),\n })}\n label={t(Translation.UserPortal.ProfileScreen.Field.NewPassword)}\n />\n <PasswordBox\n {...register('confirmPassword', {\n pattern: makePasswordPatternRule(t),\n })}\n label={t(Translation.UserPortal.ProfileScreen.Field.ConfirmPassword)}\n />\n {cognitoError && (\n <p className=\"text-small\" style={{ color: '#ED4362' }}>\n {cognitoError?.message}\n </p>\n )}\n </InputGroup>\n\n <button type=\"submit\" disabled={loading} color=\"primary\">\n {t(Translation.Misc.SaveAllChanges)}\n </button>\n </form>\n {/* <Backdrop open={loading} style={{ zIndex: 1234 }}>\n <LargeLoader />\n </Backdrop> */}\n </div>\n ) : (\n <LargeLoader />\n )}\n </>\n );\n};\n\nexport default EditMyProfile;\n"]}
|
|
@@ -35,7 +35,7 @@ const react_i18next_1 = require("react-i18next");
|
|
|
35
35
|
const Translation_1 = require("translations/Translation");
|
|
36
36
|
const BEButton_1 = __importDefault(require("../generic/BEButton"));
|
|
37
37
|
const LanguageProvider_1 = require("../../providers/LanguageProvider");
|
|
38
|
-
const
|
|
38
|
+
const currencyHelper = __importStar(require("../../util/CurrencyHelper"));
|
|
39
39
|
const Fade_1 = __importDefault(require("../../animations/Fade"));
|
|
40
40
|
const RoomstayThemeEngine_1 = __importDefault(require("../../providers/RoomstayThemeEngine"));
|
|
41
41
|
const DataLayer_1 = __importDefault(require("../../util/DataLayer"));
|
|
@@ -54,10 +54,11 @@ const AuthenticatedUserModal = react_1.default.lazy(() => Promise.resolve().then
|
|
|
54
54
|
})));
|
|
55
55
|
function Header() {
|
|
56
56
|
const { hotel } = (0, hooks_1.useCurrentHotel)();
|
|
57
|
+
const location = (0, react_router_dom_1.useLocation)();
|
|
57
58
|
const ccx = (0, react_1.useContext)(contexts_1.CompanyContext);
|
|
58
59
|
const { currentStep } = (0, react_1.useContext)(contexts_1.FullPageEngineContext);
|
|
59
|
-
const { roomstayMember } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
|
|
60
|
-
const loginAnchorEl = react_1.default.
|
|
60
|
+
const { roomstayMember, isFetchingMember } = (0, react_1.useContext)(contexts_1.RoomstayMemberContext);
|
|
61
|
+
const [loginAnchorEl, setLoginAnchorEl] = react_1.default.useState(null);
|
|
61
62
|
const [hotelLogo, setHotelLogo] = (0, react_1.useState)('');
|
|
62
63
|
const [showHotelLinks, setShowHotelLinks] = (0, react_1.useState)(true);
|
|
63
64
|
const [mobileMenuOpen, setMobileMenuOpen] = (0, react_1.useState)(false);
|
|
@@ -85,12 +86,14 @@ function Header() {
|
|
|
85
86
|
};
|
|
86
87
|
const onLoginClickHandler = () => {
|
|
87
88
|
setLoginModalOpen(true);
|
|
88
|
-
closeMobileMenuClickHandler();
|
|
89
89
|
};
|
|
90
90
|
(0, react_1.useEffect)(() => {
|
|
91
91
|
let timeout;
|
|
92
92
|
if (mobileMenuFaderStatus) {
|
|
93
93
|
setMobileMenuOpen(true);
|
|
94
|
+
if (location.pathname.startsWith('/account')) {
|
|
95
|
+
setLoginModalOpen(true);
|
|
96
|
+
}
|
|
94
97
|
}
|
|
95
98
|
else {
|
|
96
99
|
timeout = setTimeout(() => {
|
|
@@ -127,13 +130,21 @@ function Header() {
|
|
|
127
130
|
cancelled = true;
|
|
128
131
|
};
|
|
129
132
|
}, [hotel, hotel === null || hotel === void 0 ? void 0 : hotel.logo, ccx.logo, currentStep]);
|
|
133
|
+
(0, react_1.useEffect)(() => {
|
|
134
|
+
if (mobileMenuOpen) {
|
|
135
|
+
document.body.style.setProperty('overflow', 'hidden');
|
|
136
|
+
}
|
|
137
|
+
return () => {
|
|
138
|
+
document.body.style.removeProperty('overflow');
|
|
139
|
+
};
|
|
140
|
+
}, [mobileMenuOpen]);
|
|
130
141
|
let hotelImageElement = hotelLogo ? react_1.default.createElement("img", { src: hotelLogo, alt: "Hotel Logo", className: "u-block" }) : hotel === null || hotel === void 0 ? void 0 : hotel.logo;
|
|
131
142
|
if (typeof hotelImageElement === 'string' && !hotelImageElement.startsWith('<')) {
|
|
132
143
|
hotelImageElement = react_1.default.createElement("img", { src: hotelImageElement, alt: "Hotel Logo" });
|
|
133
144
|
}
|
|
134
145
|
const links = (react_1.default.createElement("ul", { className: "c-header__list" },
|
|
135
146
|
react_1.default.createElement("li", null,
|
|
136
|
-
react_1.default.createElement(react_router_dom_1.NavLink, { to:
|
|
147
|
+
react_1.default.createElement(react_router_dom_1.NavLink, { to: Object.assign(Object.assign({}, location), { pathname: '/hotel-info/' }), activeClassName: "is-active", onClick: closeMobileMenuClickHandler },
|
|
137
148
|
react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small, color: Color_1.Color.White },
|
|
138
149
|
react_1.default.createElement("strong", null, t(Translation_1.Translation.Navigation.HotelInfo))))),
|
|
139
150
|
react_1.default.createElement("li", null, (hotel === null || hotel === void 0 ? void 0 : hotel.forwardFindReservationToSynxis) ? (react_1.default.createElement("a", { href: `https://be.synxis.com/signin?hotel=${hotel === null || hotel === void 0 ? void 0 : hotel.hotelID}`, target: "_blank", rel: "noreferrer" },
|
|
@@ -154,13 +165,16 @@ function Header() {
|
|
|
154
165
|
};
|
|
155
166
|
}), value: ccx.currentLanguage, onChange: onLanguageChangeHandler, keyName: "value", labelName: "text" }))),
|
|
156
167
|
react_1.default.createElement("li", null,
|
|
157
|
-
react_1.default.createElement(Select_1.Select, { nativeOnMobile: true, options:
|
|
158
|
-
MemberPortalFeature_1.default.isActive() && (react_1.default.createElement("li", { ref:
|
|
168
|
+
react_1.default.createElement(Select_1.Select, { nativeOnMobile: true, options: currencyHelper.getCurrencyItems(), value: ccx.currentCurrency, onChange: onCurrencyChangeHandler, keyName: "value", labelName: "text" })),
|
|
169
|
+
MemberPortalFeature_1.default.isActive() && (react_1.default.createElement("li", { ref: (el) => setLoginAnchorEl(el) }, roomstayMember ? (react_1.default.createElement(BEButton_1.default, { size: "small", isText: true, onClick: onLoginClickHandler, stopIconAnimation: true },
|
|
159
170
|
roomstayMember.forename,
|
|
160
171
|
" ",
|
|
161
172
|
roomstayMember.surname,
|
|
162
173
|
react_1.default.createElement("span", { className: "u-white u-pad-left--light", style: { marginRight: -13 } },
|
|
163
|
-
react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowDown2, size: "1.3em", color: Color_1.Color.DarkGrey })))) : (react_1.default.createElement(BEButton_1.default, { size: "small", isText: true, onClick:
|
|
174
|
+
react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowDown2, size: "1.3em", color: Color_1.Color.DarkGrey })))) : (react_1.default.createElement(BEButton_1.default, { size: "small", isText: true, onClick: () => {
|
|
175
|
+
onLoginClickHandler();
|
|
176
|
+
closeMobileMenuClickHandler();
|
|
177
|
+
}, stopIconAnimation: true },
|
|
164
178
|
t(Translation_1.Translation.Navigation.SignIn.SignIn),
|
|
165
179
|
react_1.default.createElement("span", { className: "u-white u-pad-left--light", style: { marginRight: -13 } },
|
|
166
180
|
react_1.default.createElement(Icon_1.default, { icon: Icon_1.IconType.ArrowDown2, size: "1.3em", color: Color_1.Color.DarkGrey })))))))));
|
|
@@ -189,7 +203,13 @@ function Header() {
|
|
|
189
203
|
react_1.default.createElement("div", { className: "mobile-header-menu--content" },
|
|
190
204
|
!!hotel && links,
|
|
191
205
|
configs))))),
|
|
192
|
-
MemberPortalFeature_1.default.isActive() && (react_1.default.createElement(react_1.Suspense, { fallback: SmallSpinner_1.default }, roomstayMember ? (react_1.default.createElement(AuthenticatedUserModal, { open: loginModalOpen, onClose: closeLoginClickHandler, anchorEl: loginAnchorEl
|
|
206
|
+
MemberPortalFeature_1.default.isActive() && (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(SmallSpinner_1.default, null) }, roomstayMember || isFetchingMember ? (react_1.default.createElement(AuthenticatedUserModal, { open: loginModalOpen, onClose: closeLoginClickHandler, onCloseMenu: closeMobileMenuClickHandler, anchorEl: loginAnchorEl })) : (react_1.default.createElement(UnauthenticatedUserModal, { open: loginModalOpen, onClose: () => {
|
|
207
|
+
closeLoginClickHandler();
|
|
208
|
+
closeMobileMenuClickHandler();
|
|
209
|
+
}, onOpenOnMobile: () => {
|
|
210
|
+
onLoginClickHandler();
|
|
211
|
+
openMobileMenuClickHandler();
|
|
212
|
+
}, anchorEl: loginAnchorEl }))))));
|
|
193
213
|
}
|
|
194
214
|
exports.default = Header;
|
|
195
215
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"/","sources":["src/components/navigation/Header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyE;AACzE,uEAAgE;AAChE,wCAAqC;AACrC,uDAAiD;AACjD,kEAA0E;AAE1E,iDAA+C;AAC/C,0DAAuD;AACvD,6EAAqD;AACrD,mEAA0E;AAC1E,oFAA4D;AAC5D,6DAA8C;AAC9C,0FAAkE;AAClE,iEAAyC;AACzC,2CAAkD;AAClD,iDAAkG;AAClG,kFAA0D;AAC1D,+DAAoE;AACpE,kGAA0E;AAC1E,+DAAkF;AAClF,4FAAoE;AAEpE,MAAM,wBAAwB,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7C,kDAAO,iEAAiE,IAAE,IAAI,CAAC,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9G,OAAO,EAAE,wBAAwB;CACpC,CAAC,CAAC,CACN,CAAC;AACF,MAAM,sBAAsB,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3C,kDAAO,+DAA+D,IAAE,IAAI,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,OAAO,EAAE,sBAAsB;CAClC,CAAC,CAAC,CACN,CAAC;AAOF,SAAwB,MAAM;IAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IACpC,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAE1D,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAE7D,MAAM,aAAa,GAAG,eAAK,CAAC,MAAM,CAAuB,IAAI,CAAC,CAAC;IAE/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,kBAAkB,GAAG,mCAAgB,CAAC,YAAY,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAe,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAe,CAAC;IAE3E,MAAM,uBAAuB,GAAG,CAAC,QAAkB,EAAE,EAAE;QACnD,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjC,mCAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE;QACjD,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjC,mBAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACrC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACpC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,2BAA2B,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,OAAuB,CAAC;QAE5B,IAAI,qBAAqB,EAAE;YACvB,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC3B;aAAM;YACH,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;QAED,OAAO,GAAG,EAAE;YACR,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,IAAI,CAAC,SAAS,EAAE;oBACZ,YAAY,CAAC,GAAG,CAAC,CAAC;iBACrB;YACL,CAAC,CAAC;YAEF,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACpB,CAAC,CAAC;QAEF,0BAA0B;QAC1B,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,KAAK,mBAAS,CAAC,EAAE;YACvC,IAAI,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;gBACjC,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC;aAC1B;SACJ;aAAM;YACH,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,gEAAgE;QAChE,iBAAiB,CAAC,WAAW,KAAK,mBAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAExD,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhD,IAAI,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,uCAAK,GAAG,EAAE,SAAS,EAAE,GAAG,EAAC,YAAY,EAAC,SAAS,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC;IAE/G,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7E,iBAAiB,GAAG,uCAAK,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAC,YAAY,GAAG,CAAC;KACxE;IAED,MAAM,KAAK,GAAG,CACV,sCAAI,SAAS,EAAC,gBAAgB;QAC1B;YACI,8BAAC,0BAAO,IAAC,EAAE,EAAC,cAAc,EAAC,eAAe,EAAC,WAAW,EAAC,OAAO,EAAE,2BAA2B;gBACvF,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK;oBAC1C,8CAAS,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAU,CACnD,CACD,CACT;QACL,0CACK,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,8BAA8B,EAAC,CAAC,CAAC,CACrC,qCAAG,IAAI,EAAE,sCAAsC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY;YAC7F,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,IAAI,UAC/C,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CACvC,CACP,CACP,CAAC,CAAC,CAAC,CACA,8BAAC,0BAAO,IAAC,EAAE,EAAC,mBAAmB,EAAC,eAAe,EAAC,WAAW,EAAC,OAAO,EAAE,2BAA2B;YAC5F,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,IAAI,UAC/C,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CACvC,CACD,CACb,CACA;QACL,sCAAI,SAAS,EAAC,OAAO;YACjB,qCAAG,IAAI,EAAE,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE,EAAE,OAAO,EAAE,2BAA2B;gBAChE,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,oBAAa,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAK,CAAC,KAAK;oBACjF,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,KAAK,GAAI;oBAC9D,0CAAQ,SAAS,EAAC,oBAAoB,IAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAU,CAC3D,CACP,CACH,CACJ,CACR,CAAC;IAEF,MAAM,OAAO,GAAG,CACZ;QACI,sCAAI,SAAS,EAAC,gBAAgB;YACzB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB;gBACI,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE;wBACrC,OAAO;4BACH,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC;yBACrD,CAAC;oBACN,CAAC,CAAC,EACF,KAAK,EAAE,GAAG,CAAC,eAAe,EAC1B,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,GAClB,CACD,CACR;YACD;gBACI,8BAAC,eAAM,IACH,cAAc,QACd,OAAO,EAAE,0BAAgB,CAAC,gBAAgB,EAAE,EAC5C,KAAK,EAAE,GAAG,CAAC,eAAe,EAC1B,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,MAAM,GAClB,CACD;YAEJ,6BAAmB,CAAC,QAAQ,EAAE,IAAI,CAC/B,sCAAI,GAAG,EAAE,aAAa,IACjB,cAAc,CAAC,CAAC,CAAC,CACd,8BAAC,kBAAQ,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,QAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB;gBACxE,cAAc,CAAC,QAAQ;;gBAAG,cAAc,CAAC,OAAO;gBACjD,wCAAM,SAAS,EAAC,2BAA2B,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;oBACnE,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,UAAU,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,GAAI,CACpE,CACA,CACd,CAAC,CAAC,CAAC,CACA,8BAAC,kBAAQ,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,QAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB;gBACxE,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBACxC,wCAAM,SAAS,EAAC,2BAA2B,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;oBACnE,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,UAAU,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,aAAK,CAAC,QAAQ,GAAI,CACpE,CACA,CACd,CACA,CACR,CACA,CACN,CACN,CAAC;IAEF,OAAO,CACH;QACI,uCAAK,SAAS,EAAC,uBAAuB;YAClC,uCAAK,SAAS,EAAC,WAAW;gBACtB,uCAAK,SAAS,EAAC,QAAQ;oBACnB,uCAAK,SAAS,EAAC,uCAAuC;wBAClD,uCAAK,SAAS,EAAC,gBAAgB;4BAC3B,qCAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,IAC1F,iBAAiB,CAClB,CACF;wBACL,CAAC,CAAC,cAAc,IAAI,KAAK,CACxB;oBACN,uCAAK,SAAS,EAAC,eAAe;wBACzB,OAAO;wBACR,uCAAK,SAAS,EAAC,uBAAuB;4BAClC,wCAAM,SAAS,EAAC,oBAAoB;gCAChC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,OAAO,EAAE,0BAA0B,GAAI,CAC/F,CACL,CACJ,CACJ,CACJ,CACJ;QACL,cAAc,IAAI,CACf,8BAAC,uBAAc,IAAC,MAAM,EAAE,6BAAmB,CAAC,eAAe;YACvD,8BAAC,cAAa,IAAC,IAAI,EAAE,qBAAqB;gBACtC,uCAAK,SAAS,EAAE,sBAAsB,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;oBAC5E,uCAAK,SAAS,EAAC,oCAAoC;wBAC/C,uCAAK,SAAS,EAAC,gBAAgB;4BAC3B,8BAAC,uBAAI,IAAC,EAAE,EAAC,GAAG,EAAC,OAAO,EAAE,2BAA2B,IAC5C,iBAAiB,CACf,CACL;wBACN,uCAAK,SAAS,EAAC,uBAAuB;4BAClC,wCAAM,SAAS,EAAC,oBAAoB;gCAChC,8BAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,aAAK,CAAC,KAAK,EAAE,OAAO,EAAE,2BAA2B,GAAI,CACjG,CACL,CACJ;oBACN,uCAAK,SAAS,EAAC,6BAA6B;wBACvC,CAAC,CAAC,KAAK,IAAI,KAAK;wBAEhB,OAAO,CACN,CACJ,CACM,CACH,CACpB;QACA,6BAAmB,CAAC,QAAQ,EAAE,IAAI,CAC/B,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,sBAAY,IAC3B,cAAc,CAAC,CAAC,CAAC,CACd,8BAAC,sBAAsB,IAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,aAAa,CAAC,OAAO,GAAI,CACrH,CAAC,CAAC,CAAC,CACA,8BAAC,wBAAwB,IAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,aAAa,CAAC,OAAO,GAAI,CACvH,CACM,CACd,CACF,CACN,CAAC;AACN,CAAC;AAxPD,yBAwPC","sourcesContent":["import React, { Suspense, useContext, useEffect, useState } from 'react';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Color } from '@/util/Color';\nimport { Link, NavLink } from 'react-router-dom';\nimport Text, { TextTransform, TextType } from '@/components/generic/Text';\n\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport BEButton from '@/components/generic/BEButton';\nimport { Language, LanguageProvider } from '@/providers/LanguageProvider';\nimport CurrencyProvider from '@/providers/CurrencyProvider';\nimport FadeAnimation from '@/animations/Fade';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport DataLayer from '@/util/DataLayer';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CompanyContext, FullPageEngineContext, RoomstayMemberContext } from '@frontend/contexts';\nimport StepHotel from '@/pages/steps/StepHotel/StepHotel';\nimport { RoomstayPortal } from '@/components/generic/Portal/Portal';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\n\nconst UnauthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/UnauthenticatedUserModal').then(({ UnauthenticatedUserModal }) => ({\n default: UnauthenticatedUserModal,\n }))\n);\nconst AuthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/AuthenticatedUserModal').then(({ AuthenticatedUserModal }) => ({\n default: AuthenticatedUserModal,\n }))\n);\n\ninterface ILanguageSelectOption {\n value: Language;\n text: string;\n}\n\nexport default function Header() {\n const { hotel } = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n const { currentStep } = useContext(FullPageEngineContext);\n\n const { roomstayMember } = useContext(RoomstayMemberContext);\n\n const loginAnchorEl = React.useRef<HTMLLIElement | null>(null);\n\n const [hotelLogo, setHotelLogo] = useState('');\n const [showHotelLinks, setShowHotelLinks] = useState(true);\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [mobileMenuFaderStatus, setMobileMenuFaderStatus] = useState(false);\n const [loginModalOpen, setLoginModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const availableLanguages = LanguageProvider.getLanguages();\n\n const langKeys: Language[] = Object.keys(availableLanguages) as Language[];\n\n const onLanguageChangeHandler = (selected: Language) => {\n ccx.setCurrentLanguage(selected);\n LanguageProvider.changeLanguage(selected);\n };\n\n const onCurrencyChangeHandler = (selected: string) => {\n ccx.setCurrentCurrency(selected);\n DataLayer.instance.setCurrencyCodes(selected);\n };\n\n const closeMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(false);\n };\n const openMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(true);\n };\n const closeLoginClickHandler = () => {\n setLoginModalOpen(false);\n };\n const onLoginClickHandler = () => {\n setLoginModalOpen(true);\n closeMobileMenuClickHandler();\n };\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (mobileMenuFaderStatus) {\n setMobileMenuOpen(true);\n } else {\n timeout = setTimeout(() => {\n setMobileMenuOpen(false);\n }, 500);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, [mobileMenuFaderStatus]);\n\n useEffect(() => {\n let cancelled = false;\n\n const loadImage = (src: string) => {\n const image = new Image();\n image.onload = () => {\n if (!cancelled) {\n setHotelLogo(src);\n }\n };\n\n image.src = src;\n };\n\n // Check the Logo per step\n if (hotel && !(currentStep === StepHotel)) {\n if (typeof hotel?.logo === 'string') {\n loadImage(hotel?.logo);\n }\n } else {\n loadImage(ccx.logo);\n }\n\n // Check wether we should display the hotel related links or not\n setShowHotelLinks(currentStep !== StepHotel && !!hotel);\n\n return () => {\n cancelled = true;\n };\n }, [hotel, hotel?.logo, ccx.logo, currentStep]);\n\n let hotelImageElement = hotelLogo ? <img src={hotelLogo} alt=\"Hotel Logo\" className=\"u-block\" /> : hotel?.logo;\n\n if (typeof hotelImageElement === 'string' && !hotelImageElement.startsWith('<')) {\n hotelImageElement = <img src={hotelImageElement} alt=\"Hotel Logo\" />;\n }\n\n const links = (\n <ul className=\"c-header__list\">\n <li>\n <NavLink to=\"/hotel-info/\" activeClassName=\"is-active\" onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} color={Color.White}>\n <strong>{t(Translation.Navigation.HotelInfo)}</strong>\n </Text>\n </NavLink>\n </li>\n <li>\n {hotel?.forwardFindReservationToSynxis ? (\n <a href={`https://be.synxis.com/signin?hotel=${hotel?.hotelID}`} target=\"_blank\" rel=\"noreferrer\">\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </a>\n ) : (\n <NavLink to=\"/find-reservation\" activeClassName=\"is-active\" onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </NavLink>\n )}\n </li>\n <li className=\"phone\">\n <a href={`tel:${hotel?.phone}`} onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} transforms={[TextTransform.Uppercase]} color={Color.White}>\n <Icon icon={IconType.Phone} size=\"16px\" color={Color.White} />\n <strong className=\"u-marg-left--light\">{hotel?.phone}</strong>\n </Text>\n </a>\n </li>\n </ul>\n );\n\n const configs = (\n <>\n <ul className=\"c-header__list\">\n {langKeys.length > 1 && (\n <li>\n <Select<ILanguageSelectOption, 'value'>\n nativeOnMobile\n options={langKeys.map((lang: Language) => {\n return {\n value: lang,\n text: LanguageProvider.getPrettyLanguageName(lang),\n };\n })}\n value={ccx.currentLanguage}\n onChange={onLanguageChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n )}\n <li>\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={CurrencyProvider.getCurrencyItems()}\n value={ccx.currentCurrency}\n onChange={onCurrencyChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n\n {MemberPortalFeature.isActive() && (\n <li ref={loginAnchorEl}>\n {roomstayMember ? (\n <BEButton size=\"small\" isText onClick={onLoginClickHandler} stopIconAnimation>\n {roomstayMember.forename} {roomstayMember.surname}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n ) : (\n <BEButton size=\"small\" isText onClick={onLoginClickHandler} stopIconAnimation>\n {t(Translation.Navigation.SignIn.SignIn)}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n )}\n </li>\n )}\n </ul>\n </>\n );\n\n return (\n <>\n <div className=\"c-header u-print-none\">\n <div className=\"container\">\n <div className=\"u-flex\">\n <div className=\"u-flex u-flex-flex-start u-flex__item\">\n <div className=\"c-header__logo\">\n <a href={showHotelLinks ? hotel?.hotelUrl : ccx?.logoLink} onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </a>\n </div>\n {!!showHotelLinks && links}\n </div>\n <div className=\"u-flex mx-100\">\n {configs}\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Menu} size=\"26px\" color={Color.White} onClick={openMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n {mobileMenuOpen && (\n <RoomstayPortal target={RoomstayThemeEngine.EngineContainer}>\n <FadeAnimation open={mobileMenuFaderStatus}>\n <div className={`mobile-header-menu ${mobileMenuFaderStatus ? '' : '--closing'}`}>\n <div className=\"mobile-header-menu--replica u-flex\">\n <div className=\"c-header__logo\">\n <Link to=\"/\" onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </Link>\n </div>\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Close} size=\"26px\" color={Color.White} onClick={closeMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n <div className=\"mobile-header-menu--content\">\n {!!hotel && links}\n\n {configs}\n </div>\n </div>\n </FadeAnimation>\n </RoomstayPortal>\n )}\n {MemberPortalFeature.isActive() && (\n <Suspense fallback={SmallSpinner}>\n {roomstayMember ? (\n <AuthenticatedUserModal open={loginModalOpen} onClose={closeLoginClickHandler} anchorEl={loginAnchorEl.current} />\n ) : (\n <UnauthenticatedUserModal open={loginModalOpen} onClose={closeLoginClickHandler} anchorEl={loginAnchorEl.current} />\n )}\n </Suspense>\n )}\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"/","sources":["src/components/navigation/Header.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Suspense, useContext, useEffect, useState } from 'react';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Color } from '@/util/Color';\nimport { Link, NavLink, useLocation } from 'react-router-dom';\nimport Text, { TextTransform, TextType } from '@/components/generic/Text';\n\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport BEButton from '@/components/generic/BEButton';\nimport { Language, LanguageProvider } from '@/providers/LanguageProvider';\nimport * as currencyHelper from '@/util/CurrencyHelper';\nimport FadeAnimation from '@/animations/Fade';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport DataLayer from '@/util/DataLayer';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CompanyContext, FullPageEngineContext, RoomstayMemberContext } from '@frontend/contexts';\nimport StepHotel from '@/pages/steps/StepHotel/StepHotel';\nimport { RoomstayPortal } from '@/components/generic/Portal/Portal';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport { IDefaultSelectOption, Select } from '@/components/generic/Select/Select';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\n\nconst UnauthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/UnauthenticatedUserModal').then(({ UnauthenticatedUserModal }) => ({\n default: UnauthenticatedUserModal,\n }))\n);\nconst AuthenticatedUserModal = React.lazy(() =>\n import('@/components/generic/modal/SigninModal/AuthenticatedUserModal').then(({ AuthenticatedUserModal }) => ({\n default: AuthenticatedUserModal,\n }))\n);\n\ninterface ILanguageSelectOption {\n value: Language;\n text: string;\n}\n\nexport default function Header() {\n const { hotel } = useCurrentHotel();\n const location = useLocation();\n const ccx = useContext(CompanyContext);\n const { currentStep } = useContext(FullPageEngineContext);\n\n const { roomstayMember, isFetchingMember } = useContext(RoomstayMemberContext);\n\n const [loginAnchorEl, setLoginAnchorEl] = React.useState<HTMLLIElement | null>(null);\n\n const [hotelLogo, setHotelLogo] = useState('');\n const [showHotelLinks, setShowHotelLinks] = useState(true);\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [mobileMenuFaderStatus, setMobileMenuFaderStatus] = useState(false);\n const [loginModalOpen, setLoginModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const availableLanguages = LanguageProvider.getLanguages();\n\n const langKeys: Language[] = Object.keys(availableLanguages) as Language[];\n\n const onLanguageChangeHandler = (selected: Language) => {\n ccx.setCurrentLanguage(selected);\n LanguageProvider.changeLanguage(selected);\n };\n\n const onCurrencyChangeHandler = (selected: string) => {\n ccx.setCurrentCurrency(selected);\n DataLayer.instance.setCurrencyCodes(selected);\n };\n\n const closeMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(false);\n };\n const openMobileMenuClickHandler = () => {\n setMobileMenuFaderStatus(true);\n };\n const closeLoginClickHandler = () => {\n setLoginModalOpen(false);\n };\n const onLoginClickHandler = () => {\n setLoginModalOpen(true);\n };\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (mobileMenuFaderStatus) {\n setMobileMenuOpen(true);\n if (location.pathname.startsWith('/account')) {\n setLoginModalOpen(true);\n }\n } else {\n timeout = setTimeout(() => {\n setMobileMenuOpen(false);\n }, 500);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, [mobileMenuFaderStatus]);\n\n useEffect(() => {\n let cancelled = false;\n\n const loadImage = (src: string) => {\n const image = new Image();\n image.onload = () => {\n if (!cancelled) {\n setHotelLogo(src);\n }\n };\n\n image.src = src;\n };\n\n // Check the Logo per step\n if (hotel && !(currentStep === StepHotel)) {\n if (typeof hotel?.logo === 'string') {\n loadImage(hotel?.logo);\n }\n } else {\n loadImage(ccx.logo);\n }\n\n // Check wether we should display the hotel related links or not\n setShowHotelLinks(currentStep !== StepHotel && !!hotel);\n\n return () => {\n cancelled = true;\n };\n }, [hotel, hotel?.logo, ccx.logo, currentStep]);\n\n useEffect(() => {\n if (mobileMenuOpen) {\n document.body.style.setProperty('overflow', 'hidden');\n }\n return () => {\n document.body.style.removeProperty('overflow');\n };\n }, [mobileMenuOpen]);\n\n let hotelImageElement = hotelLogo ? <img src={hotelLogo} alt=\"Hotel Logo\" className=\"u-block\" /> : hotel?.logo;\n\n if (typeof hotelImageElement === 'string' && !hotelImageElement.startsWith('<')) {\n hotelImageElement = <img src={hotelImageElement} alt=\"Hotel Logo\" />;\n }\n\n const links = (\n <ul className=\"c-header__list\">\n <li>\n <NavLink\n to={{\n ...location,\n pathname: '/hotel-info/',\n }}\n activeClassName=\"is-active\"\n onClick={closeMobileMenuClickHandler}\n >\n <Text type={TextType.Small} color={Color.White}>\n <strong>{t(Translation.Navigation.HotelInfo)}</strong>\n </Text>\n </NavLink>\n </li>\n <li>\n {hotel?.forwardFindReservationToSynxis ? (\n <a href={`https://be.synxis.com/signin?hotel=${hotel?.hotelID}`} target=\"_blank\" rel=\"noreferrer\">\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </a>\n ) : (\n <NavLink to=\"/find-reservation\" activeClassName=\"is-active\" onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} color={Color.White} bold>\n {t(Translation.Navigation.FindReservation)}\n </Text>\n </NavLink>\n )}\n </li>\n <li className=\"phone\">\n <a href={`tel:${hotel?.phone}`} onClick={closeMobileMenuClickHandler}>\n <Text type={TextType.Small} transforms={[TextTransform.Uppercase]} color={Color.White}>\n <Icon icon={IconType.Phone} size=\"16px\" color={Color.White} />\n <strong className=\"u-marg-left--light\">{hotel?.phone}</strong>\n </Text>\n </a>\n </li>\n </ul>\n );\n\n const configs = (\n <>\n <ul className=\"c-header__list\">\n {langKeys.length > 1 && (\n <li>\n <Select<ILanguageSelectOption, 'value'>\n nativeOnMobile\n options={langKeys.map((lang: Language) => {\n return {\n value: lang,\n text: LanguageProvider.getPrettyLanguageName(lang),\n };\n })}\n value={ccx.currentLanguage}\n onChange={onLanguageChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n )}\n <li>\n <Select<IDefaultSelectOption, 'value'>\n nativeOnMobile\n options={currencyHelper.getCurrencyItems()}\n value={ccx.currentCurrency}\n onChange={onCurrencyChangeHandler}\n keyName=\"value\"\n labelName=\"text\"\n />\n </li>\n\n {MemberPortalFeature.isActive() && (\n <li ref={(el) => setLoginAnchorEl(el)}>\n {roomstayMember ? (\n <BEButton size=\"small\" isText onClick={onLoginClickHandler} stopIconAnimation>\n {roomstayMember.forename} {roomstayMember.surname}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n ) : (\n <BEButton\n size=\"small\"\n isText\n onClick={() => {\n onLoginClickHandler();\n closeMobileMenuClickHandler();\n }}\n stopIconAnimation\n >\n {t(Translation.Navigation.SignIn.SignIn)}\n <span className=\"u-white u-pad-left--light\" style={{ marginRight: -13 }}>\n <Icon icon={IconType.ArrowDown2} size=\"1.3em\" color={Color.DarkGrey} />\n </span>\n </BEButton>\n )}\n </li>\n )}\n </ul>\n </>\n );\n\n return (\n <>\n <div className=\"c-header u-print-none\">\n <div className=\"container\">\n <div className=\"u-flex\">\n <div className=\"u-flex u-flex-flex-start u-flex__item\">\n <div className=\"c-header__logo\">\n <a href={showHotelLinks ? hotel?.hotelUrl : ccx?.logoLink} onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </a>\n </div>\n {!!showHotelLinks && links}\n </div>\n <div className=\"u-flex mx-100\">\n {configs}\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Menu} size=\"26px\" color={Color.White} onClick={openMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n {mobileMenuOpen && (\n <RoomstayPortal target={RoomstayThemeEngine.EngineContainer}>\n <FadeAnimation open={mobileMenuFaderStatus}>\n <div className={`mobile-header-menu ${mobileMenuFaderStatus ? '' : '--closing'}`}>\n <div className=\"mobile-header-menu--replica u-flex\">\n <div className=\"c-header__logo\">\n <Link to=\"/\" onClick={closeMobileMenuClickHandler}>\n {hotelImageElement}\n </Link>\n </div>\n <div className=\"c-header__mobile-menu\">\n <span className=\"u-white u-pad-left\">\n <Icon icon={IconType.Close} size=\"26px\" color={Color.White} onClick={closeMobileMenuClickHandler} />\n </span>\n </div>\n </div>\n <div className=\"mobile-header-menu--content\">\n {!!hotel && links}\n\n {configs}\n </div>\n </div>\n </FadeAnimation>\n </RoomstayPortal>\n )}\n {MemberPortalFeature.isActive() && (\n <Suspense fallback={<SmallSpinner />}>\n {roomstayMember || isFetchingMember ? (\n <AuthenticatedUserModal open={loginModalOpen} onClose={closeLoginClickHandler} onCloseMenu={closeMobileMenuClickHandler} anchorEl={loginAnchorEl} />\n ) : (\n <UnauthenticatedUserModal\n open={loginModalOpen}\n onClose={() => {\n closeLoginClickHandler();\n closeMobileMenuClickHandler();\n }}\n onOpenOnMobile={() => {\n onLoginClickHandler();\n openMobileMenuClickHandler();\n }}\n anchorEl={loginAnchorEl}\n />\n )}\n </Suspense>\n )}\n </>\n );\n}\n"]}
|
|
@@ -44,6 +44,7 @@ function StepSelector() {
|
|
|
44
44
|
const { screenSize } = (0, react_2.useContext)(contexts_1.BookingEngineContext);
|
|
45
45
|
const { currentStep } = (0, react_2.useContext)(contexts_2.FullPageEngineContext);
|
|
46
46
|
const basketContext = (0, react_2.useContext)(contexts_1.BasketContext);
|
|
47
|
+
const location = (0, react_router_dom_1.useLocation)();
|
|
47
48
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
48
49
|
const [modalOpen, setModalOpen] = (0, react_2.useState)(false);
|
|
49
50
|
const steps = StepManager_1.default.getSteps().filter((step) => (step.shouldShowOnNavigation() ? step : null));
|
|
@@ -94,7 +95,7 @@ function StepSelector() {
|
|
|
94
95
|
react_1.default.createElement("strong", null, t(Translation_1.Translation.Navigation.Steps.StepProgress, { step: prettyStep, maxSteps: StepManager_1.default.getSteps().length })))),
|
|
95
96
|
react_1.default.createElement(Text_1.default, null,
|
|
96
97
|
react_1.default.createElement("strong", null, stepName))),
|
|
97
|
-
react_1.default.createElement(react_router_dom_1.Link, { to: step.getStepUrl() })));
|
|
98
|
+
react_1.default.createElement(react_router_dom_1.Link, { to: Object.assign(Object.assign({}, location), { pathname: step.getStepUrl() }) })));
|
|
98
99
|
})))),
|
|
99
100
|
screenSize <= ScreenSize_1.default.Medium && react_1.default.createElement(StepSelectorModal_1.default, { isOpen: modalOpen, onClose: closeModal })));
|
|
100
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepSelector.js","sourceRoot":"/","sources":["src/components/navigation/StepSelector.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,kEAA2D;AAC3D,uEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"StepSelector.js","sourceRoot":"/","sources":["src/components/navigation/StepSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport Text, { TextType } from '@/components/generic/Text';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Link, useLocation } from 'react-router-dom';\nimport { useContext, useState } from 'react';\nimport StepManager from '@/util/StepManager';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\nimport classNames from 'classnames';\nimport { Color } from '@/util/Color';\nimport StepSelectorModal from '@/components/navigation/StepSelectorModal';\nimport ScreenSize from '@/util/ScreenSize';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport Step from '@/pages/steps/Step';\nimport { FullPageEngineContext } from '@frontend/contexts';\n\nexport default function StepSelector() {\n const { screenSize } = useContext(BookingEngineContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const basketContext = useContext(BasketContext);\n const location = useLocation();\n\n const { t } = useTranslation();\n\n const [modalOpen, setModalOpen] = useState(false);\n\n const steps = StepManager.getSteps().filter((step) => (step.shouldShowOnNavigation() ? step : null));\n\n const onDropdownClick = () => {\n screenSize <= ScreenSize.Medium ? setModalOpen(true) : null;\n };\n\n const closeModal = () => {\n setModalOpen(false);\n };\n\n const currentStepIndex = StepManager.getStepIndex(currentStep.getName());\n\n return (\n <>\n <div className=\"step-dropdown\" onClick={onDropdownClick}>\n <div className=\"step-container\">\n <span className=\"step-container-dropdown\">\n <Icon icon={IconType.Dropdown} />\n </span>\n <div className=\"step-awards\">\n <img alt=\"\" style={{ width: '80px' }} />\n </div>\n <ul className=\"step-selector\">\n {steps.map((step: Step, stepIndex: number) => {\n const stepName = t(step.getStepTranslation() as string);\n\n const prettyStep = stepIndex + 1;\n\n const isPrevStep = currentStepIndex > prettyStep;\n\n let stepNumber: JSX.Element;\n if (isPrevStep) {\n stepNumber = <Icon icon={IconType.Check} color={Color.White} size=\"24px\" />;\n } else {\n stepNumber = (\n <Text type={TextType.Small}>\n <strong>{'0' + prettyStep}</strong>\n </Text>\n );\n }\n\n let isClickable = false;\n\n if (step) {\n const stepValidator = step.getValidator();\n\n if (stepValidator && stepValidator.isValid(basketContext)) {\n isClickable = true;\n }\n }\n\n const stepClassNames = classNames('step-selector__item', {\n 'is-current': currentStepIndex === prettyStep,\n 'is-valid': isClickable,\n 'is-complete': isPrevStep,\n 'is-disabled': !isPrevStep && currentStepIndex !== prettyStep && !isClickable,\n });\n\n return (\n <li className={stepClassNames} key={prettyStep}>\n <span className=\"step-selector__count\">{stepNumber}</span>\n <div>\n <span className=\"step-selector__step-count-mobile\">\n <Text type={TextType.Small} color={Color.Navy}>\n <strong>{t(Translation.Navigation.Steps.StepProgress, { step: prettyStep, maxSteps: StepManager.getSteps().length })}</strong>\n </Text>\n </span>\n <Text>\n <strong>{stepName}</strong>\n </Text>\n </div>\n <Link\n to={{\n ...location,\n pathname: step.getStepUrl(),\n }}\n />\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n {screenSize <= ScreenSize.Medium && <StepSelectorModal isOpen={modalOpen} onClose={closeModal} />}\n </>\n );\n}\n"]}
|
|
@@ -37,11 +37,14 @@ const RoomstayThemeEngine_1 = __importDefault(require("../../../../providers/Roo
|
|
|
37
37
|
const react_1 = __importDefault(require("react"));
|
|
38
38
|
const Color_1 = require("../../../../util/Color");
|
|
39
39
|
const PaymentCardHelper_1 = require("../../../../util/PaymentCardHelper");
|
|
40
|
+
const react_i18next_1 = require("react-i18next");
|
|
41
|
+
const Translation_1 = require("../../../../translations/Translation");
|
|
40
42
|
const MemberCardItem_module_scss_1 = __importDefault(require("./MemberCardItem.module.scss"));
|
|
41
43
|
const MemberCardItem = (props) => {
|
|
42
44
|
var _a, _b, _c, _d;
|
|
43
45
|
const { item, onClick, selected } = props;
|
|
44
46
|
const { roomstayMember } = react_1.default.useContext(contexts_1.RoomstayMemberContext);
|
|
47
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
45
48
|
const cardClasses = (0, classnames_1.default)(MemberCardItem_module_scss_1.default['card'], {
|
|
46
49
|
[MemberCardItem_module_scss_1.default['--selected']]: selected,
|
|
47
50
|
});
|
|
@@ -54,11 +57,11 @@ const MemberCardItem = (props) => {
|
|
|
54
57
|
react_1.default.createElement("div", { className: MemberCardItem_module_scss_1.default['card-infographic'] }, renderedIcon),
|
|
55
58
|
react_1.default.createElement("div", { className: MemberCardItem_module_scss_1.default['card-details'] }, item ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
56
59
|
(roomstayMember === null || roomstayMember === void 0 ? void 0 : roomstayMember.defaultCard) === item.cardId && (react_1.default.createElement("div", { className: "u-marg-bottom--light" },
|
|
57
|
-
react_1.default.createElement(Pill_1.default, { size: "small", type: Pill_1.PillType.Primary },
|
|
60
|
+
react_1.default.createElement(Pill_1.default, { size: "small", type: Pill_1.PillType.Primary }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.DefaultCard)))),
|
|
58
61
|
react_1.default.createElement(Text_1.default, { bold: true, type: Text_1.TextType.Small },
|
|
59
62
|
"\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 ",
|
|
60
63
|
hiddenCardNumber),
|
|
61
|
-
react_1.default.createElement(Text_1.default, { bold: true, type: Text_1.TextType.Small }, expirationDate))) : (react_1.default.createElement(BEButton_1.default, { onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(), isText: true, textColor: Color_1.Color.Accent3, size: "tiny", icon: Icon_1.IconType.ArrowRight, iconPosition: "right" },
|
|
64
|
+
react_1.default.createElement(Text_1.default, { bold: true, type: Text_1.TextType.Small }, expirationDate))) : (react_1.default.createElement(BEButton_1.default, { onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(), isText: true, textColor: Color_1.Color.Accent3, size: "tiny", icon: Icon_1.IconType.ArrowRight, iconPosition: "right" }, t(Translation_1.Translation.UserPortal.PaymentInformationScreen.AddNewCard))))));
|
|
62
65
|
};
|
|
63
66
|
exports.MemberCardItem = MemberCardItem;
|
|
64
67
|
//# sourceMappingURL=MemberCardItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberCardItem.js","sourceRoot":"/","sources":["src/components/pages/Account/Card/MemberCardItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA2D;AAE3D,4DAAoC;AACpC,6EAAqD;AACrD,yDAA0D;AAC1D,kEAA2D;AAC3D,kEAA2D;AAE3D,0FAAkE;AAClE,kDAA0B;AAC1B,wCAAqC;AACrC,gEAAgE;
|
|
1
|
+
{"version":3,"file":"MemberCardItem.js","sourceRoot":"/","sources":["src/components/pages/Account/Card/MemberCardItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RoomstayMemberContext } from '@frontend/contexts';\nimport { IRoomstayMemberCards } from '@roomstay/core';\nimport classNames from 'classnames';\nimport BEButton from '@/components/generic/BEButton';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport Pill, { PillType } from '@/components/generic/Pill';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { ECardType } from '@/models/PaymentCard';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport React from 'react';\nimport { Color } from '@/util/Color';\nimport { mapCardTypeToGraphic } from '@/util/PaymentCardHelper';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '@/translations/Translation';\n\nimport styles from './MemberCardItem.module.scss';\n\ntype MemberCardItemProps = {\n item?: IRoomstayMemberCards;\n onClick?: () => void;\n selected?: boolean;\n};\n\nexport const MemberCardItem = (props: MemberCardItemProps) => {\n const { item, onClick, selected } = props;\n const { roomstayMember } = React.useContext(RoomstayMemberContext);\n const { t } = useTranslation();\n\n const cardClasses = classNames(styles['card'], {\n [styles['--selected']]: selected,\n });\n\n const cardGraphics = mapCardTypeToGraphic(item?.type as ECardType);\n const iconUrl = cardGraphics.miniCardUrl;\n\n const hiddenCardNumber = item?.cardNumber?.substring(item?.cardNumber?.length - 4);\n\n const renderedIcon = iconUrl ? <img src={iconUrl} alt={item?.type} /> : <img src={RoomstayThemeEngine.getImageAssetUrl() + 'add-card.svg'} alt=\"Add card\" />;\n const expirationDate = item?.expiry?.substring(0, 2) + ' / ' + item?.expiry?.substring(2);\n\n return (\n <div className={cardClasses} onClick={() => onClick?.()}>\n <div className={styles['card-infographic']}>{renderedIcon}</div>\n <div className={styles['card-details']}>\n {item ? (\n <>\n {roomstayMember?.defaultCard === item.cardId && (\n <div className=\"u-marg-bottom--light\">\n <Pill size=\"small\" type={PillType.Primary}>\n {t(Translation.UserPortal.PaymentInformationScreen.DefaultCard)}\n </Pill>\n </div>\n )}\n <Text bold type={TextType.Small}>\n •••• •••• •••• {hiddenCardNumber}\n </Text>\n <Text bold type={TextType.Small}>\n {expirationDate}\n </Text>\n </>\n ) : (\n <BEButton onClick={() => onClick?.()} isText textColor={Color.Accent3} size=\"tiny\" icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.UserPortal.PaymentInformationScreen.AddNewCard)}\n </BEButton>\n )}\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -27,13 +27,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
|
-
const RoomstayThemeEngine_1 = __importDefault(require("../../providers/RoomstayThemeEngine"));
|
|
31
30
|
const Text_1 = __importStar(require("../generic/Text"));
|
|
32
31
|
const react_i18next_1 = require("react-i18next");
|
|
33
32
|
const Color_1 = require("../../util/Color");
|
|
34
33
|
const Headline_1 = __importDefault(require("../generic/Headline"));
|
|
35
34
|
const contexts_1 = require("../../contexts");
|
|
36
35
|
const ScreenSize_1 = __importDefault(require("../../util/ScreenSize"));
|
|
36
|
+
const HomeEmptyReservation_1 = __importDefault(require("../graphics/HomeEmptyReservation"));
|
|
37
37
|
const EmptyReservation = ({ isCancelled }) => {
|
|
38
38
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
39
39
|
const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
|
|
@@ -42,9 +42,9 @@ const EmptyReservation = ({ isCancelled }) => {
|
|
|
42
42
|
const subText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledDescriptionStays' : 'Reservation.YourReservationPage.EmptyStaysDescription');
|
|
43
43
|
return (react_1.default.createElement("div", { className: "u-flex u-flex-direction-column u-align-center" },
|
|
44
44
|
react_1.default.createElement("div", null,
|
|
45
|
-
react_1.default.createElement(
|
|
45
|
+
react_1.default.createElement(HomeEmptyReservation_1.default, { style: {
|
|
46
46
|
maxWidth: isMobile ? 345 : 322,
|
|
47
|
-
}
|
|
47
|
+
} })),
|
|
48
48
|
react_1.default.createElement(Headline_1.default, { size: !isMobile ? 'large' : undefined, bold: true, color: Color_1.Color.Navy, className: "u-marg-top--heavy" }, mainText),
|
|
49
49
|
react_1.default.createElement(Text_1.default, { type: isMobile ? Text_1.TextType.Small : undefined, color: Color_1.Color.Navy, className: "u-marg-top" }, subText)));
|
|
50
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyReservation.js","sourceRoot":"/","sources":["src/components/reservation/EmptyReservation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"EmptyReservation.js","sourceRoot":"/","sources":["src/components/reservation/EmptyReservation.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAC9C,kEAA2D;AAC3D,iDAA+C;AAC/C,wCAAqC;AACrC,6EAAqD;AACrD,yCAAkD;AAClD,mEAA2C;AAC3C,sGAAuE;AAMvE,MAAM,gBAAgB,GAA8B,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,CAAC;IAEzD,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC;IACvI,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC;IAC5J,OAAO,CACH,uCAAK,SAAS,EAAC,+CAA+C;QAC1D;YACI,8BAAC,8BAAa,IACV,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;iBACjC,GACH,CACA;QACN,8BAAC,kBAAQ,IAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,QAAC,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,SAAS,EAAC,mBAAmB,IACjG,QAAQ,CACF;QACX,8BAAC,cAAI,IAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,aAAK,CAAC,IAAI,EAAE,SAAS,EAAC,YAAY,IACvF,OAAO,CACL,CACL,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC","sourcesContent":["import React, { FC, useContext } from 'react';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { useTranslation } from 'react-i18next';\nimport { Color } from '@/util/Color';\nimport Headline from '@/components/generic/Headline';\nimport { BookingEngineContext } from '@/contexts';\nimport ScreenSize from '@/util/ScreenSize';\nimport HomeEmptyCard from '@/components/graphics/HomeEmptyReservation';\n\nexport interface EmptyReservationProps {\n isCancelled?: boolean;\n}\n\nconst EmptyReservation: FC<EmptyReservationProps> = ({ isCancelled }) => {\n const { t } = useTranslation();\n const context = useContext(BookingEngineContext);\n const isMobile = context.screenSize <= ScreenSize.Medium;\n\n const mainText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledStays' : 'Reservation.YourReservationPage.EmptyStays');\n const subText = t(isCancelled ? 'Reservation.YourReservationPage.EmptyCancelledDescriptionStays' : 'Reservation.YourReservationPage.EmptyStaysDescription');\n return (\n <div className=\"u-flex u-flex-direction-column u-align-center\">\n <div>\n <HomeEmptyCard\n style={{\n maxWidth: isMobile ? 345 : 322,\n }}\n />\n </div>\n <Headline size={!isMobile ? 'large' : undefined} bold color={Color.Navy} className=\"u-marg-top--heavy\">\n {mainText}\n </Headline>\n <Text type={isMobile ? TextType.Small : undefined} color={Color.Navy} className=\"u-marg-top\">\n {subText}\n </Text>\n </div>\n );\n};\n\nexport default EmptyReservation;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IRoomstayMemberBookingItemWithRefAndHotelDetails } from '../../contexts/index.js';
|
|
2
2
|
export declare enum ReservationAction {
|
|
3
3
|
MoreDetails = "MoreDetails",
|
|
4
4
|
BookAgain = "BookAgain",
|
|
@@ -6,11 +6,12 @@ export declare enum ReservationAction {
|
|
|
6
6
|
Modify = "Modify"
|
|
7
7
|
}
|
|
8
8
|
export type ReservationItemProps = {
|
|
9
|
-
itineraryItem:
|
|
9
|
+
itineraryItem: IRoomstayMemberBookingItemWithRefAndHotelDetails;
|
|
10
10
|
disableMarginBottom?: boolean;
|
|
11
11
|
actions?: ReservationAction[];
|
|
12
12
|
showCancelledNotifications?: boolean;
|
|
13
|
-
onActionClick?: (action: ReservationAction, item:
|
|
13
|
+
onActionClick?: (action: ReservationAction, item: IRoomstayMemberBookingItemWithRefAndHotelDetails) => void;
|
|
14
|
+
defaultEventsExpanded?: boolean;
|
|
14
15
|
};
|
|
15
16
|
declare const ReservationItem: (props: ReservationItemProps) => JSX.Element;
|
|
16
17
|
export default ReservationItem;
|