@roomstay/frontend 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{661.bundle.js → 171.bundle.js} +1 -1
- package/dist/201.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/components/steps/room/RoomList.js +35 -0
- package/dist/src/components/steps/room/RoomList.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +4 -2
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js +13 -0
- package/dist/src/contexts/CompanyContext/CompanyContextWrapper.js.map +1 -1
- package/dist/src/events/RoomstayEventManager.d.ts +1 -1
- package/dist/src/events/RoomstayEventManager.js.map +1 -1
- package/dist/src/events/actions/GuestSearchEvent.d.ts +7 -0
- package/dist/src/events/actions/GuestSearchEvent.js +15 -0
- package/dist/src/events/actions/GuestSearchEvent.js.map +1 -0
- package/dist/src/events/actions/InitialHotelDetailsEvent.d.ts +7 -0
- package/dist/src/events/actions/InitialHotelDetailsEvent.js +15 -0
- package/dist/src/events/actions/InitialHotelDetailsEvent.js.map +1 -0
- package/dist/src/events/actions/RoomListSearchEvent.d.ts +9 -0
- package/dist/src/events/actions/RoomListSearchEvent.js +16 -0
- package/dist/src/events/actions/RoomListSearchEvent.js.map +1 -0
- package/dist/src/events/index.d.ts +8 -0
- package/dist/src/events/index.js +8 -0
- package/dist/src/events/index.js.map +1 -1
- package/dist/src/events/views/FindReservationResultsViewEvent.d.ts +7 -0
- package/dist/src/events/views/FindReservationResultsViewEvent.js +15 -0
- package/dist/src/events/views/FindReservationResultsViewEvent.js.map +1 -0
- package/dist/src/events/views/FindReservationViewEvent.d.ts +5 -0
- package/dist/src/events/views/FindReservationViewEvent.js +14 -0
- package/dist/src/events/views/FindReservationViewEvent.js.map +1 -0
- package/dist/src/events/views/StepAddonViewEvent.d.ts +7 -0
- package/dist/src/events/views/StepAddonViewEvent.js +15 -0
- package/dist/src/events/views/StepAddonViewEvent.js.map +1 -0
- package/dist/src/events/views/StepDateViewEvent.d.ts +5 -0
- package/dist/src/events/views/StepDateViewEvent.js +14 -0
- package/dist/src/events/views/StepDateViewEvent.js.map +1 -0
- package/dist/src/events/views/StepHotelInfoViewEvent.d.ts +5 -0
- package/dist/src/events/views/StepHotelInfoViewEvent.js +14 -0
- package/dist/src/events/views/StepHotelInfoViewEvent.js.map +1 -0
- package/dist/src/events/views/StepHotelViewEvent.d.ts +5 -0
- package/dist/src/events/views/StepHotelViewEvent.js +14 -0
- package/dist/src/events/views/StepHotelViewEvent.js.map +1 -0
- package/dist/src/events/views/StepThanksViewEvent.d.ts +7 -0
- package/dist/src/events/views/StepThanksViewEvent.js +15 -0
- package/dist/src/events/views/StepThanksViewEvent.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +9 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/Api/IEventReservation.d.ts +7 -0
- package/dist/src/models/Api/IEventReservation.js +3 -0
- package/dist/src/models/Api/IEventReservation.js.map +1 -0
- package/dist/src/models/Client/Hotel/Hotel.d.ts +11 -0
- package/dist/src/models/Client/Hotel/Hotel.js.map +1 -1
- package/dist/src/models/RoomListSearch.d.ts +18 -0
- package/dist/src/models/RoomListSearch.js +3 -0
- package/dist/src/models/RoomListSearch.js.map +1 -0
- package/dist/src/models/SearchParameters.d.ts +8 -0
- package/dist/src/models/SearchParameters.js +3 -0
- package/dist/src/models/SearchParameters.js.map +1 -0
- package/dist/src/pages/findReservation/FindReservation.js +4 -0
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservationResults.js +27 -0
- package/dist/src/pages/findReservation/FindReservationResults.js.map +1 -1
- package/dist/src/pages/hotel/HotelInfo.js +6 -0
- package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js +8 -0
- package/dist/src/pages/steps/StepAddon/StepAddonComponent.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +6 -0
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js +9 -4
- package/dist/src/pages/steps/StepHotel/StepHotelComponent.js.map +1 -1
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js +19 -0
- package/dist/src/pages/steps/StepThanks/StepThanksComponent.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +1 -1
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/test.bundle.js +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotelInfo.js","sourceRoot":"/","sources":["src/pages/hotel/HotelInfo.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Color } from '../../util/Color';\nimport Icon, { IconType } from '../../components/generic/Icon';\nimport Text, { TextType } from '../../components/generic/Text';\nimport Headline from '../../components/generic/Headline';\nimport HotelLocationMap from '../../components/generic/map/HotelLocationMap';\nimport { useState, useEffect } from 'react';\nimport FsLightbox from 'fslightbox-react';\nimport TransportDistanceFromHotelBlock from '../../components/summary/TransportDistanceFromHotelBlock';\nimport { useCurrentHotel } from '@frontend/hooks';\nimport BEButton from '../../components/generic/BEButton';\nimport { useHistory } from 'react-router';\nimport StepManager from '../../util/StepManager';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '../../translations/Translation';\nimport ImageProvider, { ImageSize } from '../../providers/ImageProvider';\nimport RoomstayThemeEngine from '../../providers/RoomstayThemeEngine';\n\nexport default function HotelInfo() {\n const { hotel } = useCurrentHotel();\n const history = useHistory();\n const { t } = useTranslation();\n\n const imageUrl = hotel?.heroImage;\n\n const { line1, line2, postalCode, city, country } = hotel?.address ?? {};\n\n const [lightboxController, setLightboxController] = useState({ toggler: false, slide: 1 });\n const [images, setImages] = useState<string[]>([]);\n\n const openSlider = (slide: number) => {\n setLightboxController((controller) => ({ toggler: !controller.toggler, slide: slide + 1 }));\n };\n const openSliderOnClick = () => {\n openSlider(4);\n };\n\n useEffect(() => {\n const newImages: string[] = [];\n\n if (hotel?.images?.length) {\n newImages.push(...hotel?.images);\n } else if (hotel?.rooms) {\n for (const room of Object.values(hotel?.rooms)) {\n room.images?.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel?.rooms]);\n\n // TODO: Add a generic handler for this to avoid setting it in every new page\n useEffect(() => {\n if (hotel) {\n RoomstayThemeEngine.changeTheme(hotel.colors);\n }\n }, [hotel?.colors]);\n\n const onBookNowClick = () => {\n history.push(StepManager.getFirstStep().getStepUrl());\n };\n\n const getImage = (index: number) => {\n const openSliderOnClickHandler = () => {\n openSlider(index);\n };\n\n const resizedUrl = ImageProvider.resizeImage(images[index], ImageSize.Small);\n\n return (\n <div\n style={{ backgroundImage: `url('${resizedUrl}')`, paddingTop: '75%' }}\n className=\"c-images u-block u-w-100 u-marg-bottom u-marg-bottom--heavy\"\n onClick={openSliderOnClickHandler}\n />\n );\n };\n\n return (\n <>\n <div style={{ backgroundImage: `url('${imageUrl}')` }} className=\"c-masthead has-tint\">\n <div className=\"container\">\n <div className=\"c-masthead__body u-fill-white u-pad--heavy u-shadow-accent\">\n <h1 className=\"c-masthead__header\">{hotel?.name}</h1>\n <h2 className=\"c-masthead__sub-header\">{hotel?.address?.country}</h2>\n </div>\n </div>\n </div>\n <div className=\"u-fill-snow u-pad--heavy-med u-pad-top-bottom--heavy@m-\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-md-6 u-flex align-items-center\">\n <ul>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Map} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n {line1}\n <br />\n {line2} {postalCode}, {country}\n </span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Phone} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">{hotel?.phone}</span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Hotel2} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n <a href={hotel?.hotelUrl} style={{ color: 'var(--color-accent-1)' }}>\n {hotel?.name}\n </a>\n </span>\n </li>\n <li className=\"u-flex\">\n <BEButton icon={IconType.ArrowRight} primary={true} filled={true} iconPosition={'right'} onClick={onBookNowClick}>\n {t(Translation.HotelInfo.BookNowButton)}\n </BEButton>\n </li>\n </ul>\n </div>\n <div className=\"col-md-6\">\n <div className=\"c-overlap\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy u-marg-top u-marg-top--heavy\" style={{ height: '240px' }}>\n <HotelLocationMap />\n </div>\n <div className=\"u-flex u-flex-column justify-content-center\">\n <TransportDistanceFromHotelBlock hotel={hotel} />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"u-pad u-pad--heavy-plus u-pad-top-bottom--heavy@m-\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline bold={true}>About</Headline>\n </div>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.description?.replace('\\r\\n', '<br/><br/>') }} />\n </Text>\n {!!hotel?.locationDescription && (\n <>\n <div className=\"u-marg-top\">\n <Text type={TextType.Small}>\n <strong>Location</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.locationDescription?.replace('\\r\\n', '<br/><br/>') }} />\n </Text>\n </>\n )}\n </div>\n {!!hotel?.perks?.length && (\n <>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <strong>And you get all these for free:</strong>\n </Text>\n </div>\n <div className=\"row\">\n {hotel?.perks.map((perk) => {\n return (\n <div className=\"col-6 col-md-4\" key={perk.name}>\n <div className=\"u-flex u-marg-bottom\">\n <div className=\"room-perk-icon\">{perk.iconElement ? perk.iconElement : <Icon icon={perk.icon} />}</div>\n <span className=\"u-flex__item\">\n <Text type={TextType.Small}>{perk.name}</Text>\n </span>\n </div>\n </div>\n );\n })}\n </div>\n </>\n )}\n </div>\n {!!hotel?.hotelServices?.length && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold={true}>Hotel Amenities</Headline>\n </div>\n <div className=\"row\">\n {hotel?.hotelServices.map((hotelService, index) => {\n return (\n <div key={index} className=\"col-md-6\">\n <div className=\"u-flex u-marg-bottom\">\n <Icon\n icon={IconType.Check}\n color={Color.White}\n backgroundColor={Color.Accent}\n borderRadius={'round'}\n noPadding={true}\n size=\"16px\"\n />\n <span className=\"u-flex__item u-marg-left--light\">\n <Text type={TextType.Small}>{hotelService.name}</Text>\n </span>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n {!!hotel?.policies && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold={true}>Policies</Headline>\n </div>\n <Text type={TextType.Small}>\n <a href={hotel?.policies} target=\"_blank\" style={{ color: hotel?.colors.accent }}>\n {hotel?.policies}\n </a>\n </Text>\n </div>\n )}\n </div>\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline bold={true}>Gallery</Headline>\n </div>\n {images.length >= 1 && getImage(0)}\n <div className=\"row\">\n {[1, 2, 3].map((index) => {\n if (images.length > index) {\n return (\n <div key={index} className=\"col-6\">\n {getImage(index)}\n </div>\n );\n }\n })}\n {images.length > 5 && (\n <div className=\"col-6\">\n <div className=\"c-images c-images--more\" onClick={openSliderOnClick}>\n {getImage(4)}\n <span>+ {images.length - 5}</span>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n {!!images?.length && <FsLightbox toggler={lightboxController.toggler} slide={lightboxController.slide} sources={images} type=\"image\" />}\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HotelInfo.js","sourceRoot":"/","sources":["src/pages/hotel/HotelInfo.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Color } from '../../util/Color';\nimport Icon, { IconType } from '../../components/generic/Icon';\nimport Text, { TextType } from '../../components/generic/Text';\nimport Headline from '../../components/generic/Headline';\nimport HotelLocationMap from '../../components/generic/map/HotelLocationMap';\nimport { useState, useEffect } from 'react';\nimport FsLightbox from 'fslightbox-react';\nimport TransportDistanceFromHotelBlock from '../../components/summary/TransportDistanceFromHotelBlock';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport BEButton from '../../components/generic/BEButton';\nimport { useHistory } from 'react-router';\nimport StepManager from '../../util/StepManager';\nimport { useTranslation } from 'react-i18next';\nimport { Translation } from '../../translations/Translation';\nimport ImageProvider, { ImageSize } from '../../providers/ImageProvider';\nimport RoomstayThemeEngine from '../../providers/RoomstayThemeEngine';\nimport { StepHotelInfoViewEvent } from '../../events';\n\nexport default function HotelInfo() {\n const { hotel } = useCurrentHotel();\n const history = useHistory();\n const { t } = useTranslation();\n\n const imageUrl = hotel?.heroImage;\n\n const { line1, line2, postalCode, city, country } = hotel?.address ?? {};\n\n const [lightboxController, setLightboxController] = useState({ toggler: false, slide: 1 });\n const [images, setImages] = useState<string[]>([]);\n\n const openSlider = (slide: number) => {\n setLightboxController((controller) => ({ toggler: !controller.toggler, slide: slide + 1 }));\n };\n const openSliderOnClick = () => {\n openSlider(4);\n };\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepHotelInfoViewEvent();\n raise(event);\n }, []);\n\n useEffect(() => {\n const newImages: string[] = [];\n\n if (hotel?.images?.length) {\n newImages.push(...hotel?.images);\n } else if (hotel?.rooms) {\n for (const room of Object.values(hotel?.rooms)) {\n room.images?.forEach((image) => {\n newImages.push(image);\n });\n }\n }\n\n setImages(newImages);\n }, [hotel?.rooms]);\n\n // TODO: Add a generic handler for this to avoid setting it in every new page\n useEffect(() => {\n if (hotel) {\n RoomstayThemeEngine.changeTheme(hotel.colors);\n }\n }, [hotel?.colors]);\n\n const onBookNowClick = () => {\n history.push(StepManager.getFirstStep().getStepUrl());\n };\n\n const getImage = (index: number) => {\n const openSliderOnClickHandler = () => {\n openSlider(index);\n };\n\n const resizedUrl = ImageProvider.resizeImage(images[index], ImageSize.Small);\n\n return (\n <div\n style={{ backgroundImage: `url('${resizedUrl}')`, paddingTop: '75%' }}\n className=\"c-images u-block u-w-100 u-marg-bottom u-marg-bottom--heavy\"\n onClick={openSliderOnClickHandler}\n />\n );\n };\n\n return (\n <>\n <div style={{ backgroundImage: `url('${imageUrl}')` }} className=\"c-masthead has-tint\">\n <div className=\"container\">\n <div className=\"c-masthead__body u-fill-white u-pad--heavy u-shadow-accent\">\n <h1 className=\"c-masthead__header\">{hotel?.name}</h1>\n <h2 className=\"c-masthead__sub-header\">{hotel?.address?.country}</h2>\n </div>\n </div>\n </div>\n <div className=\"u-fill-snow u-pad--heavy-med u-pad-top-bottom--heavy@m-\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-md-6 u-flex align-items-center\">\n <ul>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Map} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n {line1}\n <br />\n {line2} {postalCode}, {country}\n </span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Phone} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">{hotel?.phone}</span>\n </li>\n <li className=\"u-flex u-marg-bottom--heavy\">\n <Icon icon={IconType.Hotel2} size=\"1.3em\" color={Color.Accent} />\n <span className=\"u-flex__item u-marg-left\">\n <a href={hotel?.hotelUrl} style={{ color: 'var(--color-accent-1)' }}>\n {hotel?.name}\n </a>\n </span>\n </li>\n <li className=\"u-flex\">\n <BEButton icon={IconType.ArrowRight} primary={true} filled={true} iconPosition={'right'} onClick={onBookNowClick}>\n {t(Translation.HotelInfo.BookNowButton)}\n </BEButton>\n </li>\n </ul>\n </div>\n <div className=\"col-md-6\">\n <div className=\"c-overlap\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy u-marg-top u-marg-top--heavy\" style={{ height: '240px' }}>\n <HotelLocationMap />\n </div>\n <div className=\"u-flex u-flex-column justify-content-center\">\n <TransportDistanceFromHotelBlock hotel={hotel} />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"u-pad u-pad--heavy-plus u-pad-top-bottom--heavy@m-\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline bold={true}>About</Headline>\n </div>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.description?.replace('\\r\\n', '<br/><br/>') }} />\n </Text>\n {!!hotel?.locationDescription && (\n <>\n <div className=\"u-marg-top\">\n <Text type={TextType.Small}>\n <strong>Location</strong>\n </Text>\n </div>\n <Text type={TextType.Small}>\n <span dangerouslySetInnerHTML={{ __html: hotel?.locationDescription?.replace('\\r\\n', '<br/><br/>') }} />\n </Text>\n </>\n )}\n </div>\n {!!hotel?.perks?.length && (\n <>\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Text type={TextType.Small}>\n <strong>And you get all these for free:</strong>\n </Text>\n </div>\n <div className=\"row\">\n {hotel?.perks.map((perk) => {\n return (\n <div className=\"col-6 col-md-4\" key={perk.name}>\n <div className=\"u-flex u-marg-bottom\">\n <div className=\"room-perk-icon\">{perk.iconElement ? perk.iconElement : <Icon icon={perk.icon} />}</div>\n <span className=\"u-flex__item\">\n <Text type={TextType.Small}>{perk.name}</Text>\n </span>\n </div>\n </div>\n );\n })}\n </div>\n </>\n )}\n </div>\n {!!hotel?.hotelServices?.length && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold={true}>Hotel Amenities</Headline>\n </div>\n <div className=\"row\">\n {hotel?.hotelServices.map((hotelService, index) => {\n return (\n <div key={index} className=\"col-md-6\">\n <div className=\"u-flex u-marg-bottom\">\n <Icon\n icon={IconType.Check}\n color={Color.White}\n backgroundColor={Color.Accent}\n borderRadius={'round'}\n noPadding={true}\n size=\"16px\"\n />\n <span className=\"u-flex__item u-marg-left--light\">\n <Text type={TextType.Small}>{hotelService.name}</Text>\n </span>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n )}\n {!!hotel?.policies && (\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold={true}>Policies</Headline>\n </div>\n <Text type={TextType.Small}>\n <a href={hotel?.policies} target=\"_blank\" style={{ color: hotel?.colors.accent }}>\n {hotel?.policies}\n </a>\n </Text>\n </div>\n )}\n </div>\n <div className=\"col-lg-6\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <div className=\"u-marg-bottom u-marg-bottom--heavy\">\n <Headline bold={true}>Gallery</Headline>\n </div>\n {images.length >= 1 && getImage(0)}\n <div className=\"row\">\n {[1, 2, 3].map((index) => {\n if (images.length > index) {\n return (\n <div key={index} className=\"col-6\">\n {getImage(index)}\n </div>\n );\n }\n })}\n {images.length > 5 && (\n <div className=\"col-6\">\n <div className=\"c-images c-images--more\" onClick={openSliderOnClick}>\n {getImage(4)}\n <span>+ {images.length - 5}</span>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n {!!images?.length && <FsLightbox toggler={lightboxController.toggler} slide={lightboxController.slide} sources={images} type=\"image\" />}\n </>\n );\n}\n"]}
|
|
@@ -14,10 +14,18 @@ const Translation_1 = require("../../../translations/Translation");
|
|
|
14
14
|
const ScreenSize_1 = require("../../../util/ScreenSize");
|
|
15
15
|
const StepRoomHotelDetails_1 = require("../../../components/steps/room/StepRoomHotelDetails");
|
|
16
16
|
const contexts_1 = require("@frontend/contexts");
|
|
17
|
+
const hooks_1 = require("@frontend/hooks");
|
|
18
|
+
const events_1 = require("../../../events");
|
|
17
19
|
function StepAddonComponent() {
|
|
18
20
|
const context = react_1.useContext(contexts_1.BookingEngineContext);
|
|
19
21
|
const { currentStep } = react_1.useContext(contexts_1.FullPageEngineContext);
|
|
22
|
+
const { currentBasketRows } = react_1.useContext(contexts_1.BasketContext);
|
|
20
23
|
const { t } = react_i18next_1.useTranslation();
|
|
24
|
+
const { raise } = hooks_1.useEvent();
|
|
25
|
+
react_1.useEffect(() => {
|
|
26
|
+
const event = new events_1.StepAddonViewEvent(currentBasketRows);
|
|
27
|
+
raise(event);
|
|
28
|
+
}, []);
|
|
21
29
|
return (React.createElement("div", { className: "container" },
|
|
22
30
|
React.createElement(BEMobileSummary_1.default, null),
|
|
23
31
|
React.createElement("div", { className: 'row' + (context.screenSize > ScreenSize_1.default.ExtraLarge ? ' no-gutters' : '') },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepAddonComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepAddon/StepAddonComponent.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"StepAddonComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepAddon/StepAddonComponent.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,iCAA8C;AAC9C,uDAAwC;AACxC,iDAA+C;AAC/C,uEAAgE;AAChE,mEAA4D;AAC5D,qEAA8D;AAC9D,0EAAmE;AACnE,iFAA0E;AAC1E,2DAAoD;AACpD,mEAAgE;AAChE,yDAAkD;AAClD,8FAAuF;AACvF,iDAAgG;AAChG,2CAA2C;AAC3C,4CAAqD;AAErD,SAAwB,kBAAkB;IACtC,MAAM,OAAO,GAAG,kBAAU,CAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAU,CAAC,gCAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,iBAAiB,EAAE,GAAG,kBAAU,CAAC,wBAAa,CAAC,CAAC;IAExD,MAAM,EAAE,CAAC,EAAE,GAAG,8BAAc,EAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAQ,EAAE,CAAC;IAE7B,iBAAS,CAAC,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,6BAAK,SAAS,EAAC,WAAW;QACtB,oBAAC,yBAAe,OAAG;QACnB,6BAAK,SAAS,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,6BAAK,SAAS,EAAC,UAAU,IACpB,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC;gBACI,oBAAC,uBAAI,IAAC,EAAE,EAAE,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;oBACjD,oBAAC,oBAAU,OAAG,CACX;gBACP,6BAAK,SAAS,EAAC,wCAAwC;oBACnD,oBAAC,kBAAQ,IAAC,IAAI,EAAE,IAAI,IAAG,CAAC,CAAC,yBAAW,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAY,CACtE,CACP,CACN,CACC;YACL,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,CACvC,6BAAK,SAAS,EAAC,8CAA8C;gBACzD,oBAAC,8BAAoB,OAAG,CACtB,CACT,CACC;QACL,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,MAAM,IAAI,oBAAC,mBAAS,OAAG;QACxD,oBAAC,mBAAS,OAAG,CACX,CACT,CAAC;AACN,CAAC;AAxCD,qCAwCC","sourcesContent":["import * as React from 'react';\nimport { useContext, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport BackButton from '../../../components/generic/BackButton';\nimport Headline from '../../../components/generic/Headline';\nimport LineBreak from '../../../components/generic/LineBreak';\nimport AddonList from '../../../components/steps/addons/AddonList';\nimport BEMobileSummary from '../../../components/summary/BEMobileSummary';\nimport StepManager from '../../../util/StepManager';\nimport { Translation } from '../../../translations/Translation';\nimport ScreenSize from '../../../util/ScreenSize';\nimport StepRoomHotelDetails from '../../../components/steps/room/StepRoomHotelDetails';\nimport { BasketContext, BookingEngineContext, FullPageEngineContext } from '@frontend/contexts';\nimport { useEvent } from '@frontend/hooks';\nimport { StepAddonViewEvent } from '../../../events';\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 <BEMobileSummary />\n <div className={'row' + (context.screenSize > ScreenSize.ExtraLarge ? ' no-gutters' : '')}>\n <div className=\"col-md-8\">\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={true}>{t(Translation.Navigation.Steps.Addon)}</Headline>\n </div>\n </>\n )}\n </div>\n {context.screenSize > ScreenSize.Medium && (\n <div className=\"col-xl-3 col-md-4 offset-xl-1 align-self-end\">\n <StepRoomHotelDetails />\n </div>\n )}\n </div>\n {context.screenSize > ScreenSize.Medium && <LineBreak />}\n <AddonList />\n </div>\n );\n}\n"]}
|
|
@@ -21,6 +21,7 @@ const StepOneDateRangePicker_1 = require("../../../components/steps/date/StepOne
|
|
|
21
21
|
const hooks_1 = require("@frontend/hooks");
|
|
22
22
|
const contexts_2 = require("@frontend/contexts");
|
|
23
23
|
const HotelOverridesContext_1 = require("../../../contexts/HotelOverridesContext");
|
|
24
|
+
const events_1 = require("../../../events");
|
|
24
25
|
const BEMobileSummary = react_1.lazy(() => Promise.resolve().then(() => require('../../../components/summary/BEMobileSummary')));
|
|
25
26
|
const StepDate = (props) => {
|
|
26
27
|
const context = react_1.useContext(contexts_1.BookingEngineContext);
|
|
@@ -40,6 +41,11 @@ const StepDate = (props) => {
|
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
}, [basketContext.endDate]);
|
|
44
|
+
const { raise } = hooks_1.useEvent();
|
|
45
|
+
react_1.useEffect(() => {
|
|
46
|
+
const event = new events_1.StepDateViewEvent();
|
|
47
|
+
raise(event);
|
|
48
|
+
}, []);
|
|
43
49
|
return (React.createElement("div", { className: "container" },
|
|
44
50
|
context.screenSize <= ScreenSize_1.default.Medium && React.createElement(BEMobileSummary, null),
|
|
45
51
|
context.screenSize >= ScreenSize_1.default.Large && (React.createElement(React.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepDateComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepDate/StepDateComponent.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,mEAA4D;AAC5D,2DAAoD;AAEpD,+CAA4C;AAC5C,+CAA0C;AAE1C,iDAA+C;AAE/C,mEAAgE;AAChE,yDAAkD;AAClD,4FAAqF;AACrF,sFAA+E;AAC/E,gGAAyF;AACzF,iCAAsE;AAEtE,8GAAuG;AACvG,8FAAuF;AACvF,iDAAyE;AAEzE,qEAA8D;AAC9D,8EAAuE;AACvE,kGAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"StepDateComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepDate/StepDateComponent.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,mEAA4D;AAC5D,2DAAoD;AAEpD,+CAA4C;AAC5C,+CAA0C;AAE1C,iDAA+C;AAE/C,mEAAgE;AAChE,yDAAkD;AAClD,4FAAqF;AACrF,sFAA+E;AAC/E,gGAAyF;AACzF,iCAAsE;AAEtE,8GAAuG;AACvG,8FAAuF;AACvF,iDAAyE;AAEzE,qEAA8D;AAC9D,8EAAuE;AACvE,kGAA2F;AAC3F,2CAA4D;AAC5D,iDAAoD;AACpD,mFAAgF;AAChF,4CAAoD;AAEpD,MAAM,eAAe,GAAG,YAAI,CAAC,GAAG,EAAE,sCAAQ,6CAA6C,EAAC,CAAC,CAAC;AAE1F,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,kBAAU,CAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,kBAAU,CAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAU,CAAC,6CAAqB,CAAC,CAAC;IAEzD,MAAM,EAAE,KAAK,EAAE,GAAG,uBAAe,EAAE,CAAC;IAEpC,MAAM,EAAE,CAAC,EAAE,GAAG,8BAAc,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,cAAM,CAAC,IAAI,CAAC,CAAC;IAE/B,iBAAS,CAAC,GAAG,EAAE;QACX,IAAI,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE;YAClE,IAAI,SAAS,EAAE;gBACX,UAAU,CAAC,GAAG,EAAE;;oBACZ,MAAA,SAAS,CAAC,OAAO,0CAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;gBAClG,CAAC,EAAE,EAAE,CAAC,CAAC;aACV;SACJ;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAQ,EAAE,CAAC;IAE7B,iBAAS,CAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,0BAAiB,EAAE,CAAC;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,6BAAK,SAAS,EAAC,WAAW;QACrB,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,IAAI,oBAAC,eAAe,OAAG;QAC9D,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,KAAK,IAAI,CACvC;YACI,6BAAK,SAAS,EAAC,KAAK;gBAChB,6BAAK,SAAS,EAAC,mBAAmB;oBAC9B,6BAAK,SAAS,EAAC,sBAAsB;wBACjC,oBAAC,kBAAQ,IAAC,IAAI,EAAE,IAAI,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAY,CACrE;oBACN,oBAAC,kBAAQ,IAAC,KAAK,EAAE,aAAK,CAAC,IAAI,IAAG,KAAK,CAAC,IAAI,CAAY;oBACnD,CAAC,UAAU,IAAI,CACZ,oBAAC,cAAI,IAAC,KAAK,EAAE,aAAK,CAAC,QAAQ;wBACtB,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,EAAE,CAAC;;wBAAG,GAAG,CAAC,IAAI,CAC/B,CACV,CACC;gBACN,6BAAK,SAAS,EAAC,mBAAmB;oBAC9B,6BAAK,SAAS,EAAC,6BAA6B;wBACxC,6BAAK,SAAS,EAAC,UAAU;4BACrB,6BAAK,SAAS,EAAC,sBAAsB;gCACjC,oBAAC,kBAAQ,IAAC,IAAI,EAAE,IAAI,IAAG,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAY,CACxE;4BACN,6BAAK,SAAS,EAAC,iBAAiB;gCAC5B,oBAAC,0BAAgB,OAAG;gCACpB,oBAAC,6BAAmB,OAAG,CACrB,CACJ;wBACN,6BAAK,SAAS,EAAC,UAAU;4BACrB,oBAAC,8BAAoB,IAAC,QAAQ,EAAE,KAAK,GAAI,CACvC,CACJ,CACJ,CACJ;YACN,oBAAC,mBAAS,OAAG,CACd,CACN;QAED,6BAAK,SAAS,EAAC,6EAA6E;YACxF,6BAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAC,mBAAmB;gBAC9C,oBAAC,sBAAY,OAAG,CACd;YACN,6BAAK,SAAS,EAAC,mBAAmB;gBAC9B,6BAAK,SAAS,EAAC,oEAAoE;oBAC/E,oBAAC,gBAAQ,IAAC,QAAQ,EAAC,aAAa;wBAC5B,oBAAC,gCAAsB,OAAG,CACnB,CACT;gBACL,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAC,sCAA4B,OAAG,CAAC,CAAC,CAAC,oBAAC,mBAAS,OAAG,CACxF,CACJ;QACN,6BAAK,SAAS,EAAC,4BAA4B;YACvC,oBAAC,+BAAqB,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAC/C,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,yBAAU,CAAC,QAAQ,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport Headline from '../../../components/generic/Headline';\nimport Text from '../../../components/generic/Text';\n\nimport { Color } from '../../../util/Color';\nimport { withRouter } from 'react-router';\n\nimport { useTranslation } from 'react-i18next';\n\nimport { Translation } from '../../../translations/Translation';\nimport ScreenSize from '../../../util/ScreenSize';\nimport StepOneStatusPeople from '../../../components/steps/date/StepOneStatusPeople';\nimport StepOneDateRange from '../../../components/steps/date/StepOneDateRange';\nimport StepOneNextStepButton from '../../../components/steps/date/StepOneNextStepButton';\nimport { useContext, useRef, useEffect, Suspense, lazy } from 'react';\n\nimport StepOneDateRangePickerLegend from '../../../components/steps/date/StepOneDateRangePickerLegend';\nimport StepDatePricePerRoom from '../../../components/steps/date/StepDatePricePerRoom';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\n\nimport LineBreak from '../../../components/generic/LineBreak';\nimport PeoplePicker from '../../../components/steps/date/PeoplePicker';\nimport StepOneDateRangePicker from '../../../components/steps/date/StepOneDateRangePicker';\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport { CompanyContext } from '@frontend/contexts';\nimport { HotelOverridesContext } from '../../../contexts/HotelOverridesContext';\nimport { StepDateViewEvent } from '../../../events';\n\nconst BEMobileSummary = lazy(() => import('../../../components/summary/BEMobileSummary'));\n\nconst StepDate = (props: any) => {\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const ccx = useContext(CompanyContext);\n const { hideByLine } = useContext(HotelOverridesContext);\n\n const { hotel } = useCurrentHotel();\n\n const { t } = useTranslation();\n const peopleRef = useRef(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 return (\n <div className=\"container\">\n {context.screenSize <= ScreenSize.Medium && <BEMobileSummary />}\n {context.screenSize >= ScreenSize.Large && (\n <>\n <div className=\"row\">\n <div className=\"col-md-4 col-lg-3\">\n <div className=\"u-marg-bottom--heavy\">\n <Headline bold={true}>{t(Translation.Step.Date.Reservation)}</Headline>\n </div>\n <Headline color={Color.Navy}>{hotel.name}</Headline>\n {!hideByLine && (\n <Text 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={true}>{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 history={props.history} />\n </div>\n </div>\n );\n};\n\nexport default withRouter(StepDate);\n"]}
|
|
@@ -11,11 +11,11 @@ const LineBreak_1 = require("../../../components/generic/LineBreak");
|
|
|
11
11
|
const HotelCardList_1 = require("../../../components/steps/hotel/HotelCardList");
|
|
12
12
|
const HotelSearchParameters_1 = require("../../../components/steps/hotel/HotelSearchParameters");
|
|
13
13
|
const contexts_1 = require("@frontend/contexts");
|
|
14
|
-
const contexts_2 = require("@frontend/contexts");
|
|
15
|
-
const contexts_3 = require("@frontend/contexts");
|
|
16
14
|
const Translation_1 = require("../../../translations/Translation");
|
|
17
15
|
const Color_1 = require("../../../util/Color");
|
|
18
16
|
const ScreenSize_1 = require("../../../util/ScreenSize");
|
|
17
|
+
const hooks_1 = require("@frontend/hooks");
|
|
18
|
+
const events_1 = require("../../../events");
|
|
19
19
|
var SortByOptions;
|
|
20
20
|
(function (SortByOptions) {
|
|
21
21
|
SortByOptions["Recommended"] = "R";
|
|
@@ -29,15 +29,20 @@ const StepHotelComponent = () => {
|
|
|
29
29
|
{ value: SortByOptions.LowestPrice, text: 'Lowest Price' },
|
|
30
30
|
{ value: SortByOptions.HighestPrice, text: 'Highest Price' },
|
|
31
31
|
];
|
|
32
|
-
const ccx = react_1.useContext(
|
|
32
|
+
const ccx = react_1.useContext(contexts_1.CompanyContext);
|
|
33
33
|
const context = react_1.useContext(contexts_1.BookingEngineContext);
|
|
34
34
|
const basketContext = react_1.useContext(contexts_1.BasketContext);
|
|
35
|
-
const fullPageContext = react_1.useContext(
|
|
35
|
+
const fullPageContext = react_1.useContext(contexts_1.FullPageEngineContext);
|
|
36
36
|
const [sortBy, setSortBy] = react_1.useState(sortByValues[0].value);
|
|
37
37
|
const [city, setCity] = react_1.useState((_a = fullPageContext.urlParameters.defaultCity) !== null && _a !== void 0 ? _a : 'All');
|
|
38
38
|
const [cityOptions, setCityOptions] = react_1.useState([]);
|
|
39
39
|
const [sortedHotels, setSortedHotels] = react_1.useState();
|
|
40
40
|
const basketRow = (_b = basketContext.selectedBasketRow) !== null && _b !== void 0 ? _b : basketContext.currentBasketRows[0];
|
|
41
|
+
const { raise } = hooks_1.useEvent();
|
|
42
|
+
react_1.useEffect(() => {
|
|
43
|
+
const event = new events_1.StepHotelViewEvent();
|
|
44
|
+
raise(event);
|
|
45
|
+
}, []);
|
|
41
46
|
react_1.useEffect(() => {
|
|
42
47
|
const hotelsToShow = ccx.hotels.filter((hotel) => {
|
|
43
48
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepHotelComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepHotel/StepHotelComponent.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAC/B,+BAA+B;AAC/B,iCAAwD;AACxD,iDAA+C;AAC/C,mEAA4D;AAC5D,2DAAkE;AAClE,mEAA4D;AAC5D,qEAA8D;AAC9D,iFAA0E;AAC1E,iGAA0F;AAC1F,iDAAyE;AACzE,iDAAoD;AACpD,iDAA2D;AAG3D,mEAAgE;AAChE,+CAA4C;AAC5C,yDAAkD;AAElD,IAAK,aAIJ;AAJD,WAAK,aAAa;IACd,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,mCAAkB,CAAA;AACtB,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;;IAC5B,MAAM,YAAY,GAAG;QACjB,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE;QACzD,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE;QAC1D,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE;KAC/D,CAAC;IAEF,MAAM,GAAG,GAAG,kBAAU,CAAC,yBAAc,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,kBAAU,CAAC,+BAAoB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,kBAAU,CAAC,wBAAa,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,kBAAU,CAAC,gCAAqB,CAAC,CAAC;IAE1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,gBAAQ,CAAgB,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,gBAAQ,OAAC,eAAe,CAAC,aAAa,CAAC,WAAW,mCAAI,KAAK,CAAC,CAAC;IAErF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,gBAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,gBAAQ,EAAW,CAAC;IAE5D,MAAM,SAAS,SAAG,aAAa,CAAC,iBAAiB,mCAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAExF,iBAAS,CAAC,GAAG,EAAE;QACX,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAY,EAAE,EAAE;;YACpD,IAAI,OAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,IAAI,EAAE;gBAC9B,OAAO,KAAK,CAAC;aAChB;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE;gBACvB,OAAO,KAAK,CAAC;aAChB;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,aAAa,CAAC,WAAW,EAAE;YACtC,eAAe,CAAC,YAAY,CAAC,CAAC;SACjC;aAAM;YACH,eAAe,CACX,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,CAAQ,EAAE,EAAE;;gBAC1C,QAAQ,MAAM,EAAE;oBACZ,KAAK,aAAa,CAAC,WAAW;wBAC1B,OAAO,OAAA,CAAC,CAAC,WAAW,0CAAE,KAAK,WAAG,CAAC,CAAC,WAAW,0CAAE,KAAK,CAAA,CAAC;oBACvD,KAAK,aAAa,CAAC,YAAY;wBAC3B,OAAO,OAAA,CAAC,CAAC,WAAW,0CAAE,KAAK,WAAG,CAAC,CAAC,WAAW,0CAAE,KAAK,CAAA,CAAC;iBAC1D;YACL,CAAC,CAAC,CACL,CAAC;SACL;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,iBAAS,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAgC,EAAE,CAAC;QAE/C,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,EAAE;YAChC,sCAAsC;YACtC,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACxF;QACL,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjB,iBAAS,CAAC,GAAG,EAAE;QACX,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,GAAG,CAAC,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,GAAG,CAAC,CAAC;IAEtI,MAAM,EAAE,CAAC,EAAE,GAAG,8BAAc,EAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE;QACvC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,QAAuB,EAAE,EAAE;QAC7C,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;;QACtB,OAAO,OAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC;QAC/B,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,iBAAS,CAAC,GAAG,EAAE;QACX,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QAEvC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE;YACxB,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACjD;iBAAM;gBACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC9C,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aAC/C;YAED,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;SAC5C;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,6BAAK,SAAS,EAAC,WAAW;QACtB,6BAAK,SAAS,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,oBAAU,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,6BAAK,SAAS,EAAC,UAAU,IAEjB,6BAAK,SAAS,EAAC,qBAAqB;gBAChC,6BAAK,SAAS,EAAC,yBAAyB;oBACpC,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ;wBAC7C,oCAAS,CAAC,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAU,CAC/C;oBACP;wBACI,oBAAC,kBAAQ,IAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAI,CAC9E,CACJ;gBACN,6BAAK,SAAS,EAAC,yBAAyB;oBACpC;wBACI,oBAAC,cAAI,IAAC,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAK,CAAC,QAAQ;4BAC7C,6CAAuB,CACpB;wBACP,6BAAK,SAAS,EAAC,0DAA0D;4BACrE,oBAAC,kBAAQ,IAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAI,CAC5E,CACJ,CACJ;gBACN,6BAAK,SAAS,EAAE,qDAAqD,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxI,oBAAC,kBAAQ,IAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,YAAK,WAAW,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAA,IAAI,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,gBAE7H,CACT,CACJ,CAER,CACJ;QACN,oBAAC,mBAAS,OAAG;QACZ,oBAAC,+BAAqB,OAAG;QAC1B,oBAAC,uBAAa,IAAC,SAAS,EAAE,YAAY,GAAI,CACxC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC","sourcesContent":["import * as dayjs from 'dayjs';\nimport * as React from 'react';\nimport { useEffect, useContext, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport BEButton from '../../../components/generic/BEButton';\nimport Text, { TextType } from '../../../components/generic/Text';\nimport BESelect from '../../../components/generic/BESelect';\nimport LineBreak from '../../../components/generic/LineBreak';\nimport HotelCardList from '../../../components/steps/hotel/HotelCardList';\nimport HotelSearchParameters from '../../../components/steps/hotel/HotelSearchParameters';\nimport { BasketContext, BookingEngineContext } from '@frontend/contexts';\nimport { CompanyContext } from '@frontend/contexts';\nimport { FullPageEngineContext } from '@frontend/contexts';\nimport type { Hotel } from '../../../models/Client/Hotel/Hotel';\n\nimport { Translation } from '../../../translations/Translation';\nimport { Color } from '../../../util/Color';\nimport ScreenSize from '../../../util/ScreenSize';\n\nenum SortByOptions {\n Recommended = 'R',\n LowestPrice = 'L',\n HighestPrice = 'H',\n}\n\nconst StepHotelComponent = () => {\n const sortByValues = [\n { value: SortByOptions.Recommended, text: 'Recommended' },\n { value: SortByOptions.LowestPrice, text: 'Lowest Price' },\n { value: SortByOptions.HighestPrice, text: 'Highest Price' },\n ];\n\n const ccx = useContext(CompanyContext);\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const fullPageContext = useContext(FullPageEngineContext);\n\n const [sortBy, setSortBy] = useState<SortByOptions>(sortByValues[0].value);\n const [city, setCity] = useState(fullPageContext.urlParameters.defaultCity ?? 'All');\n\n const [cityOptions, setCityOptions] = useState([]);\n\n const [sortedHotels, setSortedHotels] = useState<Hotel[]>();\n\n const basketRow = basketContext.selectedBasketRow ?? basketContext.currentBasketRows[0];\n\n useEffect(() => {\n const hotelsToShow = ccx.hotels.filter((hotel: Hotel) => {\n if (hotel.address?.city === city) {\n return hotel;\n } else if (city === 'All') {\n return hotel;\n }\n });\n\n if (sortBy === SortByOptions.Recommended) {\n setSortedHotels(hotelsToShow);\n } else {\n setSortedHotels(\n [...hotelsToShow].sort((a: Hotel, b: Hotel) => {\n switch (sortBy) {\n case SortByOptions.LowestPrice:\n return a.lowestPrice?.value - b.lowestPrice?.value;\n case SortByOptions.HighestPrice:\n return b.lowestPrice?.value - a.lowestPrice?.value;\n }\n })\n );\n }\n }, [ccx.hotels, sortBy, city]);\n\n useEffect(() => {\n const cities: { [cityName: string]: any } = {};\n\n ccx.hotels.forEach((hotel: Hotel) => {\n // We must wait till address is loaded\n if (hotel.address) {\n cities[hotel.address.city] = { value: hotel.address.city, text: hotel.address.city };\n }\n });\n\n setCityOptions([{ value: 'All', text: 'All' }, ...Object.values(cities)]);\n }, [ccx.hotels]);\n\n useEffect(() => {\n ccx.hotels.forEach((hotel) => {\n ccx.updateLowestPricePerNight(hotel, basketRow);\n });\n }, [basketRow?.getStartDate(), basketRow?.getEndDate(), basketRow?.getAdults(), basketRow?.getChildren(), basketRow?.getPromoCode()]);\n\n const { t } = useTranslation();\n\n const changeCountry = (selected: string) => {\n setCity(selected);\n };\n\n const changeFilter = (selected: SortByOptions) => {\n setSortBy(selected);\n };\n\n const clearFilters = () => {\n setCity(cityOptions[0]?.value);\n setSortBy(sortByValues[0].value);\n };\n\n useEffect(() => {\n const startDate = basketRow.getStartDate();\n const endDate = basketRow.getEndDate();\n\n if (!startDate || !endDate) {\n if (startDate) {\n basketRow.setEndDate(startDate.add(1, 'day'));\n } else {\n basketRow.setStartDate(dayjs().add(1, 'day'));\n basketRow.setEndDate(dayjs().add(2, 'day'));\n }\n\n basketContext.updateBasketRow(basketRow);\n }\n }, []);\n\n return (\n <div className=\"container\">\n <div className={'row' + (context.screenSize > ScreenSize.ExtraLarge ? ' no-gutters' : '')}>\n <div className=\"col-md-8\">\n {\n <div className=\"row align-items-end\">\n <div className=\"col-6 col-md-4 col-lg-3\">\n <Text type={TextType.Label} color={Color.DarkGrey}>\n <strong>{t(Translation.Step.Room.SortBy)}</strong>\n </Text>\n <div>\n <BESelect items={sortByValues} selectedValue={sortBy} onChange={changeFilter} />\n </div>\n </div>\n <div className=\"col-6 col-md-2 col-lg-2\">\n <div>\n <Text type={TextType.Label} color={Color.DarkGrey}>\n <strong>Cities</strong>\n </Text>\n <div className=\"filter-button d-flex align-items-center u-cursor-pointer\">\n <BESelect items={cityOptions} selectedValue={city} onChange={changeCountry} />\n </div>\n </div>\n </div>\n <div className={'col-sm-12 col-md-2 col-lg-1 u-flex u-flex-flex-end ' + (context.screenSize <= ScreenSize.Medium ? 'u-marg-top--light' : '')}>\n <BEButton rounded={true} size=\"tiny\" onClick={clearFilters} disabled={city === cityOptions[0]?.value && sortBy === sortByValues[0].value}>\n Clear all\n </BEButton>\n </div>\n </div>\n }\n </div>\n </div>\n <LineBreak />\n {<HotelSearchParameters />}\n <HotelCardList hotelList={sortedHotels} />\n </div>\n );\n};\n\nexport default StepHotelComponent;\n"]}
|
|
1
|
+
{"version":3,"file":"StepHotelComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepHotel/StepHotelComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport * as React from 'react';\nimport { useEffect, useContext, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport BEButton from '../../../components/generic/BEButton';\nimport Text, { TextType } from '../../../components/generic/Text';\nimport BESelect from '../../../components/generic/BESelect';\nimport LineBreak from '../../../components/generic/LineBreak';\nimport HotelCardList from '../../../components/steps/hotel/HotelCardList';\nimport HotelSearchParameters from '../../../components/steps/hotel/HotelSearchParameters';\nimport { BasketContext, BookingEngineContext, CompanyContext, FullPageEngineContext } from '@frontend/contexts';\nimport type { Hotel } from '../../../models/Client/Hotel/Hotel';\n\nimport { Translation } from '../../../translations/Translation';\nimport { Color } from '../../../util/Color';\nimport ScreenSize from '../../../util/ScreenSize';\nimport { useEvent } from '@frontend/hooks';\nimport { StepHotelViewEvent } from '../../../events';\n\nenum SortByOptions {\n Recommended = 'R',\n LowestPrice = 'L',\n HighestPrice = 'H',\n}\n\nconst StepHotelComponent = () => {\n const sortByValues = [\n { value: SortByOptions.Recommended, text: 'Recommended' },\n { value: SortByOptions.LowestPrice, text: 'Lowest Price' },\n { value: SortByOptions.HighestPrice, text: 'Highest Price' },\n ];\n\n const ccx = useContext(CompanyContext);\n const context = useContext(BookingEngineContext);\n const basketContext = useContext(BasketContext);\n const fullPageContext = useContext(FullPageEngineContext);\n\n const [sortBy, setSortBy] = useState<SortByOptions>(sortByValues[0].value);\n const [city, setCity] = useState(fullPageContext.urlParameters.defaultCity ?? 'All');\n\n const [cityOptions, setCityOptions] = useState([]);\n\n const [sortedHotels, setSortedHotels] = useState<Hotel[]>();\n\n const basketRow = basketContext.selectedBasketRow ?? basketContext.currentBasketRows[0];\n\n const { raise } = useEvent();\n\n useEffect(() => {\n const event = new StepHotelViewEvent();\n raise(event);\n }, []);\n\n useEffect(() => {\n const hotelsToShow = ccx.hotels.filter((hotel: Hotel) => {\n if (hotel.address?.city === city) {\n return hotel;\n } else if (city === 'All') {\n return hotel;\n }\n });\n\n if (sortBy === SortByOptions.Recommended) {\n setSortedHotels(hotelsToShow);\n } else {\n setSortedHotels(\n [...hotelsToShow].sort((a: Hotel, b: Hotel) => {\n switch (sortBy) {\n case SortByOptions.LowestPrice:\n return a.lowestPrice?.value - b.lowestPrice?.value;\n case SortByOptions.HighestPrice:\n return b.lowestPrice?.value - a.lowestPrice?.value;\n }\n })\n );\n }\n }, [ccx.hotels, sortBy, city]);\n\n useEffect(() => {\n const cities: { [cityName: string]: any } = {};\n\n ccx.hotels.forEach((hotel: Hotel) => {\n // We must wait till address is loaded\n if (hotel.address) {\n cities[hotel.address.city] = { value: hotel.address.city, text: hotel.address.city };\n }\n });\n\n setCityOptions([{ value: 'All', text: 'All' }, ...Object.values(cities)]);\n }, [ccx.hotels]);\n\n useEffect(() => {\n ccx.hotels.forEach((hotel) => {\n ccx.updateLowestPricePerNight(hotel, basketRow);\n });\n }, [basketRow?.getStartDate(), basketRow?.getEndDate(), basketRow?.getAdults(), basketRow?.getChildren(), basketRow?.getPromoCode()]);\n\n const { t } = useTranslation();\n\n const changeCountry = (selected: string) => {\n setCity(selected);\n };\n\n const changeFilter = (selected: SortByOptions) => {\n setSortBy(selected);\n };\n\n const clearFilters = () => {\n setCity(cityOptions[0]?.value);\n setSortBy(sortByValues[0].value);\n };\n\n useEffect(() => {\n const startDate = basketRow.getStartDate();\n const endDate = basketRow.getEndDate();\n\n if (!startDate || !endDate) {\n if (startDate) {\n basketRow.setEndDate(startDate.add(1, 'day'));\n } else {\n basketRow.setStartDate(dayjs().add(1, 'day'));\n basketRow.setEndDate(dayjs().add(2, 'day'));\n }\n\n basketContext.updateBasketRow(basketRow);\n }\n }, []);\n\n return (\n <div className=\"container\">\n <div className={'row' + (context.screenSize > ScreenSize.ExtraLarge ? ' no-gutters' : '')}>\n <div className=\"col-md-8\">\n {\n <div className=\"row align-items-end\">\n <div className=\"col-6 col-md-4 col-lg-3\">\n <Text type={TextType.Label} color={Color.DarkGrey}>\n <strong>{t(Translation.Step.Room.SortBy)}</strong>\n </Text>\n <div>\n <BESelect items={sortByValues} selectedValue={sortBy} onChange={changeFilter} />\n </div>\n </div>\n <div className=\"col-6 col-md-2 col-lg-2\">\n <div>\n <Text type={TextType.Label} color={Color.DarkGrey}>\n <strong>Cities</strong>\n </Text>\n <div className=\"filter-button d-flex align-items-center u-cursor-pointer\">\n <BESelect items={cityOptions} selectedValue={city} onChange={changeCountry} />\n </div>\n </div>\n </div>\n <div className={'col-sm-12 col-md-2 col-lg-1 u-flex u-flex-flex-end ' + (context.screenSize <= ScreenSize.Medium ? 'u-marg-top--light' : '')}>\n <BEButton rounded={true} size=\"tiny\" onClick={clearFilters} disabled={city === cityOptions[0]?.value && sortBy === sortByValues[0].value}>\n Clear all\n </BEButton>\n </div>\n </div>\n }\n </div>\n </div>\n <LineBreak />\n {<HotelSearchParameters />}\n <HotelCardList hotelList={sortedHotels} />\n </div>\n );\n};\n\nexport default StepHotelComponent;\n"]}
|
|
@@ -19,14 +19,33 @@ const dayjs = require("dayjs");
|
|
|
19
19
|
const hooks_1 = require("@frontend/hooks");
|
|
20
20
|
const CommonAddonSummary_1 = require("components/steps/common/CommonAddonSummary/CommonAddonSummary");
|
|
21
21
|
const TotalCalculator_1 = require("util/TotalCalculator");
|
|
22
|
+
const events_1 = require("../../../events");
|
|
22
23
|
function StepThanksComponent() {
|
|
23
24
|
var _a, _b;
|
|
24
25
|
const basketContext = react_1.useContext(contexts_1.BasketContext);
|
|
25
26
|
const { hotel } = hooks_1.useCurrentHotel();
|
|
27
|
+
const ccx = react_1.useContext(contexts_1.CompanyContext);
|
|
28
|
+
const { raise } = hooks_1.useEvent();
|
|
26
29
|
const checkoutData = basketContext.reservationData;
|
|
27
30
|
const { t } = react_i18next_1.useTranslation();
|
|
28
31
|
const total = react_1.useCallback(() => {
|
|
32
|
+
var _a;
|
|
29
33
|
if (checkoutData === null || checkoutData === void 0 ? void 0 : checkoutData.reservations) {
|
|
34
|
+
const reservations = (_a = checkoutData === null || checkoutData === void 0 ? void 0 : checkoutData.reservations) === null || _a === void 0 ? void 0 : _a.map((obj) => {
|
|
35
|
+
const nightKeys = Object.keys(obj.nights);
|
|
36
|
+
const dateFormat = 'YYYY-MM-DDTHH:mm:ss';
|
|
37
|
+
return {
|
|
38
|
+
reservationId: obj.reservationNumber,
|
|
39
|
+
checkInTime: dayjs(nightKeys[0]).format(dateFormat),
|
|
40
|
+
checkOutTime: dayjs(nightKeys[nightKeys.length - 1])
|
|
41
|
+
.add(1, 'day')
|
|
42
|
+
.format(dateFormat),
|
|
43
|
+
totalPrice: obj.total.afterTax,
|
|
44
|
+
priceCurrency: ccx.currentCurrency,
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
const event = new events_1.StepThanksViewEvent(reservations);
|
|
48
|
+
raise(event);
|
|
30
49
|
return TotalCalculator_1.calculateTotalForReservation(checkoutData);
|
|
31
50
|
}
|
|
32
51
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepThanksComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepThanks/StepThanksComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport Headline from '../../../components/generic/Headline';\nimport { useContext, useCallback } from 'react';\nimport Icon, { IconType } from '../../../components/generic/Icon';\nimport { Color } from '../../../util/Color';\nimport Text, { TextType } from '../../../components/generic/Text';\nimport BEButton from '../../../components/generic/BEButton';\nimport { Link } from 'react-router-dom';\nimport Currency from '../../../components/generic/Currency';\nimport LineBreak from '../../../components/generic/LineBreak';\nimport { TextAlign } from '../../../util/TextAlignment';\nimport { Translation } from '../../../translations/Translation';\nimport { useTranslation } from 'react-i18next';\nimport { BasketContext } from '@frontend/contexts';\nimport { ReservationAddonDTO, ReservationDTO } from '../../../models/Api/ReservationsDTO';\nimport ReservationRow from '../../findReservation/ReservationRow';\nimport * as dayjs from 'dayjs';\n\nimport { useCurrentHotel } from '@frontend/hooks';\nimport { CommonAddonSummary } from 'components/steps/common/CommonAddonSummary/CommonAddonSummary';\nimport { calculateTotalForReservation } from 'util/TotalCalculator';\n\nexport default function StepThanksComponent() {\n const basketContext = useContext(BasketContext);\n\n const { hotel } = useCurrentHotel();\n\n const checkoutData = basketContext.reservationData;\n\n const { t } = useTranslation();\n\n const total = useCallback(() => {\n if (checkoutData?.reservations) {\n return calculateTotalForReservation(checkoutData);\n }\n\n return 0;\n }, [checkoutData]);\n\n const addons: ReservationAddonDTO[] = [];\n const comments: string[] = [];\n\n return (\n <div className=\"container u-marg-top--heavy\">\n <div className=\"row justify-content-center\">\n <div className=\"col-lg-8 col-md-12 u-flex align-items-center u-flex-direction-column\">\n <div className=\"u-marg-bottom\">\n <Icon icon={IconType.Check} size={'48px'} color={Color.White} backgroundColor={Color.Accent} borderRadius={'round'} noPadding={true} />\n </div>\n <div className=\"u-marg-bottom\" style={{ maxWidth: '530px' }}>\n <Headline size={'large'} align={TextAlign.Center}>\n {t(Translation.Step.Thanks.ThankYouHeadline, { hotel: hotel.name })}\n </Headline>\n </div>\n <div className=\"u-marg-bottom--heavy\">\n <Text color={Color.DarkGrey}>\n {t(Translation.Step.Thanks.InvoiceNumber)} {checkoutData.itineraryNumber}\n </Text>\n </div>\n <div className=\"u-marg-bottom--massive\">\n <Link to=\"/\">\n <BEButton>{t(Translation.Step.Thanks.GoBackHome)}</BEButton>\n </Link>\n </div>\n <>\n <div className=\"u-marg-top w-100\">\n {checkoutData?.reservations?.map((obj: ReservationDTO) => {\n if (obj.addons) {\n const nights = Object.keys(obj.nights);\n obj.addons.forEach((addon) => addons.push({ ...addon, nights: nights.length }));\n }\n\n if (obj.comments) {\n obj.comments.map((comment: string) => {\n comments.push(comment);\n });\n }\n\n return <ReservationRow reservation={obj} key={obj.reservationNumber} />;\n })}\n </div>\n <LineBreak />\n\n <div className=\"w-100\">\n <CommonAddonSummary addons={addons} />\n {comments.length >= 1 && (\n <div className=\"u-marg-bottom--heavy\">\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) => (\n <Text key={index} type={TextType.Small}>\n {comment}\n </Text>\n ))}\n </div>\n )}\n <Text type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Misc.Total)}\n </Text>\n <Headline bold={true} 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 </div>\n </>\n </div>\n </div>\n {checkoutData?.reservations?.map((obj: ReservationDTO, index) => {\n const nightKeys = Object.keys(obj.nights);\n\n const firstNight = dayjs(nightKeys[0]);\n const lastNight = dayjs(nightKeys[nightKeys.length - 1]).add(1, 'day');\n\n return (\n <script key={index} type=\"application/ld+json\">\n {JSON.stringify({\n '@context': 'http://schema.org',\n '@type': 'LodgingReservation',\n reservationId: obj.reservationNumber,\n reservationStatus: 'http://schema.org/ReservationConfirmed',\n checkinTime: firstNight.format('YYYY-MM-DDTHH:mm:ss'),\n checkoutTime: lastNight.format('YYYY-MM-DDTHH:mm:ss'),\n totalPrice: obj.total.afterTax,\n priceCurrency: 'AUD',\n })}\n </script>\n );\n })}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StepThanksComponent.js","sourceRoot":"/","sources":["src/pages/steps/StepThanks/StepThanksComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport Headline from '../../../components/generic/Headline';\nimport { useContext, useCallback, useEffect } from 'react';\nimport Icon, { IconType } from '../../../components/generic/Icon';\nimport { Color } from '../../../util/Color';\nimport Text, { TextType } from '../../../components/generic/Text';\nimport BEButton from '../../../components/generic/BEButton';\nimport { Link } from 'react-router-dom';\nimport Currency from '../../../components/generic/Currency';\nimport LineBreak from '../../../components/generic/LineBreak';\nimport { TextAlign } from '../../../util/TextAlignment';\nimport { Translation } from '../../../translations/Translation';\nimport { useTranslation } from 'react-i18next';\nimport { BasketContext, CompanyContext } from '@frontend/contexts';\nimport { ReservationAddonDTO, ReservationDTO } from '../../../models/Api/ReservationsDTO';\nimport ReservationRow from '../../findReservation/ReservationRow';\nimport * as dayjs from 'dayjs';\n\nimport { useCurrentHotel, useEvent } from '@frontend/hooks';\nimport { CommonAddonSummary } from 'components/steps/common/CommonAddonSummary/CommonAddonSummary';\nimport { calculateTotalForReservation } from 'util/TotalCalculator';\nimport { StepThanksViewEvent } from '../../../events';\nimport { IEventReservation } from 'models/Api/IEventReservation';\n\nexport default function StepThanksComponent() {\n const basketContext = useContext(BasketContext);\n\n const { hotel } = useCurrentHotel();\n const ccx = useContext(CompanyContext);\n const { raise } = useEvent();\n\n const checkoutData = basketContext.reservationData;\n\n const { t } = useTranslation();\n\n const total = useCallback(() => {\n if (checkoutData?.reservations) {\n const reservations: IEventReservation[] = checkoutData?.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 StepThanksViewEvent(reservations);\n raise(event);\n\n return calculateTotalForReservation(checkoutData);\n }\n\n return 0;\n }, [checkoutData]);\n\n const addons: ReservationAddonDTO[] = [];\n const comments: string[] = [];\n\n return (\n <div className=\"container u-marg-top--heavy\">\n <div className=\"row justify-content-center\">\n <div className=\"col-lg-8 col-md-12 u-flex align-items-center u-flex-direction-column\">\n <div className=\"u-marg-bottom\">\n <Icon icon={IconType.Check} size={'48px'} color={Color.White} backgroundColor={Color.Accent} borderRadius={'round'} noPadding={true} />\n </div>\n <div className=\"u-marg-bottom\" style={{ maxWidth: '530px' }}>\n <Headline size={'large'} align={TextAlign.Center}>\n {t(Translation.Step.Thanks.ThankYouHeadline, { hotel: hotel.name })}\n </Headline>\n </div>\n <div className=\"u-marg-bottom--heavy\">\n <Text color={Color.DarkGrey}>\n {t(Translation.Step.Thanks.InvoiceNumber)} {checkoutData.itineraryNumber}\n </Text>\n </div>\n <div className=\"u-marg-bottom--massive\">\n <Link to=\"/\">\n <BEButton>{t(Translation.Step.Thanks.GoBackHome)}</BEButton>\n </Link>\n </div>\n <>\n <div className=\"u-marg-top w-100\">\n {checkoutData?.reservations?.map((obj: ReservationDTO) => {\n if (obj.addons) {\n const nights = Object.keys(obj.nights);\n obj.addons.forEach((addon) => addons.push({ ...addon, nights: nights.length }));\n }\n\n if (obj.comments) {\n obj.comments.map((comment: string) => {\n comments.push(comment);\n });\n }\n\n return <ReservationRow reservation={obj} key={obj.reservationNumber} />;\n })}\n </div>\n <LineBreak />\n\n <div className=\"w-100\">\n <CommonAddonSummary addons={addons} />\n {comments.length >= 1 && (\n <div className=\"u-marg-bottom--heavy\">\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) => (\n <Text key={index} type={TextType.Small}>\n {comment}\n </Text>\n ))}\n </div>\n )}\n <Text type={TextType.Small} align={TextAlign.Right}>\n {t(Translation.Misc.Total)}\n </Text>\n <Headline bold={true} 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 </div>\n </>\n </div>\n </div>\n {checkoutData?.reservations?.map((obj: ReservationDTO, index) => {\n const nightKeys = Object.keys(obj.nights);\n\n const firstNight = dayjs(nightKeys[0]);\n const lastNight = dayjs(nightKeys[nightKeys.length - 1]).add(1, 'day');\n\n return (\n <script key={index} type=\"application/ld+json\">\n {JSON.stringify({\n '@context': 'http://schema.org',\n '@type': 'LodgingReservation',\n reservationId: obj.reservationNumber,\n reservationStatus: 'http://schema.org/ReservationConfirmed',\n checkinTime: firstNight.format('YYYY-MM-DDTHH:mm:ss'),\n checkoutTime: lastNight.format('YYYY-MM-DDTHH:mm:ss'),\n totalPrice: obj.total.afterTax,\n priceCurrency: 'AUD',\n })}\n </script>\n );\n })}\n </div>\n );\n}\n"]}
|
|
@@ -124,7 +124,7 @@ const language = {
|
|
|
124
124
|
Title: 'Oh no, something went wrong :(',
|
|
125
125
|
Description: "We're working on fixing the problem, please enter your details and we will give you a call back to discuss your search.",
|
|
126
126
|
ContactUsButton: 'Contact Us',
|
|
127
|
-
ConfirmationMessage: '
|
|
127
|
+
ConfirmationMessage: "Thanks, we'll be in touch shortly",
|
|
128
128
|
Inputs: {
|
|
129
129
|
Name: 'Full Name',
|
|
130
130
|
Email: 'Email address',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-gb.js","sourceRoot":"/","sources":["src/translations/languages/en-gb.ts"],"names":[],"mappings":"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","sourcesContent":["import { Translation } from '../Translation';\n\nconst language: typeof Translation = {\n Navigation: {\n FindReservation: 'Find reservations',\n HotelInfo: 'Hotel info',\n SignIn: 'Sign In',\n SelectStep: 'Select a Step',\n Steps: {\n Date: 'Select Date',\n Hotel: 'Choose Hotel',\n Room: 'Choose Room',\n Confirmation: 'Confirmation',\n Addon: 'Add-Ons',\n Thanks: 'Thanks',\n\n StepProgress: 'Step {{step}} of 4',\n },\n Back: 'Back',\n },\n Step: {\n Date: {\n Reservation: 'Reservation',\n SelectYourDate: 'Select your date',\n Arrival: 'Arrival',\n Departure: 'Departure',\n\n Adult: 'Adult',\n Adult_plural: 'Adults',\n\n Child: 'Child',\n Child_plural: 'Children',\n\n PromoCode: 'Promo Code',\n\n Room: 'Room',\n Room_plural: 'Rooms',\n\n Legend: {\n Today: 'Today',\n SelectedDates: 'Selected Dates',\n AvailableDates: 'Available Dates',\n NoAvailability: 'No Availability',\n },\n\n SelectStartDate: 'Select Start Date',\n SelectCheckoutDate: 'Select Checkout Date',\n CheckAvailability: 'Check Availability',\n },\n Hotel: {\n ChooseHotel: 'Choose Hotel',\n HotelCard: {\n DatesUnavailable: 'Requested dates are currently unavailable, please try alternative dates',\n },\n NoHotels: {\n Title: 'No hotels available :(',\n DescriptionLine1: 'We apologize. There are no available hotels for your requested stay.',\n DescriptionLine2: 'Please check your dates and try again.',\n },\n },\n Room: {\n SelectRoom: 'Select room',\n EditingRoom: 'Editing room',\n ChooseRoom: 'Choose Room',\n\n SortBy: 'Sort by',\n Sort: {\n Recommended: 'Recommended',\n },\n\n FilterBy: 'Filter',\n Filter: {\n Budget: 'Budget',\n Rating: 'Rating',\n\n Features: 'Features',\n BedType: 'Bed Type',\n RoomType: 'Room Type',\n RoomCategory: 'Room Category',\n RateType: 'Rate Type',\n MatchingRoomsRates: 'matching rooms / rates',\n ShowFilters: 'Show Filters',\n },\n\n RoomInfo: {\n ViewRates: 'View rates now',\n CloseRates: 'Close rates',\n\n MoreDetails: 'More Details',\n\n MemberOnlyDeal: 'Member only deal',\n MemberOnlyDealsActivated: 'Member only prices activated',\n DealForMemberOnly: 'Deals for members only',\n SignUpToSee: 'Sign Up to see prices',\n\n PromoCode: {\n MemberDeal: '{{companyShort}} Member Prices Applied',\n Standard: 'Promo {{promocode}} Applied',\n },\n\n MemberOnlyRow: {\n MemberOnlyPrices: 'Member only prices',\n DealsForOnly: 'Deals for {{companyShort}} members only!',\n },\n\n RevealPrice: 'Reveal price now',\n\n IncludesTaxes: 'Includes taxes & charges',\n BookNow: 'Book Now',\n AddRoom: 'Add Room',\n\n Information: 'Information',\n RoomAmenities: 'Room Amenities',\n\n MemberRateLockedTooltip: 'Price is only available for Hotel Members. Click the button below to learn more.',\n ViewPriceBreakdown: 'View price breakdown',\n PriceBreakdown: 'Price Breakdown',\n BookThisRateNow: 'Book This Rate Now',\n Selected: 'Selected',\n Update: 'Update',\n Show: 'Show',\n MoreRates: 'more rates',\n },\n YouHaveBeenAway: \"You've been away for a while\",\n UpdateYourSearch: 'Would you like to update your search?',\n NoThanks: 'No, thanks!',\n Update: 'Update',\n Summary: {\n NoRemoveLastRate: 'Unable to remove your last property',\n RemoveThisRate: 'Remove this Rate',\n Fees: 'Fees',\n Taxes: 'Taxes',\n },\n\n NoRoomsFound: {\n MinNightStay: 'Minimum stay for this period is {{minNightStay}} nights.',\n NewSearch: 'New Search',\n NoRoomsFound: 'Rooms not found :(',\n PleaseCheckYourDates: 'Please check your dates and try again.',\n WeApologise: 'We apologize. There are no available rooms for your requested stay.',\n },\n ErrorForm: {\n APIError: \"We're very sorry, we're unable to collect your details at this time\",\n Title: 'Oh no, something went wrong :(',\n Description: \"We're working on fixing the problem, please enter your details and we will give you a call back to discuss your search.\",\n\n ContactUsButton: 'Contact Us',\n\n ConfirmationMessage: 'Hotel has been successfully notified!',\n\n Inputs: {\n Name: 'Full Name',\n Email: 'Email address',\n Telephone: 'Telephone number',\n },\n },\n\n ReadMore: 'Read more',\n CheckOutOtherOptions: 'Check out other great options!',\n Confirm: 'Confirm',\n Upgrade: 'Upgrade',\n YouWillGetThisAllForFree: 'And you get all these for free...',\n CurrentSelectedRoom: 'Current selected room',\n NextStep: 'Next Step',\n NextRoom: 'Next room',\n\n MoreDetails: 'More Details',\n ExcludingTaxes: 'Excluding taxes and fees',\n },\n Addon: {\n SelectServiceDate: \"Select the service's date\",\n Remove: 'Remove',\n AddToCart: 'Add to Cart',\n UpdateCart: 'Update Cart',\n Quantity: 'Quantity',\n NotFound: {\n Title: 'No Additional offers currently available',\n Message: 'We apologize. There are no available add ons for your stay.',\n },\n },\n Confirmation: {\n AlreadyHaveAccount: 'Already have an account?',\n\n AdditionalOfferings: 'Additional Offerings',\n Address: 'Address',\n AlmostDone: `You're almost done! Just fill in the {{required}}required info`,\n Comments: 'Comments',\n ContactInfo: 'Contact Info',\n CreateAnAccount: 'Create an Account',\n GiveUsSomeComments: 'Give us some comments here...',\n GuestDetails: 'Guest Details',\n SignInHere: 'Sign in here',\n Inputs: {\n Address: 'Address',\n CardNumber: 'Card Number',\n City: 'City',\n Country: 'Country',\n CreditOrDebitCard: 'Credit / Debit Card',\n Email: 'Email',\n Forename: 'First Name',\n Surname: 'Last Name',\n Month: 'Month',\n Phone: 'Phone',\n PostCode: 'ZIP/Post Code',\n Year: 'Year',\n Password: 'Password',\n ConfirmPassword: 'Confirm Password',\n\n NameOnCard: 'Name on Credit Card',\n SecurityCode: 'Security Code',\n CardExpiry: 'Expiry Month / Year',\n EnterSpecialRequestsHere: 'Enter special requests here',\n Required: '{{field}} is required',\n InvalidEmail: 'Invalid Email Address',\n\n IATANumber: 'IATA Number',\n IATANumberGuide: \"If you're a travel agent with an IATA number, enter it here\",\n },\n ApplySameInfoToOtherRooms: 'Apply the same information to the other rooms.',\n PaymentInformation: 'Payment Information',\n Policies: 'Policies',\n ConfirmReservation: 'Confirm Reservation',\n Limit: 'Limit',\n TimeDeal: 'Time Deal',\n WantMoreRooms: 'Want more rooms?',\n YouCanAddAndEditRooms: 'You can add and edit rooms before your checkout.',\n AddMoreRooms: 'Add more rooms',\n EmailSpecialOffers: 'Please email me special offers and updates.',\n Acknowledgement: 'Acknowledgement',\n IHaveUnderstoodPrivacyPolicy: 'I have understood and agree to the Booking Conditions and agree to',\n PrivacyPolicy: 'Privacy Policy',\n PrivacyPolicyError: 'Please confirm Privacy Policy.',\n },\n Thanks: {\n AddOnItems: 'Add-on items',\n GoBackHome: 'Go back home',\n InvoiceNumber: 'Itinerary Number',\n ThankYouHeadline: 'Thank you, we look forward to seeing you in {{hotel}}',\n IncludingTaxes: 'Including taxes & fees',\n },\n General: {\n YourCartIsEmpty: 'Your cart is empty.',\n RoomTotal: 'Room total',\n AlternateCurrencyInformation: 'Alternate currency display are for information purposes only.',\n },\n },\n MemberOnlyPopup: {\n Errors: {\n SignupFailed: {\n Title: 'Signup Failed',\n Message: 'Sorry, your signup attempt failed unexpectedly - please try again',\n },\n ReCaptcha: {\n PleaseTick: 'Please tick the verification checkbox to confirm signup',\n ValidationError: 'There was an issue verifying you. Please try again later.',\n },\n },\n Headline: 'Register for Exclusive {{companyShort}} Member only Pricing',\n Subtitle: 'Just when you thought the perks for free was enough.',\n SubmitButtonText: 'Register to see the best rates',\n AgreeToReceiveDeals: 'You agree to receive deals and offers from {{companyShort}}',\n UnsubscribeAnytime: 'You can unsubscribe at any time.',\n },\n Custom: {\n BookNowPayLaterInfoBlock: {\n BookNowPayLater: 'Book now, Pay later',\n IfYourDreamsChange: 'If your dreams change, you can cancel later',\n },\n },\n Misc: {\n From: 'From',\n Night: 'Night',\n Night_plural: 'Nights',\n Stay: 'Stay',\n PerRoom: 'Per Room',\n PerNight: 'Per Night',\n\n ClearAll: 'Clear All',\n Clear: 'Clear',\n\n ApplyChanges: 'Apply Changes',\n\n CheckIn: 'Check-in',\n CheckOut: 'Check-out',\n\n Before: 'Before',\n After: 'After',\n\n Summary: 'Summary',\n Total: 'Total',\n\n Edit: 'Edit',\n Remove: 'Remove',\n\n Optional: 'Optional',\n\n Room: 'Room',\n Rates: 'Rates',\n Cancel: 'Cancel',\n\n By: 'by',\n\n GuaranteePolicy: 'Guarantee Policy',\n CancellationPolicy: 'Cancellation Policy',\n\n RoomAddedNotification: 'Added',\n RoomUpdatedNotification: 'Updated Room',\n\n ApplyCode: 'Apply Code',\n AddAnotherRoom: 'Add another room',\n Pills: {\n BuyNowPayLater: 'Buy now pay later',\n PeopleBooked: '{{people}} people booked this room in the last {{days}} days',\n PeopleBookedShort: '{{people}} recently booked',\n },\n Alerts: {\n BestRatePerks: 'Best rate & perks',\n BestRatePerksAlert: 'Lowest prices and the Ovolo perks only when you book here on ovolohotels.com',\n YouAreEditing: \"You're editing your reservation\",\n YouAreEditingAlert: 'Please select a different room and rate below or update your stay details above',\n },\n Perks: {\n AndYouGetAll: 'And you get all these for free:',\n TheseForFree: 'these for free',\n Breakfast: 'Breakfast',\n SuperspeedWifi: 'Superspeed Wifi',\n SocialHour: 'Social Hour',\n InRoomMinibar: 'In-room Minibar',\n SelfServiceLaundry: 'Self-service Laundry',\n Hour24Gym: '24-hour Gym',\n AllDaySnacks: 'All Day Snacks',\n FreeLootBag: 'Free Loot Bag',\n AirConditioning: 'Air Conditioning',\n SmokingFree: 'Smoking Free',\n },\n },\n FindReservation: {\n FindYourReservation: 'Find your reservation',\n FindReservation: 'Find reservation',\n Confirmation: 'Confirmation or Itinerary Number',\n EmailAddress: 'Email Address',\n InvalidEmailAddress: 'Invalid Email Address',\n Submit: 'Submit',\n Question: \"Don't know your confirmation number?\",\n Answer1: 'Your confirmation number was included in an email sent at the time of booking.',\n Answer2: 'Please check your email to recover the number.',\n YourItinerary: 'Your Itinerary',\n Adults: 'Adults',\n Children: 'Children',\n Back: 'Back to check availability',\n },\n HotelInfo: {\n BookNowButton: 'Book Now',\n },\n};\n\nexport default language;\n"]}
|
|
1
|
+
{"version":3,"file":"en-gb.js","sourceRoot":"/","sources":["src/translations/languages/en-gb.ts"],"names":[],"mappings":"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","sourcesContent":["import { Translation } from '../Translation';\n\nconst language: typeof Translation = {\n Navigation: {\n FindReservation: 'Find reservations',\n HotelInfo: 'Hotel info',\n SignIn: 'Sign In',\n SelectStep: 'Select a Step',\n Steps: {\n Date: 'Select Date',\n Hotel: 'Choose Hotel',\n Room: 'Choose Room',\n Confirmation: 'Confirmation',\n Addon: 'Add-Ons',\n Thanks: 'Thanks',\n\n StepProgress: 'Step {{step}} of 4',\n },\n Back: 'Back',\n },\n Step: {\n Date: {\n Reservation: 'Reservation',\n SelectYourDate: 'Select your date',\n Arrival: 'Arrival',\n Departure: 'Departure',\n\n Adult: 'Adult',\n Adult_plural: 'Adults',\n\n Child: 'Child',\n Child_plural: 'Children',\n\n PromoCode: 'Promo Code',\n\n Room: 'Room',\n Room_plural: 'Rooms',\n\n Legend: {\n Today: 'Today',\n SelectedDates: 'Selected Dates',\n AvailableDates: 'Available Dates',\n NoAvailability: 'No Availability',\n },\n\n SelectStartDate: 'Select Start Date',\n SelectCheckoutDate: 'Select Checkout Date',\n CheckAvailability: 'Check Availability',\n },\n Hotel: {\n ChooseHotel: 'Choose Hotel',\n HotelCard: {\n DatesUnavailable: 'Requested dates are currently unavailable, please try alternative dates',\n },\n NoHotels: {\n Title: 'No hotels available :(',\n DescriptionLine1: 'We apologize. There are no available hotels for your requested stay.',\n DescriptionLine2: 'Please check your dates and try again.',\n },\n },\n Room: {\n SelectRoom: 'Select room',\n EditingRoom: 'Editing room',\n ChooseRoom: 'Choose Room',\n\n SortBy: 'Sort by',\n Sort: {\n Recommended: 'Recommended',\n },\n\n FilterBy: 'Filter',\n Filter: {\n Budget: 'Budget',\n Rating: 'Rating',\n\n Features: 'Features',\n BedType: 'Bed Type',\n RoomType: 'Room Type',\n RoomCategory: 'Room Category',\n RateType: 'Rate Type',\n MatchingRoomsRates: 'matching rooms / rates',\n ShowFilters: 'Show Filters',\n },\n\n RoomInfo: {\n ViewRates: 'View rates now',\n CloseRates: 'Close rates',\n\n MoreDetails: 'More Details',\n\n MemberOnlyDeal: 'Member only deal',\n MemberOnlyDealsActivated: 'Member only prices activated',\n DealForMemberOnly: 'Deals for members only',\n SignUpToSee: 'Sign Up to see prices',\n\n PromoCode: {\n MemberDeal: '{{companyShort}} Member Prices Applied',\n Standard: 'Promo {{promocode}} Applied',\n },\n\n MemberOnlyRow: {\n MemberOnlyPrices: 'Member only prices',\n DealsForOnly: 'Deals for {{companyShort}} members only!',\n },\n\n RevealPrice: 'Reveal price now',\n\n IncludesTaxes: 'Includes taxes & charges',\n BookNow: 'Book Now',\n AddRoom: 'Add Room',\n\n Information: 'Information',\n RoomAmenities: 'Room Amenities',\n\n MemberRateLockedTooltip: 'Price is only available for Hotel Members. Click the button below to learn more.',\n ViewPriceBreakdown: 'View price breakdown',\n PriceBreakdown: 'Price Breakdown',\n BookThisRateNow: 'Book This Rate Now',\n Selected: 'Selected',\n Update: 'Update',\n Show: 'Show',\n MoreRates: 'more rates',\n },\n YouHaveBeenAway: \"You've been away for a while\",\n UpdateYourSearch: 'Would you like to update your search?',\n NoThanks: 'No, thanks!',\n Update: 'Update',\n Summary: {\n NoRemoveLastRate: 'Unable to remove your last property',\n RemoveThisRate: 'Remove this Rate',\n Fees: 'Fees',\n Taxes: 'Taxes',\n },\n\n NoRoomsFound: {\n MinNightStay: 'Minimum stay for this period is {{minNightStay}} nights.',\n NewSearch: 'New Search',\n NoRoomsFound: 'Rooms not found :(',\n PleaseCheckYourDates: 'Please check your dates and try again.',\n WeApologise: 'We apologize. There are no available rooms for your requested stay.',\n },\n ErrorForm: {\n APIError: \"We're very sorry, we're unable to collect your details at this time\",\n Title: 'Oh no, something went wrong :(',\n Description: \"We're working on fixing the problem, please enter your details and we will give you a call back to discuss your search.\",\n\n ContactUsButton: 'Contact Us',\n\n ConfirmationMessage: \"Thanks, we'll be in touch shortly\",\n\n Inputs: {\n Name: 'Full Name',\n Email: 'Email address',\n Telephone: 'Telephone number',\n },\n },\n\n ReadMore: 'Read more',\n CheckOutOtherOptions: 'Check out other great options!',\n Confirm: 'Confirm',\n Upgrade: 'Upgrade',\n YouWillGetThisAllForFree: 'And you get all these for free...',\n CurrentSelectedRoom: 'Current selected room',\n NextStep: 'Next Step',\n NextRoom: 'Next room',\n\n MoreDetails: 'More Details',\n ExcludingTaxes: 'Excluding taxes and fees',\n },\n Addon: {\n SelectServiceDate: \"Select the service's date\",\n Remove: 'Remove',\n AddToCart: 'Add to Cart',\n UpdateCart: 'Update Cart',\n Quantity: 'Quantity',\n NotFound: {\n Title: 'No Additional offers currently available',\n Message: 'We apologize. There are no available add ons for your stay.',\n },\n },\n Confirmation: {\n AlreadyHaveAccount: 'Already have an account?',\n\n AdditionalOfferings: 'Additional Offerings',\n Address: 'Address',\n AlmostDone: `You're almost done! Just fill in the {{required}}required info`,\n Comments: 'Comments',\n ContactInfo: 'Contact Info',\n CreateAnAccount: 'Create an Account',\n GiveUsSomeComments: 'Give us some comments here...',\n GuestDetails: 'Guest Details',\n SignInHere: 'Sign in here',\n Inputs: {\n Address: 'Address',\n CardNumber: 'Card Number',\n City: 'City',\n Country: 'Country',\n CreditOrDebitCard: 'Credit / Debit Card',\n Email: 'Email',\n Forename: 'First Name',\n Surname: 'Last Name',\n Month: 'Month',\n Phone: 'Phone',\n PostCode: 'ZIP/Post Code',\n Year: 'Year',\n Password: 'Password',\n ConfirmPassword: 'Confirm Password',\n\n NameOnCard: 'Name on Credit Card',\n SecurityCode: 'Security Code',\n CardExpiry: 'Expiry Month / Year',\n EnterSpecialRequestsHere: 'Enter special requests here',\n Required: '{{field}} is required',\n InvalidEmail: 'Invalid Email Address',\n\n IATANumber: 'IATA Number',\n IATANumberGuide: \"If you're a travel agent with an IATA number, enter it here\",\n },\n ApplySameInfoToOtherRooms: 'Apply the same information to the other rooms.',\n PaymentInformation: 'Payment Information',\n Policies: 'Policies',\n ConfirmReservation: 'Confirm Reservation',\n Limit: 'Limit',\n TimeDeal: 'Time Deal',\n WantMoreRooms: 'Want more rooms?',\n YouCanAddAndEditRooms: 'You can add and edit rooms before your checkout.',\n AddMoreRooms: 'Add more rooms',\n EmailSpecialOffers: 'Please email me special offers and updates.',\n Acknowledgement: 'Acknowledgement',\n IHaveUnderstoodPrivacyPolicy: 'I have understood and agree to the Booking Conditions and agree to',\n PrivacyPolicy: 'Privacy Policy',\n PrivacyPolicyError: 'Please confirm Privacy Policy.',\n },\n Thanks: {\n AddOnItems: 'Add-on items',\n GoBackHome: 'Go back home',\n InvoiceNumber: 'Itinerary Number',\n ThankYouHeadline: 'Thank you, we look forward to seeing you in {{hotel}}',\n IncludingTaxes: 'Including taxes & fees',\n },\n General: {\n YourCartIsEmpty: 'Your cart is empty.',\n RoomTotal: 'Room total',\n AlternateCurrencyInformation: 'Alternate currency display are for information purposes only.',\n },\n },\n MemberOnlyPopup: {\n Errors: {\n SignupFailed: {\n Title: 'Signup Failed',\n Message: 'Sorry, your signup attempt failed unexpectedly - please try again',\n },\n ReCaptcha: {\n PleaseTick: 'Please tick the verification checkbox to confirm signup',\n ValidationError: 'There was an issue verifying you. Please try again later.',\n },\n },\n Headline: 'Register for Exclusive {{companyShort}} Member only Pricing',\n Subtitle: 'Just when you thought the perks for free was enough.',\n SubmitButtonText: 'Register to see the best rates',\n AgreeToReceiveDeals: 'You agree to receive deals and offers from {{companyShort}}',\n UnsubscribeAnytime: 'You can unsubscribe at any time.',\n },\n Custom: {\n BookNowPayLaterInfoBlock: {\n BookNowPayLater: 'Book now, Pay later',\n IfYourDreamsChange: 'If your dreams change, you can cancel later',\n },\n },\n Misc: {\n From: 'From',\n Night: 'Night',\n Night_plural: 'Nights',\n Stay: 'Stay',\n PerRoom: 'Per Room',\n PerNight: 'Per Night',\n\n ClearAll: 'Clear All',\n Clear: 'Clear',\n\n ApplyChanges: 'Apply Changes',\n\n CheckIn: 'Check-in',\n CheckOut: 'Check-out',\n\n Before: 'Before',\n After: 'After',\n\n Summary: 'Summary',\n Total: 'Total',\n\n Edit: 'Edit',\n Remove: 'Remove',\n\n Optional: 'Optional',\n\n Room: 'Room',\n Rates: 'Rates',\n Cancel: 'Cancel',\n\n By: 'by',\n\n GuaranteePolicy: 'Guarantee Policy',\n CancellationPolicy: 'Cancellation Policy',\n\n RoomAddedNotification: 'Added',\n RoomUpdatedNotification: 'Updated Room',\n\n ApplyCode: 'Apply Code',\n AddAnotherRoom: 'Add another room',\n Pills: {\n BuyNowPayLater: 'Buy now pay later',\n PeopleBooked: '{{people}} people booked this room in the last {{days}} days',\n PeopleBookedShort: '{{people}} recently booked',\n },\n Alerts: {\n BestRatePerks: 'Best rate & perks',\n BestRatePerksAlert: 'Lowest prices and the Ovolo perks only when you book here on ovolohotels.com',\n YouAreEditing: \"You're editing your reservation\",\n YouAreEditingAlert: 'Please select a different room and rate below or update your stay details above',\n },\n Perks: {\n AndYouGetAll: 'And you get all these for free:',\n TheseForFree: 'these for free',\n Breakfast: 'Breakfast',\n SuperspeedWifi: 'Superspeed Wifi',\n SocialHour: 'Social Hour',\n InRoomMinibar: 'In-room Minibar',\n SelfServiceLaundry: 'Self-service Laundry',\n Hour24Gym: '24-hour Gym',\n AllDaySnacks: 'All Day Snacks',\n FreeLootBag: 'Free Loot Bag',\n AirConditioning: 'Air Conditioning',\n SmokingFree: 'Smoking Free',\n },\n },\n FindReservation: {\n FindYourReservation: 'Find your reservation',\n FindReservation: 'Find reservation',\n Confirmation: 'Confirmation or Itinerary Number',\n EmailAddress: 'Email Address',\n InvalidEmailAddress: 'Invalid Email Address',\n Submit: 'Submit',\n Question: \"Don't know your confirmation number?\",\n Answer1: 'Your confirmation number was included in an email sent at the time of booking.',\n Answer2: 'Please check your email to recover the number.',\n YourItinerary: 'Your Itinerary',\n Adults: 'Adults',\n Children: 'Children',\n Back: 'Back to check availability',\n },\n HotelInfo: {\n BookNowButton: 'Book Now',\n },\n};\n\nexport default language;\n"]}
|