@roomstay/frontend 2.6.33 → 2.6.35

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.
Files changed (131) hide show
  1. package/dist/166.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/370.bundle.js +1 -1
  4. package/dist/446.bundle.js +1 -1
  5. package/dist/449.bundle.js +1 -1
  6. package/dist/586.bundle.js +1 -1
  7. package/dist/736.bundle.js +1 -1
  8. package/dist/873.bundle.js +1 -1
  9. package/dist/903.bundle.js +1 -1
  10. package/dist/927.bundle.js +1 -1
  11. package/dist/972.bundle.js +1 -1
  12. package/dist/978.bundle.js +1 -1
  13. package/dist/main.bundle.js +1 -1
  14. package/dist/src/animations/AutoAutoHeight.js +4 -2
  15. package/dist/src/animations/AutoAutoHeight.js.map +1 -1
  16. package/dist/src/api/AvailabilityAPI.d.ts +9 -0
  17. package/dist/src/api/AvailabilityAPI.js +13 -1
  18. package/dist/src/api/AvailabilityAPI.js.map +1 -1
  19. package/dist/src/components/User/Forms/SignUpForm.js +1 -1
  20. package/dist/src/components/User/Forms/SignUpForm.js.map +1 -1
  21. package/dist/src/components/generic/HtmlContentViewer.js +8 -5
  22. package/dist/src/components/generic/HtmlContentViewer.js.map +1 -1
  23. package/dist/src/components/generic/ScrollToTop.js +12 -15
  24. package/dist/src/components/generic/ScrollToTop.js.map +1 -1
  25. package/dist/src/components/generic/Tabs/TabLink.js +6 -42
  26. package/dist/src/components/generic/Tabs/TabLink.js.map +1 -1
  27. package/dist/src/components/generic/Tabs/TabRouteContainer.js +9 -7
  28. package/dist/src/components/generic/Tabs/TabRouteContainer.js.map +1 -1
  29. package/dist/src/components/generic/date/DatePicker.js +14 -1
  30. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  31. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js +7 -3
  32. package/dist/src/components/generic/modal/SigninModal/AuthenticatedUserModal.js.map +1 -1
  33. package/dist/src/components/generic/modal/SimpleModal.js +0 -22
  34. package/dist/src/components/generic/modal/SimpleModal.js.map +1 -1
  35. package/dist/src/components/navigation/Header.js +2 -2
  36. package/dist/src/components/navigation/Header.js.map +1 -1
  37. package/dist/src/components/navigation/StepSelector.js +2 -2
  38. package/dist/src/components/navigation/StepSelector.js.map +1 -1
  39. package/dist/src/components/navigation/StepSelectorModal.js +5 -1
  40. package/dist/src/components/navigation/StepSelectorModal.js.map +1 -1
  41. package/dist/src/components/steps/hotel/HotelCard.js +2 -2
  42. package/dist/src/components/steps/hotel/HotelCard.js.map +1 -1
  43. package/dist/src/components/steps/hotel/HotelCardModal.js +2 -2
  44. package/dist/src/components/steps/hotel/HotelCardModal.js.map +1 -1
  45. package/dist/src/components/steps/room/StepRoomBestRateAlert.js +13 -2
  46. package/dist/src/components/steps/room/StepRoomBestRateAlert.js.map +1 -1
  47. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js +2 -3
  48. package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRooms.js.map +1 -1
  49. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +12 -7
  50. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  51. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js +1 -1
  52. package/dist/src/components/steps/room/roomDetails/roomRates/MembersOnlyRow.js.map +1 -1
  53. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js +6 -5
  54. package/dist/src/components/steps/room/roomDetails/roomRates/ReadMoreRoomRateRow.js.map +1 -1
  55. package/dist/src/components/summary/BESummary.js +3 -3
  56. package/dist/src/components/summary/BESummary.js.map +1 -1
  57. package/dist/src/components/summary/BESummaryRoomRow.js +5 -6
  58. package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
  59. package/dist/src/containers/PrivateRoute.d.ts +6 -3
  60. package/dist/src/containers/PrivateRoute.js +9 -20
  61. package/dist/src/containers/PrivateRoute.js.map +1 -1
  62. package/dist/src/contexts/BasketContext/BasketContextType.d.ts +2 -2
  63. package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
  64. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +85 -24
  65. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  66. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +11 -3
  67. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  68. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.d.ts +1 -0
  69. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js +16 -0
  70. package/dist/src/contexts/FullPageEngineContext/EngineBodyLayout.js.map +1 -0
  71. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.d.ts +1 -0
  72. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js +14 -0
  73. package/dist/src/contexts/FullPageEngineContext/EnginePageLayout.js.map +1 -0
  74. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +20 -26
  75. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  76. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js +4 -1
  77. package/dist/src/engines/FullPageBookingEngine/FullPageBookingEngineElement.js.map +1 -1
  78. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +4 -1
  79. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  80. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js +4 -1
  81. package/dist/src/engines/MemberPortalWidget/MemberPortalWidgetElement.js.map +1 -1
  82. package/dist/src/hooks/HistoryConsistentPush.js +10 -3
  83. package/dist/src/hooks/HistoryConsistentPush.js.map +1 -1
  84. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +1 -2
  85. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  86. package/dist/src/hooks/UpdateQueryParameters.js +5 -3
  87. package/dist/src/hooks/UpdateQueryParameters.js.map +1 -1
  88. package/dist/src/models/BasketRow.d.ts +2 -0
  89. package/dist/src/models/BasketRow.js +6 -1
  90. package/dist/src/models/BasketRow.js.map +1 -1
  91. package/dist/src/pages/account/AccountRouter.js +13 -7
  92. package/dist/src/pages/account/AccountRouter.js.map +1 -1
  93. package/dist/src/pages/account/AccountRoutes.js +1 -1
  94. package/dist/src/pages/account/AccountRoutes.js.map +1 -1
  95. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js +3 -0
  96. package/dist/src/pages/account/Reservations/AccountReservationSinglePage.js.map +1 -1
  97. package/dist/src/pages/account/Reservations/AccountReservationsPage.js +3 -3
  98. package/dist/src/pages/account/Reservations/AccountReservationsPage.js.map +1 -1
  99. package/dist/src/pages/findReservation/FindReservation.d.ts +0 -1
  100. package/dist/src/pages/findReservation/FindReservation.js +12 -12
  101. package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
  102. package/dist/src/pages/findReservation/FindReservationResults.js +4 -4
  103. package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
  104. package/dist/src/pages/steps/Step.js.map +1 -1
  105. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +5 -1
  106. package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
  107. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js +5 -1
  108. package/dist/src/pages/steps/StepConfirmation/StepConfirmationComponent.js.map +1 -1
  109. package/dist/src/pages/steps/StepDate/StepDateComponent.d.ts +2 -2
  110. package/dist/src/pages/steps/StepDate/StepDateComponent.js +14 -7
  111. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  112. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js +5 -1
  113. package/dist/src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.js.map +1 -1
  114. package/dist/src/pages/steps/StepGuide.js +2 -2
  115. package/dist/src/pages/steps/StepGuide.js.map +1 -1
  116. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js +5 -1
  117. package/dist/src/pages/steps/StepRoom/StepRoomComponent.js.map +1 -1
  118. package/dist/src/routes/NaturallyProgressedStepRoute.js +6 -11
  119. package/dist/src/routes/NaturallyProgressedStepRoute.js.map +1 -1
  120. package/dist/src/translations/Translation.d.ts +1 -0
  121. package/dist/src/translations/Translation.js +1 -0
  122. package/dist/src/translations/Translation.js.map +1 -1
  123. package/dist/src/translations/languages/en-gb.js +2 -1
  124. package/dist/src/translations/languages/en-gb.js.map +1 -1
  125. package/dist/src/util/RouteManager.js +1 -1
  126. package/dist/src/util/RouteManager.js.map +1 -1
  127. package/dist/src/util/StepManager.js.map +1 -1
  128. package/dist/test.bundle.js +1 -1
  129. package/dist/vendors.bundle.js +1 -1
  130. package/dist/vendors.bundle.js.LICENSE.txt +30 -6
  131. package/package.json +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"FindReservation.js","sourceRoot":"/","sources":["src/pages/findReservation/FindReservation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FindReservationViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport FadeAnimation from '@/animations/Fade';\nimport API from '@/api/BookingAPI';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport { EViewingScreen } from '@/components/generic/modal/SigninModal/UnauthenticatedUserModal';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport { CognitoLoginState, useAuthentication } from '@/contexts';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport ImageProvider, { ImageSize } from '@/providers/ImageProvider';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Color } from '@/util/Color';\nimport StepManager from '@/util/StepManager';\nimport { EMAIL_REGEX } from '@/util/Validation';\n\nconst SignInForm = React.lazy(() =>\n import('@/components/User/Forms/SignInForm').then(({ SignInForm }) => ({\n default: SignInForm,\n }))\n);\nconst SignUpForm = React.lazy(() =>\n import('@/components/User/Forms/SignUpForm').then(({ SignUpForm }) => ({\n default: SignUpForm,\n }))\n);\nconst ForgotPasswordForm = React.lazy(() =>\n import('@/components/User/Forms/ForgotPasswordForm').then(({ ForgotPasswordForm }) => ({\n default: ForgotPasswordForm,\n }))\n);\n\nexport const QUERY_PARAM_NAME = 'path';\n\nexport enum EFindReservationPath {\n FindReservation = 'find-reservation',\n Login = 'login',\n Register = 'register',\n Forgot = 'forgot',\n}\n\nconst pathToScreenMapping: { [path in EFindReservationPath]: EViewingScreen } = {\n [EFindReservationPath.FindReservation]: EViewingScreen.Default,\n [EFindReservationPath.Login]: EViewingScreen.SignIn,\n [EFindReservationPath.Register]: EViewingScreen.SignUp,\n [EFindReservationPath.Forgot]: EViewingScreen.ForgotPassword,\n};\n\ninterface IQueryParams {\n [QUERY_PARAM_NAME]: EFindReservationPath;\n}\n\nexport default function FindReservation() {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const { cognitoLoginState } = useAuthentication();\n\n const { register, formState, handleSubmit, getValues } = useForm({\n mode: 'onChange',\n });\n\n const errors = formState.errors;\n\n const getValidationClass = (name: string) => {\n if (errors && formState.touchedFields[name]) {\n if (errors[name]) {\n return 'error';\n } else {\n return 'success';\n }\n }\n };\n\n const { path }: IQueryParams = useParams<IQueryParams>();\n const firstTime = useRef<boolean>(true);\n const nextViewingScreen = useRef<EViewingScreen | null>(null);\n\n const [isLoading, setIsLoading] = useState(false);\n const [apiErrorMessages, setApiErrorMessages] = useState('');\n const [viewingScreen, setViewingScreen] = useState<EViewingScreen | null>(pathToScreenMapping[path]);\n\n useEffect(() => {\n if (cognitoLoginState === CognitoLoginState.Success) {\n history.push(`/${EFindReservationPath.FindReservation}`);\n firstTime.current = false;\n setViewingScreen(EViewingScreen.Default);\n nextViewingScreen.current = EViewingScreen.Default;\n } else {\n if (firstTime.current) {\n firstTime.current = false;\n setViewingScreen(pathToScreenMapping[path]);\n } else {\n if (cognitoLoginState !== CognitoLoginState.ForgotPassword) setViewingScreen(null);\n nextViewingScreen.current = pathToScreenMapping[path];\n }\n }\n }, [path, cognitoLoginState]);\n\n const history = useHistory();\n\n const onSubmit = () => {\n setIsLoading(true);\n setApiErrorMessages('');\n\n API.Reservation.findReservation(getValues('Ref'), getValues('Email'), hotel?.hotelID as string)\n .then((data) => {\n history.push(`/find-reservation/${getValues('Ref')}/${getValues('Email')}`);\n })\n .catch(({ Message }) => {\n console.log(Message);\n setApiErrorMessages(Message);\n setIsLoading(false);\n });\n };\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const background = document.createElement('div');\n background.classList.add('dbe-background');\n background.style.backgroundImage = `url('${hotel?.heroImage && ImageProvider.resizeImage(hotel?.heroImage, ImageSize.Original)}')`;\n\n RoomstayThemeEngine.EngineContainer.classList.add('--transparent-bg');\n RoomstayThemeEngine.EngineContainer.appendChild(background);\n\n const event = new FindReservationViewEvent();\n raise(event);\n\n return () => {\n try {\n RoomstayThemeEngine.EngineContainer.removeChild(background);\n RoomstayThemeEngine.EngineContainer.classList.remove('--transparent-bg');\n } catch (ex) {\n console.log('Unable to remove bg');\n }\n };\n }, []);\n\n useEffect(() => {\n if (hotel?.forwardFindReservationToSynxis) {\n window.open(`https://be.synxis.com/signin?hotel=` + hotel.hotelID);\n }\n }, [hotel]);\n\n const onBack = async () => {\n history.push(StepManager.getFirstStep().getStepUrl());\n };\n\n const handleSubmitOnClick = () => {\n handleSubmit(onSubmit)();\n };\n\n const onSignInClicked = () => {\n history.push(`/${EFindReservationPath.Login}`);\n };\n\n const onBackToItineraryClicked = () => {\n history.push(`/${EFindReservationPath.FindReservation}`);\n };\n\n const onSignUpClicked = () => {\n history.push(`/${EFindReservationPath.Register}`);\n };\n\n const onForgotPasswordClicked = () => {\n history.push(`/${EFindReservationPath.Forgot}`);\n };\n\n const onExit = () => {\n setViewingScreen(nextViewingScreen.current);\n };\n\n const gotoReservationPage = () => {\n history.push(`/account/reservations`);\n };\n\n const defaultContents = (\n <form onSubmit={handleSubmit(onSubmit)}>\n <div className=\"u-marg-bottom--heavy\">\n <Headline size=\"extra-large\">{t(Translation.FindReservation.FindYourReservation)}</Headline>\n </div>\n <AutoAutoHeight open={!!apiErrorMessages}>\n <div className=\"u-flex\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{apiErrorMessages}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.Confirmation)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"51244AB23101\"\n required\n validationStatus={getValidationClass('Ref')}\n {...register('Ref', {\n required: true,\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.EmailAddress)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"example@mail.com\"\n required\n validationStatus={getValidationClass('Email')}\n {...register('Email', {\n required: true,\n pattern: {\n value: EMAIL_REGEX,\n message: t(Translation.FindReservation.InvalidEmailAddress),\n },\n })}\n />\n </div>\n <div className=\"u-flex justify-content-end w-100\">\n <BEButton primary filled mobileWidth isLoading={isLoading} icon={IconType.ArrowRight} iconPosition=\"right\" onClick={handleSubmitOnClick}>\n {t(Translation.FindReservation.FindReservation)}\n </BEButton>\n <button type=\"submit\" className=\"u-none\">\n {t(Translation.Misc.Submit)}\n </button>\n </div>\n {MemberPortalFeature.isActive() && cognitoLoginState === CognitoLoginState.Success && (\n <div className=\"u-align-right u-flex u-flex-flex-end u-flex-gap--light u-marg-top--light\">\n <Text type={TextType.Small}>{t(Translation.Navigation.SignIn.Or)}</Text>\n <BEButton isText primary size=\"small\" onClick={gotoReservationPage} icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.FindReservation.GoToYourReservations)}\n </BEButton>\n </div>\n )}\n <LineBreak />\n {MemberPortalFeature.isActive() && cognitoLoginState !== CognitoLoginState.Success && (\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onSignInClicked}>\n Or sign in for more\n </BEButton>\n </div>\n )}\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.FindReservation.Question)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer1)}</Text>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer2)}</Text>\n <LineBreak />\n <BEButton textColor={Color.Accent} primary={false} filled={false} mobileWidth size=\"small\" icon={IconType.ArrowLeft2} iconPosition=\"left\" onClick={onBack} isText>\n {t(Translation.FindReservation.Back)}\n </BEButton>\n </form>\n );\n\n const signInForm = (\n <>\n <SignInForm\n onForgotPassword={onForgotPasswordClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onBackToItineraryClicked}>\n {t(Translation.FindReservation.OrUseConfirmationItineraryNumber)}\n </BEButton>\n </div>\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]}></Trans>\n </Text>\n </>\n );\n\n const signUpForm = (\n <>\n <SignUpForm\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.Step.Confirmation.AlreadyHaveAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignInToLogin} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignInClicked} />]} />\n </Text>\n </>\n );\n\n const forgotPasswordForm = (\n <>\n <ForgotPasswordForm\n onCancelled={onSignInClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]} />\n </Text>\n </>\n );\n\n return (\n <div className=\"u-pad-left u-pad-right\">\n <PageTitle step=\"FindReservation\" />\n <div className=\"container u-marg-top--heavy u-pad-bottom--massive\">\n <div className=\"row u-pad-bottom--massive\">\n <div className=\"col-md-6 col-xl-4 u-fill-white u-pad--heavy u-shadow-accent-large u-border-rounded\">\n <AutoAutoHeight open startOpen>\n <FadeAnimation open={viewingScreen === 'Default'} onExitCompletely={onExit}>\n {defaultContents}\n </FadeAnimation>\n <Suspense fallback={SmallSpinner}>\n <FadeAnimation open={viewingScreen === 'SignIn'} onExitCompletely={onExit}>\n {signInForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'SignUp'} onExitCompletely={onExit}>\n {signUpForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'ForgotPassword'} onExitCompletely={onExit}>\n {forgotPasswordForm}\n </FadeAnimation>\n </Suspense>\n </AutoAutoHeight>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FindReservation.js","sourceRoot":"/","sources":["src/pages/findReservation/FindReservation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FindReservationViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport FadeAnimation from '@/animations/Fade';\nimport API from '@/api/BookingAPI';\nimport Alert, { AlertType } from '@/components/generic/Alert';\nimport BEButton from '@/components/generic/BEButton';\nimport Headline from '@/components/generic/Headline';\nimport { IconType } from '@/components/generic/Icon/Icon';\nimport LineBreak from '@/components/generic/LineBreak';\nimport SmallSpinner from '@/components/generic/loader/SmallSpinner';\nimport { EViewingScreen } from '@/components/generic/modal/SigninModal/UnauthenticatedUserModal';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport TextBox from '@/components/generic/TextBox';\nimport { CognitoLoginState, useAuthentication } from '@/contexts';\nimport MemberPortalFeature from '@/providers/feature/MemberPortalFeature';\nimport ImageProvider, { ImageSize } from '@/providers/ImageProvider';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport { Color } from '@/util/Color';\nimport StepManager from '@/util/StepManager';\nimport { EMAIL_REGEX } from '@/util/Validation';\n\nconst SignInForm = React.lazy(() =>\n import('@/components/User/Forms/SignInForm').then(({ SignInForm }) => ({\n default: SignInForm,\n }))\n);\nconst SignUpForm = React.lazy(() =>\n import('@/components/User/Forms/SignUpForm').then(({ SignUpForm }) => ({\n default: SignUpForm,\n }))\n);\nconst ForgotPasswordForm = React.lazy(() =>\n import('@/components/User/Forms/ForgotPasswordForm').then(({ ForgotPasswordForm }) => ({\n default: ForgotPasswordForm,\n }))\n);\n\nexport enum EFindReservationPath {\n FindReservation = 'find-reservation',\n Login = 'login',\n Register = 'register',\n Forgot = 'forgot',\n}\n\nconst pathToScreenMapping: { [path in EFindReservationPath]: EViewingScreen } = {\n [EFindReservationPath.FindReservation]: EViewingScreen.Default,\n [EFindReservationPath.Login]: EViewingScreen.SignIn,\n [EFindReservationPath.Register]: EViewingScreen.SignUp,\n [EFindReservationPath.Forgot]: EViewingScreen.ForgotPassword,\n};\n\nexport default function FindReservation() {\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n\n const { cognitoLoginState } = useAuthentication();\n\n const { register, formState, handleSubmit, getValues } = useForm({\n mode: 'onChange',\n });\n\n const errors = formState.errors;\n\n const getValidationClass = (name: string) => {\n if (errors && formState.touchedFields[name]) {\n if (errors[name]) {\n return 'error';\n } else {\n return 'success';\n }\n }\n };\n\n const firstTime = useRef<boolean>(true);\n const nextViewingScreen = useRef<EViewingScreen | null>(null);\n\n const [isLoading, setIsLoading] = useState(false);\n const [apiErrorMessages, setApiErrorMessages] = useState('');\n\n const navigate = useNavigate();\n const location = useLocation();\n\n const path = location.pathname.replace('/', '') as EFindReservationPath;\n\n const [viewingScreen, setViewingScreen] = useState<EViewingScreen | null>(pathToScreenMapping[path]);\n\n useEffect(() => {\n if (cognitoLoginState === CognitoLoginState.Success) {\n navigate(`/${EFindReservationPath.FindReservation}`);\n firstTime.current = false;\n setViewingScreen(EViewingScreen.Default);\n nextViewingScreen.current = EViewingScreen.Default;\n } else {\n if (firstTime.current) {\n firstTime.current = false;\n setViewingScreen(pathToScreenMapping[path]);\n } else {\n if (cognitoLoginState !== CognitoLoginState.ForgotPassword) setViewingScreen(null);\n nextViewingScreen.current = pathToScreenMapping[path];\n }\n }\n }, [path, cognitoLoginState]);\n\n const onSubmit = () => {\n setIsLoading(true);\n setApiErrorMessages('');\n\n API.Reservation.findReservation(getValues('Ref'), getValues('Email'), hotel?.hotelID as string)\n .then((data) => {\n navigate(`/find-reservation/${getValues('Ref')}/${getValues('Email')}`);\n })\n .catch(({ Message }) => {\n console.log(Message);\n setApiErrorMessages(Message);\n setIsLoading(false);\n });\n };\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const background = document.createElement('div');\n background.classList.add('dbe-background');\n background.style.backgroundImage = `url('${hotel?.heroImage && ImageProvider.resizeImage(hotel?.heroImage, ImageSize.Original)}')`;\n\n RoomstayThemeEngine.EngineContainer.classList.add('--transparent-bg');\n RoomstayThemeEngine.EngineContainer.appendChild(background);\n\n const event = new FindReservationViewEvent();\n raise(event);\n\n return () => {\n try {\n RoomstayThemeEngine.EngineContainer.removeChild(background);\n RoomstayThemeEngine.EngineContainer.classList.remove('--transparent-bg');\n } catch (ex) {\n console.log('Unable to remove bg');\n }\n };\n }, []);\n\n useEffect(() => {\n if (hotel?.forwardFindReservationToSynxis) {\n window.open(`https://be.synxis.com/signin?hotel=` + hotel.hotelID);\n }\n }, [hotel]);\n\n const onBack = async () => {\n navigate(StepManager.getFirstStep().getStepUrl());\n };\n\n const handleSubmitOnClick = () => {\n handleSubmit(onSubmit)();\n };\n\n const onSignInClicked = () => {\n navigate(`/${EFindReservationPath.Login}`);\n };\n\n const onBackToItineraryClicked = () => {\n navigate(`/${EFindReservationPath.FindReservation}`);\n };\n\n const onSignUpClicked = () => {\n navigate(`/${EFindReservationPath.Register}`);\n };\n\n const onForgotPasswordClicked = () => {\n navigate(`/${EFindReservationPath.Forgot}`);\n };\n\n const onExit = () => {\n setViewingScreen(nextViewingScreen.current);\n };\n\n const gotoReservationPage = () => {\n navigate(`/account/reservations`);\n };\n\n const defaultContents = (\n <form onSubmit={handleSubmit(onSubmit)}>\n <div className=\"u-marg-bottom--heavy\">\n <Headline size=\"extra-large\">{t(Translation.FindReservation.FindYourReservation)}</Headline>\n </div>\n <AutoAutoHeight open={!!apiErrorMessages}>\n <div className=\"u-flex\">\n <Alert type={AlertType.Danger} icon={IconType.Error}>\n <Text type={TextType.Small}>{apiErrorMessages}</Text>\n </Alert>\n </div>\n </AutoAutoHeight>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.Confirmation)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"51244AB23101\"\n required\n validationStatus={getValidationClass('Ref')}\n {...register('Ref', {\n required: true,\n })}\n />\n </div>\n <div className=\"u-marg-bottom\">\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Label} color={Color.Navy}>\n <strong>{t(Translation.FindReservation.EmailAddress)}</strong>\n </Text>\n </div>\n <TextBox\n placeholder=\"example@mail.com\"\n required\n validationStatus={getValidationClass('Email')}\n {...register('Email', {\n required: true,\n pattern: {\n value: EMAIL_REGEX,\n message: t(Translation.FindReservation.InvalidEmailAddress),\n },\n })}\n />\n </div>\n <div className=\"u-flex justify-content-end w-100\">\n <BEButton primary filled mobileWidth isLoading={isLoading} icon={IconType.ArrowRight} iconPosition=\"right\" onClick={handleSubmitOnClick}>\n {t(Translation.FindReservation.FindReservation)}\n </BEButton>\n <button type=\"submit\" className=\"u-none\">\n {t(Translation.Misc.Submit)}\n </button>\n </div>\n {MemberPortalFeature.isActive() && cognitoLoginState === CognitoLoginState.Success && (\n <div className=\"u-align-right u-flex u-flex-flex-end u-flex-gap--light u-marg-top--light\">\n <Text type={TextType.Small}>{t(Translation.Navigation.SignIn.Or)}</Text>\n <BEButton isText primary size=\"small\" onClick={gotoReservationPage} icon={IconType.ArrowRight} iconPosition=\"right\">\n {t(Translation.FindReservation.GoToYourReservations)}\n </BEButton>\n </div>\n )}\n <LineBreak />\n {MemberPortalFeature.isActive() && cognitoLoginState !== CognitoLoginState.Success && (\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onSignInClicked}>\n Or sign in for more\n </BEButton>\n </div>\n )}\n <div className=\"u-marg-bottom--light\">\n <Text type={TextType.Small}>\n <strong>{t(Translation.FindReservation.Question)}</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer1)}</Text>\n <Text type={TextType.Small}>{t(Translation.FindReservation.Answer2)}</Text>\n <LineBreak />\n <BEButton textColor={Color.Accent} primary={false} filled={false} mobileWidth size=\"small\" icon={IconType.ArrowLeft2} iconPosition=\"left\" onClick={onBack} isText>\n {t(Translation.FindReservation.Back)}\n </BEButton>\n </form>\n );\n\n const signInForm = (\n <>\n <SignInForm\n onForgotPassword={onForgotPasswordClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <div className=\"u-marg-bottom--heavy\">\n <BEButton isText primary size=\"small\" onClick={onBackToItineraryClicked}>\n {t(Translation.FindReservation.OrUseConfirmationItineraryNumber)}\n </BEButton>\n </div>\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]}></Trans>\n </Text>\n </>\n );\n\n const signUpForm = (\n <>\n <SignUpForm\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.Step.Confirmation.AlreadyHaveAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignInToLogin} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignInClicked} />]} />\n </Text>\n </>\n );\n\n const forgotPasswordForm = (\n <>\n <ForgotPasswordForm\n onCancelled={onSignInClicked}\n onDone={() => {\n gotoReservationPage();\n }}\n />\n <LineBreak />\n <Text type={TextType.Small} bold className=\"u-marg-bottom--light\">\n {t(Translation.FindReservation.NoOnlineAccount)}\n </Text>\n <Text type={TextType.Small}>\n <Trans i18nKey={Translation.FindReservation.SignUpToSaveTime} components={[<BEButton key={0} isText size=\"small\" primary onClick={onSignUpClicked} />]} />\n </Text>\n </>\n );\n\n return (\n <div className=\"u-pad-left u-pad-right\">\n <PageTitle step=\"FindReservation\" />\n <div className=\"container u-marg-top--heavy u-pad-bottom--massive\">\n <div className=\"row u-pad-bottom--massive\">\n <div className=\"col-md-6 col-xl-4 u-fill-white u-pad--heavy u-shadow-accent-large u-border-rounded\">\n <AutoAutoHeight open startOpen>\n <FadeAnimation open={viewingScreen === 'Default'} onExitCompletely={onExit}>\n {defaultContents}\n </FadeAnimation>\n <Suspense fallback={SmallSpinner}>\n <FadeAnimation open={viewingScreen === 'SignIn'} onExitCompletely={onExit}>\n {signInForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'SignUp'} onExitCompletely={onExit}>\n {signUpForm}\n </FadeAnimation>\n <FadeAnimation open={viewingScreen === 'ForgotPassword'} onExitCompletely={onExit}>\n {forgotPasswordForm}\n </FadeAnimation>\n </Suspense>\n </AutoAutoHeight>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -52,7 +52,7 @@ const TotalCalculator_1 = require("../../util/TotalCalculator");
52
52
  function FindReservationResults() {
53
53
  var _a, _b;
54
54
  const params = (0, react_router_dom_1.useParams)();
55
- const history = (0, react_router_dom_1.useHistory)();
55
+ const navigate = (0, react_router_dom_1.useNavigate)();
56
56
  const { hotel } = (0, hooks_1.useCurrentHotel)();
57
57
  const ccx = (0, react_1.useContext)(contexts_1.CompanyContext);
58
58
  const { t } = (0, react_i18next_1.useTranslation)();
@@ -62,7 +62,7 @@ function FindReservationResults() {
62
62
  const [cancellationTrigger, setCancellationTrigger] = (0, react_1.useState)(0);
63
63
  const [data, setData] = (0, react_1.useState)(null);
64
64
  const pushHistoryOnClick = () => {
65
- history.push('../');
65
+ navigate('../');
66
66
  };
67
67
  const isFromRoomstay = (_a = bookingInformation === null || bookingInformation === void 0 ? void 0 : bookingInformation.itineraryNumber) === null || _a === void 0 ? void 0 : _a.startsWith('RS');
68
68
  (0, react_1.useEffect)(() => {
@@ -96,11 +96,11 @@ function FindReservationResults() {
96
96
  }
97
97
  })
98
98
  .catch(() => {
99
- history.push('/find-reservation/');
99
+ navigate('/find-reservation');
100
100
  });
101
101
  }
102
102
  else {
103
- history.push('/find-reservation/');
103
+ navigate('/find-reservation');
104
104
  }
105
105
  return () => {
106
106
  isCancelled = true;
@@ -1 +1 @@
1
- {"version":3,"file":"FindReservationResults.js","sourceRoot":"/","sources":["src/pages/findReservation/FindReservationResults.tsx"],"names":[],"mappings":"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","sourcesContent":["import { CompanyContext } from '@frontend/contexts';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport dayjs from 'dayjs';\nimport React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport API from '@/api/BookingAPI';\nimport Alert from '@/components/generic/Alert';\nimport BackButton from '@/components/generic/BackButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport LineBreak from '@/components/generic/LineBreak';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { CommonAddonSummary } from '@/components/steps/common/CommonAddonSummary/CommonAddonSummary';\nimport { FindReservationResultsViewEvent } from '@/events';\nimport { IEventReservation } from '@/models/Api/IEventReservation';\nimport ReservationsDTO, { ReservationAddonDTO, ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport ReservationRow from '@/pages/findReservation/ReservationRow';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\nimport { calculateTotalForReservation } from '@/util/TotalCalculator';\n\nexport default function FindReservationResults() {\n const params: any = useParams();\n const history = useHistory();\n\n const { hotel } = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n\n const { t } = useTranslation();\n\n const [bookingInformation, setBookingInformation] = useState<ReservationsDTO | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n\n const [cancellationMessage, setCancellationMessage] = useState('');\n const [cancellationTrigger, setCancellationTrigger] = useState(0);\n\n const [data, setData] = useState<ReservationsDTO | null>(null);\n const pushHistoryOnClick = () => {\n history.push('../');\n };\n\n const isFromRoomstay = bookingInformation?.itineraryNumber?.startsWith('RS');\n\n useEffect(() => {\n let isCancelled = false;\n\n setIsLoading(true);\n\n const handleSuccess = (data: ReservationsDTO) => {\n if (!isCancelled) {\n setBookingInformation(data);\n setIsLoading(false);\n setData(data);\n }\n };\n\n if (params?.ref) {\n API.Reservation.findReservation(params.ref, params.email, hotel?.hotelID as string)\n .then((data: ReservationsDTO) => {\n if (data.hotelFrontendId && data.hotelFrontendId !== hotel?.hotelID) {\n // User has searched for a booking that belongs to a different hotel (but within the same company).\n // Let's redirect the user to the correct hotel.\n ccx.getHotel(data.hotelFrontendId)\n .then((hotel) => {\n const findReservationUrl = `${hotel.hotelUrl}/${hotel.checkoutUrl}/#/find-reservation/${params.ref}/${params.email}`;\n window.location.href = findReservationUrl;\n })\n .catch((error) => {\n console.error(`Failed to find hotel: ${error}. Continuing with current hotel.`);\n handleSuccess(data);\n });\n } else {\n handleSuccess(data);\n }\n })\n .catch(() => {\n history.push('/find-reservation/');\n });\n } else {\n history.push('/find-reservation/');\n }\n\n return () => {\n isCancelled = true;\n };\n }, [cancellationTrigger]);\n\n const addons: ReservationAddonDTO[] = [];\n const comments: string[] = [];\n\n const total = useCallback(() => {\n if (bookingInformation?.reservations) {\n return calculateTotalForReservation(bookingInformation, !isFromRoomstay);\n }\n\n return 0;\n }, [bookingInformation]);\n\n const { raise } = useEvent();\n useEffect(() => {\n if (!data) return;\n\n const reservations: IEventReservation[] =\n data.reservations?.map((obj: ReservationDTO) => {\n const nightKeys = Object.keys(obj.nights);\n const dateFormat = 'YYYY-MM-DDTHH:mm:ss';\n\n return {\n reservationId: obj.reservationNumber,\n checkInTime: dayjs(nightKeys[0]).format(dateFormat),\n checkOutTime: dayjs(nightKeys[nightKeys.length - 1])\n .add(1, 'day')\n .format(dateFormat),\n totalPrice: obj.total.afterTax,\n priceCurrency: ccx.currentCurrency,\n };\n }) ?? [];\n\n const event = new FindReservationResultsViewEvent(reservations);\n raise(event);\n }, [data]);\n\n return (\n <div className=\"container u-pad--heavy-plus u-pad-left u-pad-right\">\n <PageTitle step=\"FindReservation\" />\n {isLoading ? (\n <LargeLoader />\n ) : (\n <>\n <div className=\"u-marg-bottom\">\n <BackButton onClick={pushHistoryOnClick} />\n </div>\n <Headline size=\"extra-large\">{t(Translation.FindReservation.YourItinerary)}</Headline>\n <Headline color={Color.DarkGrey}>#{bookingInformation?.itineraryNumber}</Headline>\n <div className=\"row u-marg-top--heavy\">\n <AutoAutoHeight open={!!cancellationMessage}>\n <Alert>{cancellationMessage}</Alert>\n </AutoAutoHeight>\n {bookingInformation?.reservations?.map((obj: ReservationDTO) => {\n if (obj.addons) {\n const nights = Object.keys(obj.nights);\n obj.addons.forEach((addon) => {\n if (isFromRoomstay) {\n addons.push({ ...addon, nights: nights.length });\n } else {\n addons.push(addon);\n }\n });\n }\n\n if (obj.comments) {\n obj.comments.map((comment: string) => {\n comments.push(comment);\n });\n }\n\n return (\n <div className=\"col-lg-6\" key={obj.reservationNumber}>\n <ReservationRow reservation={obj} key={obj.reservationNumber} />\n </div>\n );\n })}\n </div>\n <LineBreak />\n <CommonAddonSummary addons={addons} />\n {comments.length >= 1 && (\n <>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Label} color={Color.Grey}>\n {t(Translation.Step.Confirmation.Comments)}\n </Text>\n </div>\n {comments.map((comment, index: number) => (\n <Text key={index} type={TextType.Small}>\n {comment}\n </Text>\n ))}\n <LineBreak />\n </>\n )}\n <Text type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Misc.Total)}\n </Text>\n <Headline bold size=\"large\" align={TextAlign.Right}>\n <Currency>{total}</Currency>\n </Headline>\n <Text type={TextType.Small} align={TextAlign.Right} color={Color.DarkGrey}>\n {t(Translation.Step.Thanks.IncludingTaxes)}\n </Text>\n </>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FindReservationResults.js","sourceRoot":"/","sources":["src/pages/findReservation/FindReservationResults.tsx"],"names":[],"mappings":"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","sourcesContent":["import { CompanyContext } from '@frontend/contexts';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport dayjs from 'dayjs';\nimport React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport AutoAutoHeight from '@/animations/AutoAutoHeight';\nimport API from '@/api/BookingAPI';\nimport Alert from '@/components/generic/Alert';\nimport BackButton from '@/components/generic/BackButton';\nimport Currency from '@/components/generic/Currency';\nimport Headline from '@/components/generic/Headline';\nimport LineBreak from '@/components/generic/LineBreak';\nimport LargeLoader from '@/components/generic/loader/LargeLoader';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { CommonAddonSummary } from '@/components/steps/common/CommonAddonSummary/CommonAddonSummary';\nimport { FindReservationResultsViewEvent } from '@/events';\nimport { IEventReservation } from '@/models/Api/IEventReservation';\nimport ReservationsDTO, { ReservationAddonDTO, ReservationDTO } from '@/models/Api/ReservationsDTO';\nimport ReservationRow from '@/pages/findReservation/ReservationRow';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\nimport { calculateTotalForReservation } from '@/util/TotalCalculator';\n\nexport default function FindReservationResults() {\n const params: any = useParams();\n const navigate = useNavigate();\n\n const { hotel } = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n\n const { t } = useTranslation();\n\n const [bookingInformation, setBookingInformation] = useState<ReservationsDTO | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n\n const [cancellationMessage, setCancellationMessage] = useState('');\n const [cancellationTrigger, setCancellationTrigger] = useState(0);\n\n const [data, setData] = useState<ReservationsDTO | null>(null);\n const pushHistoryOnClick = () => {\n navigate('../');\n };\n\n const isFromRoomstay = bookingInformation?.itineraryNumber?.startsWith('RS');\n\n useEffect(() => {\n let isCancelled = false;\n\n setIsLoading(true);\n\n const handleSuccess = (data: ReservationsDTO) => {\n if (!isCancelled) {\n setBookingInformation(data);\n setIsLoading(false);\n setData(data);\n }\n };\n\n if (params?.ref) {\n API.Reservation.findReservation(params.ref, params.email, hotel?.hotelID as string)\n .then((data: ReservationsDTO) => {\n if (data.hotelFrontendId && data.hotelFrontendId !== hotel?.hotelID) {\n // User has searched for a booking that belongs to a different hotel (but within the same company).\n // Let's redirect the user to the correct hotel.\n ccx.getHotel(data.hotelFrontendId)\n .then((hotel) => {\n const findReservationUrl = `${hotel.hotelUrl}/${hotel.checkoutUrl}/#/find-reservation/${params.ref}/${params.email}`;\n window.location.href = findReservationUrl;\n })\n .catch((error) => {\n console.error(`Failed to find hotel: ${error}. Continuing with current hotel.`);\n handleSuccess(data);\n });\n } else {\n handleSuccess(data);\n }\n })\n .catch(() => {\n navigate('/find-reservation');\n });\n } else {\n navigate('/find-reservation');\n }\n\n return () => {\n isCancelled = true;\n };\n }, [cancellationTrigger]);\n\n const addons: ReservationAddonDTO[] = [];\n const comments: string[] = [];\n\n const total = useCallback(() => {\n if (bookingInformation?.reservations) {\n return calculateTotalForReservation(bookingInformation, !isFromRoomstay);\n }\n\n return 0;\n }, [bookingInformation]);\n\n const { raise } = useEvent();\n useEffect(() => {\n if (!data) return;\n\n const reservations: IEventReservation[] =\n data.reservations?.map((obj: ReservationDTO) => {\n const nightKeys = Object.keys(obj.nights);\n const dateFormat = 'YYYY-MM-DDTHH:mm:ss';\n\n return {\n reservationId: obj.reservationNumber,\n checkInTime: dayjs(nightKeys[0]).format(dateFormat),\n checkOutTime: dayjs(nightKeys[nightKeys.length - 1])\n .add(1, 'day')\n .format(dateFormat),\n totalPrice: obj.total.afterTax,\n priceCurrency: ccx.currentCurrency,\n };\n }) ?? [];\n\n const event = new FindReservationResultsViewEvent(reservations);\n raise(event);\n }, [data]);\n\n return (\n <div className=\"container u-pad--heavy-plus u-pad-left u-pad-right\">\n <PageTitle step=\"FindReservation\" />\n {isLoading ? (\n <LargeLoader />\n ) : (\n <>\n <div className=\"u-marg-bottom\">\n <BackButton onClick={pushHistoryOnClick} />\n </div>\n <Headline size=\"extra-large\">{t(Translation.FindReservation.YourItinerary)}</Headline>\n <Headline color={Color.DarkGrey}>#{bookingInformation?.itineraryNumber}</Headline>\n <div className=\"row u-marg-top--heavy\">\n <AutoAutoHeight open={!!cancellationMessage}>\n <Alert>{cancellationMessage}</Alert>\n </AutoAutoHeight>\n {bookingInformation?.reservations?.map((obj: ReservationDTO) => {\n if (obj.addons) {\n const nights = Object.keys(obj.nights);\n obj.addons.forEach((addon) => {\n if (isFromRoomstay) {\n addons.push({ ...addon, nights: nights.length });\n } else {\n addons.push(addon);\n }\n });\n }\n\n if (obj.comments) {\n obj.comments.map((comment: string) => {\n comments.push(comment);\n });\n }\n\n return (\n <div className=\"col-lg-6\" key={obj.reservationNumber}>\n <ReservationRow reservation={obj} key={obj.reservationNumber} />\n </div>\n );\n })}\n </div>\n <LineBreak />\n <CommonAddonSummary addons={addons} />\n {comments.length >= 1 && (\n <>\n <div className=\"u-marg-bottom\">\n <Text type={TextType.Label} color={Color.Grey}>\n {t(Translation.Step.Confirmation.Comments)}\n </Text>\n </div>\n {comments.map((comment, index: number) => (\n <Text key={index} type={TextType.Small}>\n {comment}\n </Text>\n ))}\n <LineBreak />\n </>\n )}\n <Text type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Misc.Total)}\n </Text>\n <Headline bold size=\"large\" align={TextAlign.Right}>\n <Currency>{total}</Currency>\n </Headline>\n <Text type={TextType.Small} align={TextAlign.Right} color={Color.DarkGrey}>\n {t(Translation.Step.Thanks.IncludingTaxes)}\n </Text>\n </>\n )}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","sourceRoot":"/","sources":["src/pages/steps/Step.ts"],"names":[],"mappings":";;AAOA,MAA8B,IAAI;IAI9B,YAAsB,IAAY;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAEM,UAAU;QACb,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC;IAClD,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,OAAgB,EAAE,KAAa;QAClD,OAAO;IACX,CAAC;IAMS,cAAc;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACzC,CAAC;CACJ;AAxCD,uBAwCC","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\nimport { FC } from 'react';\n\nimport type { Company } from '@/models/Client/Hotel/Company';\nimport type { Hotel } from '@/models/Client/Hotel/Hotel';\nimport StepValidator from '@/pages/steps/StepValidator';\n\nexport default abstract class Step {\n protected name: string;\n protected showOnNavigation: boolean;\n\n protected constructor(name: string) {\n this.name = name;\n this.showOnNavigation = true;\n }\n\n public getName() {\n return this.name;\n }\n\n public getStepUrl() {\n return `${'/step/'}${this.getUrlFragment()}/`;\n }\n\n public getStepTranslation(): string | null {\n return null;\n }\n\n public shouldShowOnNavigation() {\n return this.showOnNavigation;\n }\n\n /**\n * Method gets called when Step is activated. Return a @type ColorProfile\n * to automatically set theme when step is loaded\n */\n public getColorProfile(company: Company, hotel?: Hotel): IHotelColorScheme | undefined {\n return;\n }\n\n public abstract getComponent(): FC;\n\n public abstract getValidator(): StepValidator;\n\n protected getUrlFragment() {\n return this.name.toLocaleLowerCase();\n }\n}\n"]}
1
+ {"version":3,"file":"Step.js","sourceRoot":"/","sources":["src/pages/steps/Step.ts"],"names":[],"mappings":";;AAQA,MAA8B,IAAI;IAI9B,YAAsB,IAAY;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAEM,UAAU;QACb,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC;IAClD,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,OAAgB,EAAE,KAAa;QAClD,OAAO;IACX,CAAC;IAMS,cAAc;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACzC,CAAC;CACJ;AAxCD,uBAwCC","sourcesContent":["import { IHotelColorScheme } from '@roomstay/core';\nimport { FC } from 'react';\n\nimport type { Company } from '@/models/Client/Hotel/Company';\nimport type { Hotel } from '@/models/Client/Hotel/Hotel';\nimport StepValidator from '@/pages/steps/StepValidator';\nimport { useLocation } from 'react-router-dom';\n\nexport default abstract class Step {\n protected name: string;\n protected showOnNavigation: boolean;\n\n protected constructor(name: string) {\n this.name = name;\n this.showOnNavigation = true;\n }\n\n public getName() {\n return this.name;\n }\n\n public getStepUrl() {\n return `${'/step/'}${this.getUrlFragment()}/`;\n }\n\n public getStepTranslation(): string | null {\n return null;\n }\n\n public shouldShowOnNavigation() {\n return this.showOnNavigation;\n }\n\n /**\n * Method gets called when Step is activated. Return a @type ColorProfile\n * to automatically set theme when step is loaded\n */\n public getColorProfile(company: Company, hotel?: Hotel): IHotelColorScheme | undefined {\n return;\n }\n\n public abstract getComponent(): FC;\n\n public abstract getValidator(): StepValidator;\n\n protected getUrlFragment() {\n return this.name.toLocaleLowerCase();\n }\n}\n"]}
@@ -47,6 +47,7 @@ function StepAddonComponent() {
47
47
  const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
48
48
  const { currentStep } = (0, react_1.useContext)(contexts_1.FullPageEngineContext);
49
49
  const { currentBasketRows } = (0, react_1.useContext)(contexts_1.BasketContext);
50
+ const location = (0, react_router_dom_1.useLocation)();
50
51
  const { t } = (0, react_i18next_1.useTranslation)();
51
52
  const { raise } = (0, EventHook_1.useEvent)();
52
53
  (0, react_1.useEffect)(() => {
@@ -58,7 +59,10 @@ function StepAddonComponent() {
58
59
  react_1.default.createElement(BEMobileSummary_1.default, null),
59
60
  react_1.default.createElement(StepLayout_1.StepLayoutContainer, null,
60
61
  react_1.default.createElement(StepLayout_1.StepLayoutLeftContent, null, context.screenSize > ScreenSize_1.default.Medium && (react_1.default.createElement(react_1.default.Fragment, null,
61
- react_1.default.createElement(react_router_dom_1.Link, { to: StepManager_1.default.getPreviousStepUrl(currentStep) },
62
+ react_1.default.createElement(react_router_dom_1.Link, { to: {
63
+ pathname: StepManager_1.default.getPreviousStepUrl(currentStep),
64
+ search: location.search,
65
+ } },
62
66
  react_1.default.createElement(BackButton_1.default, null)),
63
67
  react_1.default.createElement("div", { className: "u-marg-top--light u-marg-bottom--heavy" },
64
68
  react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Navigation.Steps.Addon)))))),
@@ -1 +1 @@
1
- {"version":3,"file":"StepAddonComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepAddon/StepAddonComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgG;AAChG,6CAAsD;AACtD,+CAAqD;AACrD,iDAA+C;AAC/C,uDAAwC;AACxC,0DAAuD;AAEvD,iFAAyD;AACzD,6EAAqD;AACrD,uEAA4H;AAC5H,+EAAuD;AACvD,8DAA2D;AAC3D,oFAA4D;AAC5D,wGAAgF;AAChF,2FAAmE;AACnE,iDAA6C;AAC7C,mEAA2C;AAC3C,qEAA6C;AAE7C,SAAwB,kBAAkB;IACtC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAExD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oBAAQ,GAAE,CAAC;IAE7B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,2BAAkB,CAAC,iBAAiB,CAAC,CAAC;QACxD,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,uCAAK,SAAS,EAAC,WAAW;QACtB,8BAAC,qBAAS,IAAC,IAAI,EAAC,OAAO,GAAG;QAC1B,8BAAC,yBAAe,OAAG;QACnB,8BAAC,gCAAmB;YAChB,8BAAC,kCAAqB,QACjB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC;gBACI,8BAAC,uBAAI,IAAC,EAAE,EAAE,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;oBACjD,8BAAC,oBAAU,OAAG,CACX;gBACP,uCAAK,SAAS,EAAC,wCAAwC;oBACnD,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAY,CAC/D,CACP,CACN,CACmB;YACvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;gBACnB,8BAAC,8BAAoB,OAAG,CACH,CAC5B,CACiB;QACrB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,8BAAC,mBAAS,OAAG;QACxD,8BAAC,mBAAS,OAAG,CACX,CACT,CAAC;AACN,CAAC;AAzCD,qCAyCC","sourcesContent":["import { BasketContext, BookingEngineContext, FullPageEngineContext } from '@frontend/contexts';\nimport { StepAddonViewEvent } from '@frontend/events';\nimport React, { useContext, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport BackButton from '@/components/generic/BackButton';\nimport Headline from '@/components/generic/Headline';\nimport { StepLayoutContainer, StepLayoutLeftContent, StepLayoutRightContent } from '@/components/generic/Layout/StepLayout';\nimport LineBreak from '@/components/generic/LineBreak';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport AddonList from '@/components/steps/addons/AddonList';\nimport StepRoomHotelDetails from '@/components/steps/room/StepRoomHotelDetails';\nimport BEMobileSummary from '@/components/summary/BEMobileSummary';\nimport { useEvent } from '@/hooks/EventHook';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nexport default function StepAddonComponent() {\n const context = useContext(BookingEngineContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const { currentBasketRows } = useContext(BasketContext);\n\n const { t } = useTranslation();\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepAddonViewEvent(currentBasketRows);\n raise(event);\n }, []);\n\n return (\n <div className=\"container\">\n <PageTitle step=\"Addon\" />\n <BEMobileSummary />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <>\n <Link to={StepManager.getPreviousStepUrl(currentStep)}>\n <BackButton />\n </Link>\n <div className=\"u-marg-top--light u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Navigation.Steps.Addon)}</Headline>\n </div>\n </>\n )}\n </StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <StepRoomHotelDetails />\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n {context.screenSize > ScreenSize.Medium && <LineBreak />}\n <AddonList />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"StepAddonComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepAddon/StepAddonComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgG;AAChG,6CAAsD;AACtD,+CAAqD;AACrD,iDAA+C;AAC/C,uDAAqD;AACrD,0DAAuD;AAEvD,iFAAyD;AACzD,6EAAqD;AACrD,uEAA4H;AAC5H,+EAAuD;AACvD,8DAA2D;AAC3D,oFAA4D;AAC5D,wGAAgF;AAChF,2FAAmE;AACnE,iDAA6C;AAC7C,mEAA2C;AAC3C,qEAA6C;AAE7C,SAAwB,kBAAkB;IACtC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAE/B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oBAAQ,GAAE,CAAC;IAE7B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,2BAAkB,CAAC,iBAAiB,CAAC,CAAC;QACxD,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,uCAAK,SAAS,EAAC,WAAW;QACtB,8BAAC,qBAAS,IAAC,IAAI,EAAC,OAAO,GAAG;QAC1B,8BAAC,yBAAe,OAAG;QACnB,8BAAC,gCAAmB;YAChB,8BAAC,kCAAqB,QACjB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC;gBACI,8BAAC,uBAAI,IACD,EAAE,EAAE;wBACA,QAAQ,EAAE,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;wBACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;qBAC1B;oBAED,8BAAC,oBAAU,OAAG,CACX;gBACP,uCAAK,SAAS,EAAC,wCAAwC;oBACnD,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAY,CAC/D,CACP,CACN,CACmB;YACvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;gBACnB,8BAAC,8BAAoB,OAAG,CACH,CAC5B,CACiB;QACrB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,8BAAC,mBAAS,OAAG;QACxD,8BAAC,mBAAS,OAAG,CACX,CACT,CAAC;AACN,CAAC;AA/CD,qCA+CC","sourcesContent":["import { BasketContext, BookingEngineContext, FullPageEngineContext } from '@frontend/contexts';\nimport { StepAddonViewEvent } from '@frontend/events';\nimport React, { useContext, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link, useLocation } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport BackButton from '@/components/generic/BackButton';\nimport Headline from '@/components/generic/Headline';\nimport { StepLayoutContainer, StepLayoutLeftContent, StepLayoutRightContent } from '@/components/generic/Layout/StepLayout';\nimport LineBreak from '@/components/generic/LineBreak';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport AddonList from '@/components/steps/addons/AddonList';\nimport StepRoomHotelDetails from '@/components/steps/room/StepRoomHotelDetails';\nimport BEMobileSummary from '@/components/summary/BEMobileSummary';\nimport { useEvent } from '@/hooks/EventHook';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nexport default function StepAddonComponent() {\n const context = useContext(BookingEngineContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const { currentBasketRows } = useContext(BasketContext);\n const location = useLocation();\n\n const { t } = useTranslation();\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepAddonViewEvent(currentBasketRows);\n raise(event);\n }, []);\n\n return (\n <div className=\"container\">\n <PageTitle step=\"Addon\" />\n <BEMobileSummary />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <>\n <Link\n to={{\n pathname: StepManager.getPreviousStepUrl(currentStep),\n search: location.search,\n }}\n >\n <BackButton />\n </Link>\n <div className=\"u-marg-top--light u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Navigation.Steps.Addon)}</Headline>\n </div>\n </>\n )}\n </StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <StepRoomHotelDetails />\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n {context.screenSize > ScreenSize.Medium && <LineBreak />}\n <AddonList />\n </div>\n );\n}\n"]}
@@ -53,6 +53,7 @@ function StepConfirmationComponent() {
53
53
  const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
54
54
  const { currentStep } = (0, react_1.useContext)(contexts_1.FullPageEngineContext);
55
55
  const { currentBasketRows } = (0, react_1.useContext)(contexts_1.BasketContext);
56
+ const location = (0, react_router_dom_1.useLocation)();
56
57
  const { t } = (0, react_i18next_1.useTranslation)();
57
58
  const { raise } = (0, EventHook_1.useEvent)();
58
59
  (0, react_1.useEffect)(() => {
@@ -66,7 +67,10 @@ function StepConfirmationComponent() {
66
67
  react_1.default.createElement(StepLayout_1.StepLayoutContainer, null,
67
68
  react_1.default.createElement(StepLayout_1.StepLayoutLeftContent, null,
68
69
  context.screenSize > ScreenSize_1.default.Medium && (react_1.default.createElement(react_1.default.Fragment, null,
69
- react_1.default.createElement(react_router_dom_1.Link, { to: StepManager_1.default.getPreviousStepUrl(currentStep) },
70
+ react_1.default.createElement(react_router_dom_1.Link, { to: {
71
+ pathname: StepManager_1.default.getPreviousStepUrl(currentStep),
72
+ search: location.search,
73
+ } },
70
74
  react_1.default.createElement(BackButton_1.default, null)),
71
75
  react_1.default.createElement("div", { className: "u-marg-top--light u-marg-bottom--heavy" },
72
76
  react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Navigation.Steps.Confirmation))))),
@@ -1 +1 @@
1
- {"version":3,"file":"StepConfirmationComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepConfirmation/StepConfirmationComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgI;AAChI,6CAAyD;AACzD,kDAA0B;AAC1B,+CAAqD;AACrD,iDAA+C;AAC/C,uDAAwC;AACxC,0DAAuD;AAEvD,iFAAyD;AACzD,6EAAqD;AACrD,uEAA4H;AAC5H,+EAAuD;AACvD,8DAA2D;AAC3D,yHAAiG;AACjG,gIAAwG;AACxG,0GAAkF;AAClF,wGAAgF;AAChF,2FAAmE;AACnE,8DAA2D;AAC3D,iDAA6C;AAC7C,wGAAgF;AAChF,mEAA2C;AAC3C,qEAA6C;AAE7C,uIAA+G;AAE/G,SAAS,yBAAyB;IAC9B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAExD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oBAAQ,GAAE,CAAC;IAE7B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,8BAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3D,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,uCAAK,SAAS,EAAC,WAAW;QACtB,8BAAC,qBAAS,IAAC,IAAI,EAAC,cAAc,GAAG;QACjC,8BAAC,yCAA8B;YAC3B,8BAAC,yBAAe,OAAG;YACnB,8BAAC,gCAAmB;gBAChB,8BAAC,kCAAqB;oBACjB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC;wBACI,8BAAC,uBAAI,IAAC,EAAE,EAAE,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;4BACjD,8BAAC,oBAAU,OAAG,CACX;wBACP,uCAAK,SAAS,EAAC,wCAAwC;4BACnD,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAY,CACtE,CACP,CACN;oBAED,uCAAK,SAAS,EAAC,eAAe;wBAC1B,8BAAC,+BAAqB,OAAG,CACvB,CACc;gBACvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;oBACnB,8BAAC,8BAAoB,OAAG,CACH,CAC5B,CACiB;YACtB,8BAAC,mBAAS,OAAG;YACb,8BAAC,gCAAmB;gBAChB,8BAAC,kCAAqB;oBAClB,uCAAK,SAAS,EAAC,iBAAiB;wBAC3B,CAAC,gCAAsB,CAAC,QAAQ,EAAE,IAAI,8BAAC,0BAAgB,OAAG;wBAC3D,8BAAC,sCAA4B,OAAG,CAC9B,CACc;gBAEvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;oBACnB,8BAAC,sCAA4B,IAAC,OAAO,EAAE,IAAA,eAAK,GAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAI;oBACpE,8BAAC,qBAAS,IAAC,UAAU,SAAG,CACH,CAC5B,CACiB,CACO,CAC/B,CACT,CAAC;AACN,CAAC;AAED,kBAAe,yBAAyB,CAAC","sourcesContent":["import { BasketContext, BookingEngineContext, ConfirmationFormContextWrapper, FullPageEngineContext } from '@frontend/contexts';\nimport { StepCheckoutViewEvent } from '@frontend/events';\nimport dayjs from 'dayjs';\nimport React, { useContext, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport BackButton from '@/components/generic/BackButton';\nimport Headline from '@/components/generic/Headline';\nimport { StepLayoutContainer, StepLayoutLeftContent, StepLayoutRightContent } from '@/components/generic/Layout/StepLayout';\nimport LineBreak from '@/components/generic/LineBreak';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport AdditionalOffers from '@/components/steps/confirmation/additionalOffers/AdditionalOffers';\nimport StepConfirmationLimitedOffer from '@/components/steps/confirmation/StepConfirmationLimitedOffer';\nimport StepRoomBestRateAlert from '@/components/steps/room/StepRoomBestRateAlert';\nimport StepRoomHotelDetails from '@/components/steps/room/StepRoomHotelDetails';\nimport BEMobileSummary from '@/components/summary/BEMobileSummary';\nimport { BESummary } from '@/components/summary/BESummary';\nimport { useEvent } from '@/hooks/EventHook';\nimport InlineAddonStepFeature from '@/providers/feature/InlineAddonStepFeature';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nimport StepConfirmationFormProvider from '../../../components/steps/confirmation/StepConfirmationFormProvider';\n\nfunction StepConfirmationComponent() {\n const context = useContext(BookingEngineContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const { currentBasketRows } = useContext(BasketContext);\n\n const { t } = useTranslation();\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepCheckoutViewEvent(currentBasketRows);\n raise(event);\n }, []);\n\n return (\n <div className=\"container\">\n <PageTitle step=\"Confirmation\" />\n <ConfirmationFormContextWrapper>\n <BEMobileSummary />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <>\n <Link to={StepManager.getPreviousStepUrl(currentStep)}>\n <BackButton />\n </Link>\n <div className=\"u-marg-top--light u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Navigation.Steps.Confirmation)}</Headline>\n </div>\n </>\n )}\n\n <div className=\"u-marg-top@m-\">\n <StepRoomBestRateAlert />\n </div>\n </StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <StepRoomHotelDetails />\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n <LineBreak />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n <div className=\"block-container\">\n {!InlineAddonStepFeature.isActive() && <AdditionalOffers />}\n <StepConfirmationFormProvider />\n </div>\n </StepLayoutLeftContent>\n\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <StepConfirmationLimitedOffer endDate={dayjs().add(10, 'minute')} />\n <BESummary showImages />\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n </ConfirmationFormContextWrapper>\n </div>\n );\n}\n\nexport default StepConfirmationComponent;\n"]}
1
+ {"version":3,"file":"StepConfirmationComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepConfirmation/StepConfirmationComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgI;AAChI,6CAAyD;AACzD,kDAA0B;AAC1B,+CAAqD;AACrD,iDAA+C;AAC/C,uDAAqD;AACrD,0DAAuD;AAEvD,iFAAyD;AACzD,6EAAqD;AACrD,uEAA4H;AAC5H,+EAAuD;AACvD,8DAA2D;AAC3D,yHAAiG;AACjG,gIAAwG;AACxG,0GAAkF;AAClF,wGAAgF;AAChF,2FAAmE;AACnE,8DAA2D;AAC3D,iDAA6C;AAC7C,wGAAgF;AAChF,mEAA2C;AAC3C,qEAA6C;AAE7C,uIAA+G;AAE/G,SAAS,yBAAyB;IAC9B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAE/B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oBAAQ,GAAE,CAAC;IAE7B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,8BAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3D,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,uCAAK,SAAS,EAAC,WAAW;QACtB,8BAAC,qBAAS,IAAC,IAAI,EAAC,cAAc,GAAG;QACjC,8BAAC,yCAA8B;YAC3B,8BAAC,yBAAe,OAAG;YACnB,8BAAC,gCAAmB;gBAChB,8BAAC,kCAAqB;oBACjB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC;wBACI,8BAAC,uBAAI,IACD,EAAE,EAAE;gCACA,QAAQ,EAAE,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;gCACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;6BAC1B;4BAED,8BAAC,oBAAU,OAAG,CACX;wBACP,uCAAK,SAAS,EAAC,wCAAwC;4BACnD,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAY,CACtE,CACP,CACN;oBAED,uCAAK,SAAS,EAAC,eAAe;wBAC1B,8BAAC,+BAAqB,OAAG,CACvB,CACc;gBACvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;oBACnB,8BAAC,8BAAoB,OAAG,CACH,CAC5B,CACiB;YACtB,8BAAC,mBAAS,OAAG;YACb,8BAAC,gCAAmB;gBAChB,8BAAC,kCAAqB;oBAClB,uCAAK,SAAS,EAAC,iBAAiB;wBAC3B,CAAC,gCAAsB,CAAC,QAAQ,EAAE,IAAI,8BAAC,0BAAgB,OAAG;wBAC3D,8BAAC,sCAA4B,OAAG,CAC9B,CACc;gBAEvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;oBACnB,8BAAC,sCAA4B,IAAC,OAAO,EAAE,IAAA,eAAK,GAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAI;oBACpE,8BAAC,qBAAS,IAAC,UAAU,SAAG,CACH,CAC5B,CACiB,CACO,CAC/B,CACT,CAAC;AACN,CAAC;AAED,kBAAe,yBAAyB,CAAC","sourcesContent":["import { BasketContext, BookingEngineContext, ConfirmationFormContextWrapper, FullPageEngineContext } from '@frontend/contexts';\nimport { StepCheckoutViewEvent } from '@frontend/events';\nimport dayjs from 'dayjs';\nimport React, { useContext, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link, useLocation } from 'react-router-dom';\nimport { Translation } from 'translations/Translation';\n\nimport BackButton from '@/components/generic/BackButton';\nimport Headline from '@/components/generic/Headline';\nimport { StepLayoutContainer, StepLayoutLeftContent, StepLayoutRightContent } from '@/components/generic/Layout/StepLayout';\nimport LineBreak from '@/components/generic/LineBreak';\nimport { PageTitle } from '@/components/generic/PageTitle';\nimport AdditionalOffers from '@/components/steps/confirmation/additionalOffers/AdditionalOffers';\nimport StepConfirmationLimitedOffer from '@/components/steps/confirmation/StepConfirmationLimitedOffer';\nimport StepRoomBestRateAlert from '@/components/steps/room/StepRoomBestRateAlert';\nimport StepRoomHotelDetails from '@/components/steps/room/StepRoomHotelDetails';\nimport BEMobileSummary from '@/components/summary/BEMobileSummary';\nimport { BESummary } from '@/components/summary/BESummary';\nimport { useEvent } from '@/hooks/EventHook';\nimport InlineAddonStepFeature from '@/providers/feature/InlineAddonStepFeature';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nimport StepConfirmationFormProvider from '../../../components/steps/confirmation/StepConfirmationFormProvider';\n\nfunction StepConfirmationComponent() {\n const context = useContext(BookingEngineContext);\n const { currentStep } = useContext(FullPageEngineContext);\n const { currentBasketRows } = useContext(BasketContext);\n const location = useLocation();\n\n const { t } = useTranslation();\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepCheckoutViewEvent(currentBasketRows);\n raise(event);\n }, []);\n\n return (\n <div className=\"container\">\n <PageTitle step=\"Confirmation\" />\n <ConfirmationFormContextWrapper>\n <BEMobileSummary />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <>\n <Link\n to={{\n pathname: StepManager.getPreviousStepUrl(currentStep),\n search: location.search,\n }}\n >\n <BackButton />\n </Link>\n <div className=\"u-marg-top--light u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Navigation.Steps.Confirmation)}</Headline>\n </div>\n </>\n )}\n\n <div className=\"u-marg-top@m-\">\n <StepRoomBestRateAlert />\n </div>\n </StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <StepRoomHotelDetails />\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n <LineBreak />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n <div className=\"block-container\">\n {!InlineAddonStepFeature.isActive() && <AdditionalOffers />}\n <StepConfirmationFormProvider />\n </div>\n </StepLayoutLeftContent>\n\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <StepConfirmationLimitedOffer endDate={dayjs().add(10, 'minute')} />\n <BESummary showImages />\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n </ConfirmationFormContextWrapper>\n </div>\n );\n}\n\nexport default StepConfirmationComponent;\n"]}
@@ -1,2 +1,2 @@
1
- declare const StepDate: () => JSX.Element;
2
- export default StepDate;
1
+ declare const StepDateComponent: () => JSX.Element;
2
+ export default StepDateComponent;
@@ -43,19 +43,20 @@ const StepOneDateRangePicker_1 = __importDefault(require("../../../components/st
43
43
  const StepOneDateRangePickerLegend_1 = __importDefault(require("../../../components/steps/date/StepOneDateRangePickerLegend"));
44
44
  const StepOneNextStepButton_1 = __importDefault(require("../../../components/steps/date/StepOneNextStepButton"));
45
45
  const StepOneStatusPeople_1 = __importDefault(require("../../../components/steps/date/StepOneStatusPeople"));
46
- const BasketRow_1 = __importDefault(require("../../../models/BasketRow"));
47
46
  const Color_1 = require("../../../util/Color");
48
47
  const ScreenSize_1 = __importDefault(require("../../../util/ScreenSize"));
48
+ const StepDate_1 = __importDefault(require("./StepDate"));
49
49
  const BEMobileSummary = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../../../components/summary/BEMobileSummary'))));
50
- const StepDate = () => {
50
+ const StepDateComponent = () => {
51
+ const { currentStep } = (0, react_1.useContext)(contexts_1.FullPageEngineContext);
51
52
  const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
52
53
  const basketContext = (0, react_1.useContext)(contexts_1.BasketContext);
54
+ const { selectedBasketRow, selectBasketRow } = basketContext;
53
55
  const ccx = (0, react_1.useContext)(contexts_1.CompanyContext);
54
56
  const { hideByLine } = (0, react_1.useContext)(HotelOverridesContext_1.HotelOverridesContext);
55
57
  const { hotel } = (0, hooks_1.useCurrentHotel)();
56
58
  const { t } = (0, react_i18next_1.useTranslation)();
57
59
  const peopleRef = (0, react_1.useRef)(null);
58
- const { selectedBasketRow, addBasketRow } = basketContext;
59
60
  (0, react_1.useEffect)(() => {
60
61
  if (context.screenSize <= ScreenSize_1.default.Medium && basketContext.endDate) {
61
62
  if (peopleRef) {
@@ -72,10 +73,16 @@ const StepDate = () => {
72
73
  raise(event);
73
74
  }, []);
74
75
  (0, react_1.useEffect)(() => {
75
- if (!selectedBasketRow) {
76
- addBasketRow(new BasketRow_1.default());
76
+ /**
77
+ * Ensures that a basket row is always selected when navigating back to the "Step Date" step.
78
+ *
79
+ * - In [Step Room], after assigning a rate, the selected basket row may be set to null.
80
+ * - When navigating back to [Step Date], ensure that at least one basket row is selected.
81
+ */
82
+ if (currentStep.getName() === StepDate_1.default.getName() && !selectedBasketRow) {
83
+ selectBasketRow(null);
77
84
  }
78
- }, [selectedBasketRow]);
85
+ }, [currentStep, selectedBasketRow]);
79
86
  return (react_1.default.createElement("div", { className: "container" },
80
87
  context.screenSize <= ScreenSize_1.default.Medium && react_1.default.createElement(BEMobileSummary, null),
81
88
  context.screenSize >= ScreenSize_1.default.Large && (react_1.default.createElement(react_1.default.Fragment, null,
@@ -110,5 +117,5 @@ const StepDate = () => {
110
117
  react_1.default.createElement("div", { className: "u-flex justify-content-end" },
111
118
  react_1.default.createElement(StepOneNextStepButton_1.default, null))));
112
119
  };
113
- exports.default = StepDate;
120
+ exports.default = StepDateComponent;
114
121
  //# sourceMappingURL=StepDateComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepDateComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepDate/StepDateComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext, CompanyContext } from '@frontend/contexts';\nimport { StepDateViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport { HotelOverridesContext } from 'contexts/HotelOverridesContext';\nimport React, { lazy, Suspense, useContext, useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport Headline from '@/components/generic/Headline';\nimport LineBreak from '@/components/generic/LineBreak';\nimport Text from '@/components/generic/Text';\nimport PeoplePicker from '@/components/steps/date/PeoplePicker';\nimport StepDatePricePerRoom from '@/components/steps/date/StepDatePricePerRoom';\nimport StepOneDateRange from '@/components/steps/date/StepOneDateRange';\nimport StepOneDateRangePicker from '@/components/steps/date/StepOneDateRangePicker';\nimport StepOneDateRangePickerLegend from '@/components/steps/date/StepOneDateRangePickerLegend';\nimport StepOneNextStepButton from '@/components/steps/date/StepOneNextStepButton';\nimport StepOneStatusPeople from '@/components/steps/date/StepOneStatusPeople';\nimport BasketRow from '@/models/BasketRow';\nimport { Color } from '@/util/Color';\nimport ScreenSize from '@/util/ScreenSize';\nconst BEMobileSummary = lazy(() => import('@/components/summary/BEMobileSummary'));\n\nconst StepDate = () => {\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const { hideByLine } = useContext(HotelOverridesContext);\n const { hotel } = useCurrentHotel();\n const { t } = useTranslation();\n\n const peopleRef = useRef<HTMLDivElement | null>(null);\n const { selectedBasketRow, addBasketRow } = basketContext;\n\n useEffect(() => {\n if (context.screenSize <= ScreenSize.Medium && basketContext.endDate) {\n if (peopleRef) {\n setTimeout(() => {\n peopleRef.current?.scrollIntoView?.({ behavior: 'smooth', block: 'center', inline: 'nearest' });\n }, 50);\n }\n }\n }, [basketContext.endDate]);\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepDateViewEvent();\n raise(event);\n }, []);\n\n useEffect(() => {\n if (!selectedBasketRow) {\n addBasketRow(new BasketRow());\n }\n }, [selectedBasketRow]);\n\n return (\n <div className=\"container\">\n {context.screenSize <= ScreenSize.Medium && <BEMobileSummary />}\n {context.screenSize >= ScreenSize.Large && (\n <>\n <div className=\"row step-date-hotel-info\">\n <div className=\"col-md-4 col-lg-3\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Date.Reservation)}</Headline>\n </div>\n <Headline className=\"hotel-name\" color={Color.Navy}>\n {hotel?.name}\n </Headline>\n {!hideByLine && (\n <Text className=\"company-name\" color={Color.DarkGrey}>\n {t(Translation.Misc.By)} {ccx.name}\n </Text>\n )}\n </div>\n <div className=\"col-md-8 col-lg-9\">\n <div className=\"row justify-content-between\">\n <div className=\"col-md-6\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Date.SelectYourDate)}</Headline>\n </div>\n <div className=\"step-one-status\">\n <StepOneDateRange />\n <StepOneStatusPeople />\n </div>\n </div>\n <div className=\"col-md-4\">\n <StepDatePricePerRoom isMobile={false} />\n </div>\n </div>\n </div>\n </div>\n <LineBreak />\n </>\n )}\n\n <div className=\"row flex-column-reverse flex-md-row align-items-center align-items-md-start\">\n <div ref={peopleRef} className=\"col-md-4 col-xl-3\">\n <PeoplePicker />\n </div>\n <div className=\"col-md-8 col-xl-9\">\n <div className=\"w-100 u-flex justify-content-center flex-column align-items-center\">\n <Suspense fallback=\"loading....\">\n <StepOneDateRangePicker />\n </Suspense>\n </div>\n {context.screenSize >= ScreenSize.Large ? <StepOneDateRangePickerLegend /> : <LineBreak />}\n </div>\n </div>\n <div className=\"u-flex justify-content-end\">\n <StepOneNextStepButton />\n </div>\n </div>\n );\n};\nexport default StepDate;\n"]}
1
+ {"version":3,"file":"StepDateComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepDate/StepDateComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import { BasketContext, BookingEngineContext, CompanyContext, FullPageEngineContext } from '@frontend/contexts';\nimport { StepDateViewEvent } from '@frontend/events';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport { HotelOverridesContext } from 'contexts/HotelOverridesContext';\nimport React, { lazy, Suspense, useContext, useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from 'translations/Translation';\n\nimport Headline from '@/components/generic/Headline';\nimport LineBreak from '@/components/generic/LineBreak';\nimport Text from '@/components/generic/Text';\nimport PeoplePicker from '@/components/steps/date/PeoplePicker';\nimport StepDatePricePerRoom from '@/components/steps/date/StepDatePricePerRoom';\nimport StepOneDateRange from '@/components/steps/date/StepOneDateRange';\nimport StepOneDateRangePicker from '@/components/steps/date/StepOneDateRangePicker';\nimport StepOneDateRangePickerLegend from '@/components/steps/date/StepOneDateRangePickerLegend';\nimport StepOneNextStepButton from '@/components/steps/date/StepOneNextStepButton';\nimport StepOneStatusPeople from '@/components/steps/date/StepOneStatusPeople';\nimport { Color } from '@/util/Color';\nimport ScreenSize from '@/util/ScreenSize';\n\nimport StepDate from './StepDate';\nconst BEMobileSummary = lazy(() => import('@/components/summary/BEMobileSummary'));\n\nconst StepDateComponent = () => {\n const { currentStep } = useContext(FullPageEngineContext);\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const { selectedBasketRow, selectBasketRow } = basketContext;\n const ccx = useContext(CompanyContext);\n const { hideByLine } = useContext(HotelOverridesContext);\n const { hotel } = useCurrentHotel();\n const { t } = useTranslation();\n\n const peopleRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (context.screenSize <= ScreenSize.Medium && basketContext.endDate) {\n if (peopleRef) {\n setTimeout(() => {\n peopleRef.current?.scrollIntoView?.({ behavior: 'smooth', block: 'center', inline: 'nearest' });\n }, 50);\n }\n }\n }, [basketContext.endDate]);\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepDateViewEvent();\n raise(event);\n }, []);\n\n useEffect(() => {\n /**\n * Ensures that a basket row is always selected when navigating back to the \"Step Date\" step.\n *\n * - In [Step Room], after assigning a rate, the selected basket row may be set to null.\n * - When navigating back to [Step Date], ensure that at least one basket row is selected.\n */\n if (currentStep.getName() === StepDate.getName() && !selectedBasketRow) {\n selectBasketRow(null);\n }\n }, [currentStep, selectedBasketRow]);\n\n return (\n <div className=\"container\">\n {context.screenSize <= ScreenSize.Medium && <BEMobileSummary />}\n {context.screenSize >= ScreenSize.Large && (\n <>\n <div className=\"row step-date-hotel-info\">\n <div className=\"col-md-4 col-lg-3\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Date.Reservation)}</Headline>\n </div>\n <Headline className=\"hotel-name\" color={Color.Navy}>\n {hotel?.name}\n </Headline>\n {!hideByLine && (\n <Text className=\"company-name\" color={Color.DarkGrey}>\n {t(Translation.Misc.By)} {ccx.name}\n </Text>\n )}\n </div>\n <div className=\"col-md-8 col-lg-9\">\n <div className=\"row justify-content-between\">\n <div className=\"col-md-6\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Date.SelectYourDate)}</Headline>\n </div>\n <div className=\"step-one-status\">\n <StepOneDateRange />\n <StepOneStatusPeople />\n </div>\n </div>\n <div className=\"col-md-4\">\n <StepDatePricePerRoom isMobile={false} />\n </div>\n </div>\n </div>\n </div>\n <LineBreak />\n </>\n )}\n\n <div className=\"row flex-column-reverse flex-md-row align-items-center align-items-md-start\">\n <div ref={peopleRef} className=\"col-md-4 col-xl-3\">\n <PeoplePicker />\n </div>\n <div className=\"col-md-8 col-xl-9\">\n <div className=\"w-100 u-flex justify-content-center flex-column align-items-center\">\n <Suspense fallback=\"loading....\">\n <StepOneDateRangePicker />\n </Suspense>\n </div>\n {context.screenSize >= ScreenSize.Large ? <StepOneDateRangePickerLegend /> : <LineBreak />}\n </div>\n </div>\n <div className=\"u-flex justify-content-end\">\n <StepOneNextStepButton />\n </div>\n </div>\n );\n};\nexport default StepDateComponent;\n"]}
@@ -44,6 +44,7 @@ const ScreenSize_1 = __importDefault(require("../../../util/ScreenSize"));
44
44
  const StepManager_1 = __importDefault(require("../../../util/StepManager"));
45
45
  const StepGroupedRoomComponent = () => {
46
46
  const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
47
+ const location = (0, react_router_dom_1.useLocation)();
47
48
  const { t } = (0, react_i18next_1.useTranslation)();
48
49
  const { currentStep } = (0, react_1.useContext)(contexts_1.FullPageEngineContext);
49
50
  return (react_1.default.createElement("div", { className: "container" },
@@ -51,7 +52,10 @@ const StepGroupedRoomComponent = () => {
51
52
  react_1.default.createElement(StepLayout_1.StepLayoutContainer, null,
52
53
  react_1.default.createElement(StepLayout_1.StepLayoutLeftContent, null,
53
54
  context.screenSize > ScreenSize_1.default.Medium && (react_1.default.createElement(react_1.default.Fragment, null,
54
- react_1.default.createElement(react_router_dom_1.Link, { to: StepManager_1.default.getPreviousStepUrl(currentStep) },
55
+ react_1.default.createElement(react_router_dom_1.Link, { to: {
56
+ pathname: StepManager_1.default.getPreviousStepUrl(currentStep),
57
+ search: location.search,
58
+ } },
55
59
  react_1.default.createElement(BackButton_1.default, null)),
56
60
  react_1.default.createElement("div", { className: "u-marg-top--light u-marg-bottom--heavy" },
57
61
  react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Step.Room.ChooseRoom))),
@@ -1 +1 @@
1
- {"version":3,"file":"StepGroupedRoomComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiF;AACjF,+CAA0C;AAC1C,iDAA+C;AAC/C,uDAAwC;AAExC,iFAAyD;AACzD,6EAAqD;AACrD,uEAA4H;AAC5H,+EAAuD;AACvD,wGAAgF;AAChF,gHAAwF;AACxF,6FAA0F;AAC1F,mGAAgG;AAChG,2FAAmE;AACnE,4DAAyD;AACzD,mEAA2C;AAC3C,qEAA6C;AAE7C,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAClC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IAEjD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAE1D,OAAO,CACH,uCAAK,SAAS,EAAC,WAAW;QACtB,8BAAC,yBAAe,OAAG;QACnB,8BAAC,gCAAmB;YAChB,8BAAC,kCAAqB;gBACjB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC;oBACI,8BAAC,uBAAI,IAAC,EAAE,EAAE,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;wBACjD,8BAAC,oBAAU,OAAG,CACX;oBACP,uCAAK,SAAS,EAAC,wCAAwC;wBACnD,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAY,CAC7D;oBACN,8BAAC,mBAAS,IAAC,YAAY,SAAG,CAC3B,CACN;gBACD,8BAAC,qCAAiB,OAAG;gBAErB,uCAAK,SAAS,EAAC,YAAY;oBACvB,8BAAC,iCAAe,OAAG,CACjB,CACc;YACvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;gBACnB,uCAAK,SAAS,EAAC,YAAY;oBACvB,8BAAC,8BAAoB,OAAG,CACtB;gBACN,uCAAK,SAAS,EAAC,mBAAmB;oBAC9B,8BAAC,kCAAwB,OAAG,CAC1B,CACe,CAC5B,CACiB,CACpB,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC","sourcesContent":["import { BookingEngineContext, FullPageEngineContext } from '@frontend/contexts';\nimport React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport BackButton from '@/components/generic/BackButton';\nimport Headline from '@/components/generic/Headline';\nimport { StepLayoutContainer, StepLayoutLeftContent, StepLayoutRightContent } from '@/components/generic/Layout/StepLayout';\nimport LineBreak from '@/components/generic/LineBreak';\nimport StepRoomHotelDetails from '@/components/steps/room/StepRoomHotelDetails';\nimport StepRoomSummaryAndButton from '@/components/steps/room/StepRoomSummaryAndButton';\nimport { TabGroupedRooms } from '@/components/steps/room/TabGroupedRooms/TabGroupedRooms';\nimport { UserSearchSummary } from '@/components/steps/room/UserSearchSummary/UserSearchSummary';\nimport BEMobileSummary from '@/components/summary/BEMobileSummary';\nimport { Translation } from '@/translations/Translation';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nconst StepGroupedRoomComponent = () => {\n const context = useContext(BookingEngineContext);\n\n const { t } = useTranslation();\n\n const { currentStep } = useContext(FullPageEngineContext);\n\n return (\n <div className=\"container\">\n <BEMobileSummary />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <>\n <Link to={StepManager.getPreviousStepUrl(currentStep)}>\n <BackButton />\n </Link>\n <div className=\"u-marg-top--light u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Room.ChooseRoom)}</Headline>\n </div>\n <LineBreak smallMargins />\n </>\n )}\n <UserSearchSummary />\n\n <div className=\"u-marg-top\">\n <TabGroupedRooms />\n </div>\n </StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <div className=\"u-marg-top\">\n <StepRoomHotelDetails />\n </div>\n <div className=\"u-marg-top--heavy\">\n <StepRoomSummaryAndButton />\n </div>\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n </div>\n );\n};\n\nexport default StepGroupedRoomComponent;\n"]}
1
+ {"version":3,"file":"StepGroupedRoomComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepGroupedRoom/StepGroupedRoomComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiF;AACjF,+CAA0C;AAC1C,iDAA+C;AAC/C,uDAAqD;AAErD,iFAAyD;AACzD,6EAAqD;AACrD,uEAA4H;AAC5H,+EAAuD;AACvD,wGAAgF;AAChF,gHAAwF;AACxF,6FAA0F;AAC1F,mGAAgG;AAChG,2FAAmE;AACnE,4DAAyD;AACzD,mEAA2C;AAC3C,qEAA6C;AAE7C,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAClC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAE/B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAE1D,OAAO,CACH,uCAAK,SAAS,EAAC,WAAW;QACtB,8BAAC,yBAAe,OAAG;QACnB,8BAAC,gCAAmB;YAChB,8BAAC,kCAAqB;gBACjB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC;oBACI,8BAAC,uBAAI,IACD,EAAE,EAAE;4BACA,QAAQ,EAAE,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;4BACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;yBAC1B;wBAED,8BAAC,oBAAU,OAAG,CACX;oBACP,uCAAK,SAAS,EAAC,wCAAwC;wBACnD,8BAAC,kBAAQ,IAAC,IAAI,UAAE,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAY,CAC7D;oBACN,8BAAC,mBAAS,IAAC,YAAY,SAAG,CAC3B,CACN;gBACD,8BAAC,qCAAiB,OAAG;gBAErB,uCAAK,SAAS,EAAC,YAAY;oBACvB,8BAAC,iCAAe,OAAG,CACjB,CACc;YACvB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,8BAAC,mCAAsB;gBACnB,uCAAK,SAAS,EAAC,YAAY;oBACvB,8BAAC,8BAAoB,OAAG,CACtB;gBACN,uCAAK,SAAS,EAAC,mBAAmB;oBAC9B,8BAAC,kCAAwB,OAAG,CAC1B,CACe,CAC5B,CACiB,CACpB,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC","sourcesContent":["import { BookingEngineContext, FullPageEngineContext } from '@frontend/contexts';\nimport React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link, useLocation } from 'react-router-dom';\n\nimport BackButton from '@/components/generic/BackButton';\nimport Headline from '@/components/generic/Headline';\nimport { StepLayoutContainer, StepLayoutLeftContent, StepLayoutRightContent } from '@/components/generic/Layout/StepLayout';\nimport LineBreak from '@/components/generic/LineBreak';\nimport StepRoomHotelDetails from '@/components/steps/room/StepRoomHotelDetails';\nimport StepRoomSummaryAndButton from '@/components/steps/room/StepRoomSummaryAndButton';\nimport { TabGroupedRooms } from '@/components/steps/room/TabGroupedRooms/TabGroupedRooms';\nimport { UserSearchSummary } from '@/components/steps/room/UserSearchSummary/UserSearchSummary';\nimport BEMobileSummary from '@/components/summary/BEMobileSummary';\nimport { Translation } from '@/translations/Translation';\nimport ScreenSize from '@/util/ScreenSize';\nimport StepManager from '@/util/StepManager';\n\nconst StepGroupedRoomComponent = () => {\n const context = useContext(BookingEngineContext);\n const location = useLocation();\n\n const { t } = useTranslation();\n\n const { currentStep } = useContext(FullPageEngineContext);\n\n return (\n <div className=\"container\">\n <BEMobileSummary />\n <StepLayoutContainer>\n <StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <>\n <Link\n to={{\n pathname: StepManager.getPreviousStepUrl(currentStep),\n search: location.search,\n }}\n >\n <BackButton />\n </Link>\n <div className=\"u-marg-top--light u-marg-bottom--heavy\">\n <Headline bold>{t(Translation.Step.Room.ChooseRoom)}</Headline>\n </div>\n <LineBreak smallMargins />\n </>\n )}\n <UserSearchSummary />\n\n <div className=\"u-marg-top\">\n <TabGroupedRooms />\n </div>\n </StepLayoutLeftContent>\n {context.screenSize > ScreenSize.Medium && (\n <StepLayoutRightContent>\n <div className=\"u-marg-top\">\n <StepRoomHotelDetails />\n </div>\n <div className=\"u-marg-top--heavy\">\n <StepRoomSummaryAndButton />\n </div>\n </StepLayoutRightContent>\n )}\n </StepLayoutContainer>\n </div>\n );\n};\n\nexport default StepGroupedRoomComponent;\n"]}
@@ -43,14 +43,14 @@ function StepGuide(props) {
43
43
  if (colorProfile) {
44
44
  RoomstayThemeEngine_1.default.changeTheme(colorProfile);
45
45
  }
46
- }, [props.step.getColorProfile(ccx, hotel)]);
46
+ }, [props.step.getColorProfile(ccx, hotel), props.step]);
47
47
  return (0, react_1.useMemo)(() => {
48
48
  const validator = props.step.getValidator();
49
49
  if (validator === null || validator === void 0 ? void 0 : validator.isValid(basketContext)) {
50
50
  return react_1.default.createElement(react_1.default.Fragment, null, props.children);
51
51
  }
52
52
  else {
53
- return react_1.default.createElement(react_router_dom_1.Redirect, { to: StepManager_1.default.getPreviousStepUrl(props.step) });
53
+ return react_1.default.createElement(react_router_dom_1.Navigate, { to: StepManager_1.default.getPreviousStepUrl(props.step), replace: true });
54
54
  }
55
55
  }, [basketContext]);
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StepGuide.js","sourceRoot":"/","sources":["src/pages/steps/StepGuide.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA0F;AAC1F,2CAAkD;AAClD,+CAA8D;AAC9D,uDAA4C;AAG5C,0FAAkE;AAClE,qEAA6C;AAO7C,SAAwB,SAAS,CAAC,KAAqB;IACnD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5D,IAAI,YAAY,EAAE;YACd,6BAAmB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACjD;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7C,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAChB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAE5C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,aAAa,CAAC,EAAE;YACnC,OAAO,8DAAG,KAAK,CAAC,QAAQ,CAAI,CAAC;SAChC;aAAM;YACH,OAAO,8BAAC,2BAAQ,IAAC,EAAE,EAAE,qBAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAI,CAAC;SACvE;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACxB,CAAC;AA1BD,4BA0BC","sourcesContent":["import { BasketContext, CompanyContext, FullPageEngineContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport React, { useContext, useEffect, useMemo } from 'react';\nimport { Redirect } from 'react-router-dom';\n\nimport Step from '@/pages/steps/Step';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport StepManager from '@/util/StepManager';\n\nexport interface StepGuideProps {\n step: Step;\n children: React.ReactNode;\n}\n\nexport default function StepGuide(props: StepGuideProps) {\n const { setCurrentStep } = useContext(FullPageEngineContext);\n const basketContext = useContext(BasketContext);\n\n const ccx = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n useEffect(() => {\n setCurrentStep(props.step);\n\n const colorProfile = props.step.getColorProfile(ccx, hotel);\n\n if (colorProfile) {\n RoomstayThemeEngine.changeTheme(colorProfile);\n }\n }, [props.step.getColorProfile(ccx, hotel)]);\n\n return useMemo(() => {\n const validator = props.step.getValidator();\n\n if (validator?.isValid(basketContext)) {\n return <>{props.children}</>;\n } else {\n return <Redirect to={StepManager.getPreviousStepUrl(props.step)} />;\n }\n }, [basketContext]);\n}\n"]}
1
+ {"version":3,"file":"StepGuide.js","sourceRoot":"/","sources":["src/pages/steps/StepGuide.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA0F;AAC1F,2CAAkD;AAClD,+CAA8D;AAC9D,uDAA4C;AAG5C,0FAAkE;AAClE,qEAA6C;AAO7C,SAAwB,SAAS,CAAC,KAAqB;IACnD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,kBAAU,EAAC,gCAAqB,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,wBAAa,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAe,GAAE,CAAC;IAEpC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5D,IAAI,YAAY,EAAE;YACd,6BAAmB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACjD;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAChB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAE5C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,aAAa,CAAC,EAAE;YACnC,OAAO,8DAAG,KAAK,CAAC,QAAQ,CAAI,CAAC;SAChC;aAAM;YACH,OAAO,8BAAC,2BAAQ,IAAC,EAAE,EAAE,qBAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,SAAG,CAAC;SAC/E;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACxB,CAAC;AA1BD,4BA0BC","sourcesContent":["import { BasketContext, CompanyContext, FullPageEngineContext } from '@frontend/contexts';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport React, { useContext, useEffect, useMemo } from 'react';\nimport { Navigate } from 'react-router-dom';\n\nimport Step from '@/pages/steps/Step';\nimport RoomstayThemeEngine from '@/providers/RoomstayThemeEngine';\nimport StepManager from '@/util/StepManager';\n\nexport interface StepGuideProps {\n step: Step;\n children: React.ReactNode;\n}\n\nexport default function StepGuide(props: StepGuideProps) {\n const { setCurrentStep } = useContext(FullPageEngineContext);\n const basketContext = useContext(BasketContext);\n\n const ccx = useContext(CompanyContext);\n const { hotel } = useCurrentHotel();\n\n useEffect(() => {\n setCurrentStep(props.step);\n\n const colorProfile = props.step.getColorProfile(ccx, hotel);\n\n if (colorProfile) {\n RoomstayThemeEngine.changeTheme(colorProfile);\n }\n }, [props.step.getColorProfile(ccx, hotel), props.step]);\n\n return useMemo(() => {\n const validator = props.step.getValidator();\n\n if (validator?.isValid(basketContext)) {\n return <>{props.children}</>;\n } else {\n return <Navigate to={StepManager.getPreviousStepUrl(props.step)} replace />;\n }\n }, [basketContext]);\n}\n"]}
@@ -50,6 +50,7 @@ const ScreenSize_1 = __importDefault(require("../../../util/ScreenSize"));
50
50
  const StepManager_1 = __importDefault(require("../../../util/StepManager"));
51
51
  const StepRoomComponent = () => {
52
52
  const context = (0, react_1.useContext)(contexts_1.BookingEngineContext);
53
+ const location = (0, react_router_dom_1.useLocation)();
53
54
  const { t } = (0, react_i18next_1.useTranslation)();
54
55
  const filterButton = (0, react_1.useRef)(null);
55
56
  const [filtersOpen, setFiltersOpen] = (0, react_1.useState)(false);
@@ -66,7 +67,10 @@ const StepRoomComponent = () => {
66
67
  react_1.default.createElement(StepLayout_1.StepLayoutContainer, null,
67
68
  react_1.default.createElement(StepLayout_1.StepLayoutLeftContent, null,
68
69
  context.screenSize > ScreenSize_1.default.Medium && (react_1.default.createElement(react_1.default.Fragment, null,
69
- react_1.default.createElement(react_router_dom_1.Link, { to: StepManager_1.default.getPreviousStepUrl(currentStep) },
70
+ react_1.default.createElement(react_router_dom_1.Link, { to: {
71
+ pathname: StepManager_1.default.getPreviousStepUrl(currentStep),
72
+ search: location.search,
73
+ } },
70
74
  react_1.default.createElement(BackButton_1.default, null)),
71
75
  react_1.default.createElement("div", { className: "u-marg-top--light u-marg-bottom--heavy" },
72
76
  react_1.default.createElement(Headline_1.default, { bold: true }, t(Translation_1.Translation.Step.Room.ChooseRoom))))),