@mirai/core 0.4.666 → 0.4.668
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/build/components/Rates/Rates.js +1 -1
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +8 -4
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/helpers/index.js +11 -0
- package/build/contexts/PerformanceManager/helpers/index.js.map +1 -1
- package/build/contexts/PerformanceManager/helpers/uuid.js +16 -0
- package/build/contexts/PerformanceManager/helpers/uuid.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js +1 -0
- package/build/contexts/PerformanceManager/providers/facebook/bookingResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js +2 -0
- package/build/contexts/PerformanceManager/providers/facebook/checkoutResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/facebook/ratesAddToCart.js +2 -0
- package/build/contexts/PerformanceManager/providers/facebook/ratesAddToCart.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/facebook/ratesResponse.js +2 -0
- package/build/contexts/PerformanceManager/providers/facebook/ratesResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js +1 -0
- package/build/contexts/PerformanceManager/providers/gtm/bookingResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js +2 -0
- package/build/contexts/PerformanceManager/providers/gtm/checkoutResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/coreReady.js +2 -0
- package/build/contexts/PerformanceManager/providers/gtm/coreReady.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js +5 -3
- package/build/contexts/PerformanceManager/providers/gtm/helpers/getInitEvent.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js +3 -1
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js.map +1 -1
- package/package.json +1 -1
|
@@ -268,7 +268,7 @@ const Rates = _ref => {
|
|
|
268
268
|
included = _ref4.included;
|
|
269
269
|
return !included;
|
|
270
270
|
});
|
|
271
|
-
const ghostView = variant === _Core.VARIANT.B &&
|
|
271
|
+
const ghostView = variant === _Core.VARIANT.B && _services.ServiceFeatures.get(_Rates.FEATURES.HIDE_MODAL_EXTRAS, instanceId) && _services.ServiceFeatures.get(_Rates.FEATURES.HIDE_MODAL_EXTRAS, hotel.id);
|
|
272
272
|
if (selectableExtras) {
|
|
273
273
|
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
274
274
|
id: _helpers3.METRICS_EVENTS.EXTRAS_INTERACTION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Rates","_ref","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","testId","others","_useDevice","useDevice","isDesktop","isMobile","width","_useRates","useRates","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","_useStore","useStore","_useStore$value","club","currency","_useStore$value$finde","finder","forwarder","_useStore$value$hotel","hotel","instanceId","id","language","locale","session","_useStore$value$skele","skeleton","_useStore$value$urlPa","urlParams","variant","_useLocale","useLocale","translate","refItems","useRef","ratesMetricsSent","_useState","useState","_useState2","busy","setBusy","_useState3","_useState4","cancellationInfo","setCancellationInfo","_useState5","_useState6","extras","setExtras","_useState7","_useState8","extrasClosed","setExtrasClosed","_useState9","_useState0","filterBoard","setFilterBoard","_useState1","_useState10","filters","setFilters","_useState11","_useState12","itemInfo","setItemInfo","_useState13","_useState14","itemUrl","setItemUrl","_useState15","_useState16","mapView","setMapView","_useState17","_useState18","offerInfo","setOfferInfo","_useState19","_useState20","twinSelected","setTwinSelected","_finder$calendar","calendar","_finder$occupation","occupation","cart","checkoutDataSource","clubDiscount","dataSource","fetching","metaBoard","room","strictSearch","setCart","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","current","Event","publish","EVENT","METRICS","METRICS_EVENTS","RATES_READY","getSearchProps","store","is_refundable","refundable","scrollToRoom","roomId","handleFilters","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextCalendar","nextOccupation","nextPlace","place","nextPromocode","promocode","handleSelect","board","selected","nextCart","RATES_ADD_TO_CART","event","response","RATES_INTERACTION","action","result_position","itemsFiltered","findIndex","_ref2","loyalty_discount_active","handleSubmit","rates","isValidCart","hotelCurrency","infantAge","_ref3","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","catch","_ref3$extras","selectableExtras","some","_ref4","included","ghostView","VARIANT","B","ServiceFeatures","FEATURES","HIDE_MODAL_EXTRAS","EXTRAS_INTERACTION","handleCheckout","_ref5","selectedExtras","A","hasExtras","has_extras","setTimeout","document","href","getForwarderUrl","meta","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleCloseExtras","handleTwin","window","top","behavior","_refItems$current$roo","_ref6","getBoundingClientRect","scrollY","_Theme$get","Theme","contentBackground","cardImageHeight","getCardImageHeight","_dateDiff","dateDiff","nights","days","roomSelectorProps","onPress","features","getFeatures","priceFactor","showPricePerNight","uniqueOption","items","_ref7","soldOut","every","_ref8","_ref8$boards","boards","_ref8$cancellations","cancellations","_ref8$rates","select","getRefundableFromItems","createElement","Fragment","Header","login","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","onSubmit","concat","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","map","_ref9","index","item","Item","filterItem","resultPosition","taxesType","key","el","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","hotels","CardHotel","tracking","hotelInfoBAR","noAvailableReason","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCardImageHeight,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n isValidCart,\n select,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR, VARIANT } from '../../Core.constants';\nimport { fetchUrlParams, getRefundableFromItems, getSearchProps } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, METRICS_EVENTS, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club,\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id: instanceId,\n language,\n locale,\n session,\n skeleton = false,\n urlParams = {},\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n const ratesMetricsSent = useRef(false);\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [extrasClosed, setExtrasClosed] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twinSelected, setTwinSelected] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, checkoutDataSource, clubDiscount, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(() => {\n if (skeleton || responseError || !dataSource || ratesMetricsSent.current) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_READY,\n multiRoom,\n variant,\n ...getSearchProps({\n store: { finder, currency, language, locale, urlParams },\n dataSource,\n }),\n is_refundable: refundable,\n });\n ratesMetricsSent.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { calendar: nextCalendar, occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextCalendar, nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const selected = cart[room || 0];\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n if (!selected) scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'room_selected',\n result_position: itemsFiltered.findIndex(({ id } = {}) => id === board.roomId) + 1,\n loyalty_discount_active: !!session || clubDiscount,\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n if (board && !selected && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart) => {\n if (!checkoutDataSource || !isValidCart(cart)) return;\n\n const { currency: hotelCurrency, infantAge } = checkoutDataSource;\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource: checkoutDataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n const ghostView =\n variant === VARIANT.B &&\n (ServiceFeatures.get(FEATURES.HIDE_MODAL_EXTRAS, instanceId) ||\n ServiceFeatures.get(FEATURES.HIDE_MODAL_EXTRAS, hotel.id));\n if (selectableExtras) {\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_INTERACTION,\n action: ghostView ? 'ghost_view' : 'view',\n });\n\n if (!ghostView) {\n setExtras(extras);\n setExtrasClosed();\n }\n }\n\n if (!selectableExtras || ghostView) {\n handleCheckout(\n cart,\n ghostView ? extras.filter(({ included } = {}) => included) : extras,\n variant,\n ghostView ? extras.length > 0 : undefined,\n );\n }\n };\n\n const handleCheckout = (cart = [], selectedExtras = [], variant = VARIANT.A, hasExtras) => {\n if (!checkoutDataSource || !isValidCart(cart)) return;\n\n const { infantAge } = checkoutDataSource;\n setBusy(true);\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'rates_submit',\n has_extras: extras?.length > 0 || !!hasExtras,\n });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource: checkoutDataSource,\n extras: selectedExtras,\n forwarder,\n meta: !!urlParams.rates,\n refundable,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseExtras = () => {\n setExtras();\n !multiRoom && setExtrasClosed(true);\n };\n\n const handleTwin = (roomId) => {\n setFilterBoard();\n setMetaBoard();\n setTwinSelected(roomId);\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const cardImageHeight = getCardImageHeight();\n\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n const itemsFiltered = select(dataSource?.items, filters, { priceFactor });\n const refundable = getRefundableFromItems(dataSource?.items);\n\n return (\n <>\n <Header currency login={!!club} name={features.showNameInHeader} skeleton={skeleton} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ clubDiscount, values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, filters, multiRoom, priceFactor, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {itemsFiltered?.map(({ id, ...item }, index) => {\n return (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n extrasClosed,\n features,\n filters,\n metaBoard,\n id,\n resultPosition: index + 1,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onTwin={handleTwin}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n );\n })}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel ||\n responseError.tracking?.hotelInfoBAR?.length === 0 ||\n responseError.tracking?.hotelInfoBAR[0].noAvailableReason ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], dataSource: checkoutDataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n clubDiscount,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n selected: twinSelected,\n }}\n onBook={handleSelect}\n onClose={() => setTwinSelected()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onClose={handleCloseExtras}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Rates","_ref","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","testId","others","_useDevice","useDevice","isDesktop","isMobile","width","_useRates","useRates","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","_useStore","useStore","_useStore$value","club","currency","_useStore$value$finde","finder","forwarder","_useStore$value$hotel","hotel","instanceId","id","language","locale","session","_useStore$value$skele","skeleton","_useStore$value$urlPa","urlParams","variant","_useLocale","useLocale","translate","refItems","useRef","ratesMetricsSent","_useState","useState","_useState2","busy","setBusy","_useState3","_useState4","cancellationInfo","setCancellationInfo","_useState5","_useState6","extras","setExtras","_useState7","_useState8","extrasClosed","setExtrasClosed","_useState9","_useState0","filterBoard","setFilterBoard","_useState1","_useState10","filters","setFilters","_useState11","_useState12","itemInfo","setItemInfo","_useState13","_useState14","itemUrl","setItemUrl","_useState15","_useState16","mapView","setMapView","_useState17","_useState18","offerInfo","setOfferInfo","_useState19","_useState20","twinSelected","setTwinSelected","_finder$calendar","calendar","_finder$occupation","occupation","cart","checkoutDataSource","clubDiscount","dataSource","fetching","metaBoard","room","strictSearch","setCart","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","current","Event","publish","EVENT","METRICS","METRICS_EVENTS","RATES_READY","getSearchProps","store","is_refundable","refundable","scrollToRoom","roomId","handleFilters","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextCalendar","nextOccupation","nextPlace","place","nextPromocode","promocode","handleSelect","board","selected","nextCart","RATES_ADD_TO_CART","event","response","RATES_INTERACTION","action","result_position","itemsFiltered","findIndex","_ref2","loyalty_discount_active","handleSubmit","rates","isValidCart","hotelCurrency","infantAge","_ref3","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","catch","_ref3$extras","selectableExtras","some","_ref4","included","ghostView","VARIANT","B","ServiceFeatures","FEATURES","HIDE_MODAL_EXTRAS","EXTRAS_INTERACTION","handleCheckout","_ref5","selectedExtras","A","hasExtras","has_extras","setTimeout","document","href","getForwarderUrl","meta","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleCloseExtras","handleTwin","window","top","behavior","_refItems$current$roo","_ref6","getBoundingClientRect","scrollY","_Theme$get","Theme","contentBackground","cardImageHeight","getCardImageHeight","_dateDiff","dateDiff","nights","days","roomSelectorProps","onPress","features","getFeatures","priceFactor","showPricePerNight","uniqueOption","items","_ref7","soldOut","every","_ref8","_ref8$boards","boards","_ref8$cancellations","cancellations","_ref8$rates","select","getRefundableFromItems","createElement","Fragment","Header","login","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","onSubmit","concat","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","map","_ref9","index","item","Item","filterItem","resultPosition","taxesType","key","el","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","hotels","CardHotel","tracking","hotelInfoBAR","noAvailableReason","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCardImageHeight,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n isValidCart,\n select,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR, VARIANT } from '../../Core.constants';\nimport { fetchUrlParams, getRefundableFromItems, getSearchProps } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, METRICS_EVENTS, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club,\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id: instanceId,\n language,\n locale,\n session,\n skeleton = false,\n urlParams = {},\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n const ratesMetricsSent = useRef(false);\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [extrasClosed, setExtrasClosed] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twinSelected, setTwinSelected] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, checkoutDataSource, clubDiscount, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(() => {\n if (skeleton || responseError || !dataSource || ratesMetricsSent.current) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_READY,\n multiRoom,\n variant,\n ...getSearchProps({\n store: { finder, currency, language, locale, urlParams },\n dataSource,\n }),\n is_refundable: refundable,\n });\n ratesMetricsSent.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { calendar: nextCalendar, occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextCalendar, nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const selected = cart[room || 0];\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n if (!selected) scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'room_selected',\n result_position: itemsFiltered.findIndex(({ id } = {}) => id === board.roomId) + 1,\n loyalty_discount_active: !!session || clubDiscount,\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n if (board && !selected && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart) => {\n if (!checkoutDataSource || !isValidCart(cart)) return;\n\n const { currency: hotelCurrency, infantAge } = checkoutDataSource;\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource: checkoutDataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n const ghostView =\n variant === VARIANT.B &&\n ServiceFeatures.get(FEATURES.HIDE_MODAL_EXTRAS, instanceId) &&\n ServiceFeatures.get(FEATURES.HIDE_MODAL_EXTRAS, hotel.id);\n if (selectableExtras) {\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_INTERACTION,\n action: ghostView ? 'ghost_view' : 'view',\n });\n\n if (!ghostView) {\n setExtras(extras);\n setExtrasClosed();\n }\n }\n\n if (!selectableExtras || ghostView) {\n handleCheckout(\n cart,\n ghostView ? extras.filter(({ included } = {}) => included) : extras,\n variant,\n ghostView ? extras.length > 0 : undefined,\n );\n }\n };\n\n const handleCheckout = (cart = [], selectedExtras = [], variant = VARIANT.A, hasExtras) => {\n if (!checkoutDataSource || !isValidCart(cart)) return;\n\n const { infantAge } = checkoutDataSource;\n setBusy(true);\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'rates_submit',\n has_extras: extras?.length > 0 || !!hasExtras,\n });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource: checkoutDataSource,\n extras: selectedExtras,\n forwarder,\n meta: !!urlParams.rates,\n refundable,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseExtras = () => {\n setExtras();\n !multiRoom && setExtrasClosed(true);\n };\n\n const handleTwin = (roomId) => {\n setFilterBoard();\n setMetaBoard();\n setTwinSelected(roomId);\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const cardImageHeight = getCardImageHeight();\n\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n const itemsFiltered = select(dataSource?.items, filters, { priceFactor });\n const refundable = getRefundableFromItems(dataSource?.items);\n\n return (\n <>\n <Header currency login={!!club} name={features.showNameInHeader} skeleton={skeleton} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ clubDiscount, values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, filters, multiRoom, priceFactor, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {itemsFiltered?.map(({ id, ...item }, index) => {\n return (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n extrasClosed,\n features,\n filters,\n metaBoard,\n id,\n resultPosition: index + 1,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onTwin={handleTwin}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n );\n })}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel ||\n responseError.tracking?.hotelInfoBAR?.length === 0 ||\n responseError.tracking?.hotelInfoBAR[0].noAvailableReason ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], dataSource: checkoutDataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n clubDiscount,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n selected: twinSelected,\n }}\n onBook={handleSelect}\n onClose={() => setTwinSelected()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onClose={handleCloseExtras}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -52,10 +52,13 @@ const PerformanceManager = () => {
|
|
|
52
52
|
_useState2 = _slicedToArray(_useState, 2),
|
|
53
53
|
consentMode = _useState2[0],
|
|
54
54
|
setConsentMode = _useState2[1];
|
|
55
|
-
const _useState3 = (0, _react.useState)(
|
|
56
|
-
_useState4 = _slicedToArray(_useState3,
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
const _useState3 = (0, _react.useState)(_helpers.uuid),
|
|
56
|
+
_useState4 = _slicedToArray(_useState3, 1),
|
|
57
|
+
metaEventId = _useState4[0];
|
|
58
|
+
const _useState5 = (0, _react.useState)(storePerformance),
|
|
59
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
60
|
+
performance = _useState6[0],
|
|
61
|
+
setPerformance = _useState6[1];
|
|
59
62
|
const components = store.components,
|
|
60
63
|
_store$finder = store.finder,
|
|
61
64
|
_store$finder2 = _store$finder === void 0 ? {} : _store$finder,
|
|
@@ -190,6 +193,7 @@ const PerformanceManager = () => {
|
|
|
190
193
|
});
|
|
191
194
|
const response = callback(_objectSpread(_objectSpread(_objectSpread({}, value), config), {}, {
|
|
192
195
|
device,
|
|
196
|
+
metaEventId,
|
|
193
197
|
store
|
|
194
198
|
}));
|
|
195
199
|
if (!response) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_package","_helpers2","_Core","_helpers3","_getSuperProps","_excluded","_excluded2","_excluded3","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","MAX_COUNTER","_ref","PERFORMANCE","COMPARE","GTM","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","_useMetrics","useMetrics","track","_useStore","useStore","_useStore$value","_useStore$value$perfo","performance","storePerformance","store","_useState","useState","getConsentMode","_useState2","consentMode","setConsentMode","_useState3","_useState4","setPerformance","components","_store$finder","finder","_store$finder2","place","_store$hotel","hotel","instanceId","id","locale","session","type","useEffect","metrics","ServiceFeatures","get","handleMetrics","_ref2","props","window","IS_PLAYWRIGHT","location","host","event","toUpperCase","trim","getSuperProps","engineVersion","version","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","includes","_ref3","nextMemoizedPendingEvents","execute","CONSENT_MODE_ANSWERED","requeue","executeEvent","clearInterval","config","_store$finder3","_store$finder4","_store$finder4$place","_store$finder4$place2","_store$finder4$place3","_store$finder4$place4","_store$finder4$place5","hotelId","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","map","_ref5","CONSENT_MODE_REQUIRED","entries","EVENTS","_ref6","_ref7","propProvider","_ref7$","callback","parseInt","some","item","_ref8","loadScripts","_ref9","then","find","_ref0","response","label","concat","getPerformanceLabel","console","log","Mirai","urlParameters","fetchUrlParams","search","_ref1","propConsentMode","loadedComponents","scripts","_ref10","_ref11","_ref11$instances","instances","propInstances","gtgEnabled","_ref12","SCRIPTS","_ref12$components","_ref12$init","init","_ref12$once","once","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { version } from '../../../package.json';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\nimport { getSuperProps } from '../../helpers/getSuperProps';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track } = useMetrics();\n const {\n value: { performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { components, finder: { place } = {}, hotel = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', instanceId);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || !metrics || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n\n const event = id.toUpperCase().trim();\n track(event, {\n ...props,\n ...getSuperProps({ store, engineVersion: version }),\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode();\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute =\n nextConsentMode ||\n (counter >= MAX_COUNTER &&\n CONSENT_MODE_ANSWERED.includes(provider) &&\n (nextConsentMode === false || isGtm(provider)));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (execute) {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n } else if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(getPerformance(config, isHotel ? hotelId : undefined));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n if (performance.length === 0) return;\n\n const currentConsentMode = getConsentMode();\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [], gtgEnabled } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, index, instanceId, gtgEnabled, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_package","_helpers2","_Core","_helpers3","_getSuperProps","_excluded","_excluded2","_excluded3","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","MAX_COUNTER","_ref","PERFORMANCE","COMPARE","GTM","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","_useMetrics","useMetrics","track","_useStore","useStore","_useStore$value","_useStore$value$perfo","performance","storePerformance","store","_useState","useState","getConsentMode","_useState2","consentMode","setConsentMode","_useState3","uuid","_useState4","metaEventId","_useState5","_useState6","setPerformance","components","_store$finder","finder","_store$finder2","place","_store$hotel","hotel","instanceId","id","locale","session","type","useEffect","metrics","ServiceFeatures","get","handleMetrics","_ref2","props","window","IS_PLAYWRIGHT","location","host","event","toUpperCase","trim","getSuperProps","engineVersion","version","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","undefined","nextConsentMode","isGtm","provider","includes","_ref3","nextMemoizedPendingEvents","execute","CONSENT_MODE_ANSWERED","requeue","executeEvent","clearInterval","config","_store$finder3","_store$finder4","_store$finder4$place","_store$finder4$place2","_store$finder4$place3","_store$finder4$place4","_store$finder4$place5","hotelId","isHotel","getPerformance","handleEvent","_ref4","currentConsentMode","availableProviders","map","_ref5","CONSENT_MODE_REQUIRED","entries","EVENTS","_ref6","_ref7","propProvider","_ref7$","callback","parseInt","some","item","_ref8","loadScripts","_ref9","then","find","_ref0","response","label","concat","getPerformanceLabel","console","log","Mirai","urlParameters","fetchUrlParams","search","_ref1","propConsentMode","loadedComponents","scripts","_ref10","_ref11","_ref11$instances","instances","propInstances","gtgEnabled","_ref12","SCRIPTS","_ref12$components","_ref12$init","init","_ref12$once","once","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel, uuid } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { version } from '../../../package.json';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\nimport { getSuperProps } from '../../helpers/getSuperProps';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track } = useMetrics();\n const {\n value: { performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [metaEventId] = useState(uuid);\n const [performance, setPerformance] = useState(storePerformance);\n\n const { components, finder: { place } = {}, hotel = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', instanceId);\n\n const handleMetrics = ({ id, ...props }) => {\n if (!id || !metrics || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n\n const event = id.toUpperCase().trim();\n track(event, {\n ...props,\n ...getSuperProps({ store, engineVersion: version }),\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode();\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute =\n nextConsentMode ||\n (counter >= MAX_COUNTER &&\n CONSENT_MODE_ANSWERED.includes(provider) &&\n (nextConsentMode === false || isGtm(provider)));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (execute) {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n } else if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(getPerformance(config, isHotel ? hotelId : undefined));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n if (performance.length === 0) return;\n\n const currentConsentMode = getConsentMode();\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, metaEventId, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [], gtgEnabled } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, index, instanceId, gtgEnabled, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -47,4 +47,15 @@ Object.keys(_gtgSrc).forEach(function (key) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
+
var _uuid = require("./uuid");
|
|
51
|
+
Object.keys(_uuid).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _uuid[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _uuid[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
50
61
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_dataLayerPush","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getConsentMode","_getPerformanceLabel","_gtgSrc"],"sources":["../../../../src/contexts/PerformanceManager/helpers/index.js"],"sourcesContent":["export * from './dataLayerPush';\nexport * from './getConsentMode';\nexport * from './getPerformanceLabel';\nexport * from './gtgSrc';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,oBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,oBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,oBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,oBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,OAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,OAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,OAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,OAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_dataLayerPush","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getConsentMode","_getPerformanceLabel","_gtgSrc","_uuid"],"sources":["../../../../src/contexts/PerformanceManager/helpers/index.js"],"sourcesContent":["export * from './dataLayerPush';\nexport * from './getConsentMode';\nexport * from './getPerformanceLabel';\nexport * from './gtgSrc';\nexport * from './uuid';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,oBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,oBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,oBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,oBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,OAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,OAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,OAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,OAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,KAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,KAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,KAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,KAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.uuid = void 0;
|
|
7
|
+
const TEMPLATE = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
8
|
+
const uuid = () => {
|
|
9
|
+
var _window$crypto;
|
|
10
|
+
return (_window$crypto = window.crypto) !== null && _window$crypto !== void 0 && _window$crypto.randomUUID ? window.crypto.randomUUID() : TEMPLATE.replace(/[xy]/g, char => {
|
|
11
|
+
const random = Math.random() * 16 | 0;
|
|
12
|
+
return (char === 'x' ? random : random & 0x3 | 0x8).toString(16);
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
exports.uuid = uuid;
|
|
16
|
+
//# sourceMappingURL=uuid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.js","names":["TEMPLATE","uuid","_window$crypto","window","crypto","randomUUID","replace","char","random","Math","toString","exports"],"sources":["../../../../src/contexts/PerformanceManager/helpers/uuid.js"],"sourcesContent":["const TEMPLATE = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\n\nexport const uuid = () =>\n window.crypto?.randomUUID\n ? window.crypto.randomUUID()\n : TEMPLATE.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n\n return (char === 'x' ? random : (random & 0x3) | 0x8).toString(16);\n });\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAG,sCAAsC;AAEhD,MAAMC,IAAI,GAAGA,CAAA;EAAA,IAAAC,cAAA;EAAA,OAClB,CAAAA,cAAA,GAAAC,MAAM,CAACC,MAAM,cAAAF,cAAA,eAAbA,cAAA,CAAeG,UAAU,GACrBF,MAAM,CAACC,MAAM,CAACC,UAAU,CAAC,CAAC,GAC1BL,QAAQ,CAACM,OAAO,CAAC,OAAO,EAAGC,IAAI,IAAK;IAClC,MAAMC,MAAM,GAAIC,IAAI,CAACD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;IAEvC,OAAO,CAACD,IAAI,KAAK,GAAG,GAAGC,MAAM,GAAIA,MAAM,GAAG,GAAG,GAAI,GAAG,EAAEE,QAAQ,CAAC,EAAE,CAAC;EACpE,CAAC,CAAC;AAAA;AAACC,OAAA,CAAAV,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -98,6 +98,7 @@ const bookingResponse = async function () {
|
|
|
98
98
|
let idTracking = _ref3.idTracking,
|
|
99
99
|
pixelId = _ref3.pixelId;
|
|
100
100
|
return (0, _helpers.sendData)(_objectSpread(_objectSpread({}, commonData), {}, {
|
|
101
|
+
eventId: idReservation,
|
|
101
102
|
eventName,
|
|
102
103
|
idTracking,
|
|
103
104
|
pixelId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingResponse.js","names":["_locale","require","_helpers","_Core","_legacy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","bookingResponse","_ref","undefined","_ref$instances","instances","_ref$response","response","_ref$response2","_ref$response2$tracki","tracking","_ref$store","store","_ref$store2","_ref$store2$hotel","hotel","_ref$store2$hotel2","hotelId","id","type","_tracking$bookingValu","bookingValues","_tracking$bookingValu2","checkin","checkout","_tracking$bookingValu3","nights","_tracking$guestData","guestData","_tracking$hotelInfo","hotelInfo","_tracking$hotelInfo2","_tracking$hotelInfo2$","currency","hotelCurrency","propertyName","idReservation","pendingPayment","_tracking$reservedRoo","reservedRooms","totalNumAdults","totalNumChildren","totalPriceWithoutTaxes","contents","miraiBookings","numItems","_ref2","_ref2$averagePriceWit","averagePriceWithoutTaxes","_ref2$numRoomsToReser","numRoomsToReserve","rateId","quantity","itemPrice","formatPrice","eventName","commonData","userData","parseUserData","customData","parseCustomData","contentIds","Boolean","checkinDate","dateFormat","parseDate","delimiter","format","checkoutDate","miraiBooking","numAdults","numChildren","orderId","events","TYPE","CHAIN","concat","responses","Promise","all","flatMap","map","_ref3","idTracking","pixelId","sendData","catch","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/facebook/bookingResponse.js"],"sourcesContent":["import { dateFormat, parseDate } from '@mirai/locale';\n\nimport { parseCustomData, parseUserData, sendData } from './helpers';\nimport { TYPE } from '../../../../Core.constants';\nimport { formatPrice } from '../helpers/legacy';\n\nexport const bookingResponse = async ({\n instances = [],\n response: { tracking = {} } = {},\n store: { hotel: { id: hotelId } = {}, type } = {},\n} = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n bookingValues: { checkin, checkout, nights = 0 } = {},\n guestData = {},\n hotelInfo: { currency: hotelCurrency = {}, propertyName } = {},\n idReservation,\n pendingPayment,\n reservedRooms = [],\n totalNumAdults,\n totalNumChildren,\n totalPriceWithoutTaxes,\n } = tracking;\n\n const contents = [];\n const miraiBookings = [];\n let numItems = 0;\n reservedRooms.forEach(({ averagePriceWithoutTaxes = 0, numRoomsToReserve = 1, rateId } = {}) => {\n const quantity = nights * numRoomsToReserve;\n\n contents.push({ id: hotelId, itemPrice: formatPrice(averagePriceWithoutTaxes, hotelCurrency), quantity });\n miraiBookings.push(rateId);\n numItems += quantity;\n });\n\n const eventName = pendingPayment ? 'BTP' : 'Purchase';\n const commonData = {\n userData: parseUserData(guestData),\n customData: parseCustomData({\n contentIds: [hotelId].filter(Boolean),\n contents,\n ...(checkin && checkout\n ? {\n checkinDate: dateFormat(parseDate(checkin, 'DD/MM/YYYY'), { delimiter: '-', format: 'YYYY-MM-DD' }),\n checkoutDate: dateFormat(parseDate(checkout, 'DD/MM/YYYY'), { delimiter: '-', format: 'YYYY-MM-DD' }),\n }\n : undefined),\n hotelCurrency,\n miraiBooking: miraiBookings.length > 1 ? miraiBookings : miraiBookings[0],\n numItems,\n numAdults: totalNumAdults,\n numChildren: totalNumChildren,\n orderId: idReservation,\n propertyName,\n value: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n }),\n };\n\n const events = [eventName, ...(type == TYPE.CHAIN ? [`${eventName}_${hotelId}`] : [])];\n\n const responses = await Promise.all(\n events.flatMap((eventName) =>\n instances.map(({ idTracking, pixelId })
|
|
1
|
+
{"version":3,"file":"bookingResponse.js","names":["_locale","require","_helpers","_Core","_legacy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","bookingResponse","_ref","undefined","_ref$instances","instances","_ref$response","response","_ref$response2","_ref$response2$tracki","tracking","_ref$store","store","_ref$store2","_ref$store2$hotel","hotel","_ref$store2$hotel2","hotelId","id","type","_tracking$bookingValu","bookingValues","_tracking$bookingValu2","checkin","checkout","_tracking$bookingValu3","nights","_tracking$guestData","guestData","_tracking$hotelInfo","hotelInfo","_tracking$hotelInfo2","_tracking$hotelInfo2$","currency","hotelCurrency","propertyName","idReservation","pendingPayment","_tracking$reservedRoo","reservedRooms","totalNumAdults","totalNumChildren","totalPriceWithoutTaxes","contents","miraiBookings","numItems","_ref2","_ref2$averagePriceWit","averagePriceWithoutTaxes","_ref2$numRoomsToReser","numRoomsToReserve","rateId","quantity","itemPrice","formatPrice","eventName","commonData","userData","parseUserData","customData","parseCustomData","contentIds","Boolean","checkinDate","dateFormat","parseDate","delimiter","format","checkoutDate","miraiBooking","numAdults","numChildren","orderId","events","TYPE","CHAIN","concat","responses","Promise","all","flatMap","map","_ref3","idTracking","pixelId","sendData","eventId","catch","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/facebook/bookingResponse.js"],"sourcesContent":["import { dateFormat, parseDate } from '@mirai/locale';\n\nimport { parseCustomData, parseUserData, sendData } from './helpers';\nimport { TYPE } from '../../../../Core.constants';\nimport { formatPrice } from '../helpers/legacy';\n\nexport const bookingResponse = async ({\n instances = [],\n response: { tracking = {} } = {},\n store: { hotel: { id: hotelId } = {}, type } = {},\n} = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n bookingValues: { checkin, checkout, nights = 0 } = {},\n guestData = {},\n hotelInfo: { currency: hotelCurrency = {}, propertyName } = {},\n idReservation,\n pendingPayment,\n reservedRooms = [],\n totalNumAdults,\n totalNumChildren,\n totalPriceWithoutTaxes,\n } = tracking;\n\n const contents = [];\n const miraiBookings = [];\n let numItems = 0;\n reservedRooms.forEach(({ averagePriceWithoutTaxes = 0, numRoomsToReserve = 1, rateId } = {}) => {\n const quantity = nights * numRoomsToReserve;\n\n contents.push({ id: hotelId, itemPrice: formatPrice(averagePriceWithoutTaxes, hotelCurrency), quantity });\n miraiBookings.push(rateId);\n numItems += quantity;\n });\n\n const eventName = pendingPayment ? 'BTP' : 'Purchase';\n const commonData = {\n userData: parseUserData(guestData),\n customData: parseCustomData({\n contentIds: [hotelId].filter(Boolean),\n contents,\n ...(checkin && checkout\n ? {\n checkinDate: dateFormat(parseDate(checkin, 'DD/MM/YYYY'), { delimiter: '-', format: 'YYYY-MM-DD' }),\n checkoutDate: dateFormat(parseDate(checkout, 'DD/MM/YYYY'), { delimiter: '-', format: 'YYYY-MM-DD' }),\n }\n : undefined),\n hotelCurrency,\n miraiBooking: miraiBookings.length > 1 ? miraiBookings : miraiBookings[0],\n numItems,\n numAdults: totalNumAdults,\n numChildren: totalNumChildren,\n orderId: idReservation,\n propertyName,\n value: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n }),\n };\n\n const events = [eventName, ...(type == TYPE.CHAIN ? [`${eventName}_${hotelId}`] : [])];\n\n const responses = await Promise.all(\n events.flatMap((eventName) =>\n instances.map(({ idTracking, pixelId }) =>\n sendData({ ...commonData, eventId: idReservation, eventName, idTracking, pixelId }),\n ),\n ),\n ).catch(() => {});\n\n return responses;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@ const checkoutResponse = async function () {
|
|
|
17
17
|
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
18
18
|
_ref$instances = _ref.instances,
|
|
19
19
|
instances = _ref$instances === void 0 ? [] : _ref$instances,
|
|
20
|
+
metaEventId = _ref.metaEventId,
|
|
20
21
|
_ref$response = _ref.response,
|
|
21
22
|
_ref$response2 = _ref$response === void 0 ? {} : _ref$response,
|
|
22
23
|
country = _ref$response2.countryCode,
|
|
@@ -104,6 +105,7 @@ const checkoutResponse = async function () {
|
|
|
104
105
|
let idTracking = _ref3.idTracking,
|
|
105
106
|
pixelId = _ref3.pixelId;
|
|
106
107
|
return (0, _helpers.sendData)(_objectSpread(_objectSpread({}, commonData), {}, {
|
|
108
|
+
eventId: metaEventId,
|
|
107
109
|
idTracking,
|
|
108
110
|
pixelId
|
|
109
111
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkoutResponse.js","names":["_locale","require","_helpers","_helpers2","_legacy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","checkoutResponse","_ref","undefined","_ref$instances","instances","_ref$response","response","_ref$response2","country","countryCode","infantAge","_ref$response2$tracki","tracking","_ref$store","store","_ref$store2","_ref$store2$finder","finder","_ref$store2$finder2","_ref$store2$finder2$c","calendar","_ref$store2$finder2$o","occupation","_ref$store2$hotel","hotel","_ref$store2$hotel2","hotelId","id","_tracking$hotelInfo","hotelInfo","_tracking$hotelInfo2","_tracking$hotelInfo2$","currency","hotelCurrency","propertyName","_tracking$reservedRoo","reservedRooms","totalPriceWithoutTaxes","_dateDiff","dateDiff","days","contents","miraiRates","numItems","_ref2","_ref2$averagePriceWit","averagePriceWithoutTaxes","_ref2$numRoomsToReser","numRoomsToReserve","rateId","quantity","itemPrice","formatPrice","_getOccupationTotals","getOccupationTotals","_getOccupationTotals$","adults","_getOccupationTotals$2","babies","_getOccupationTotals$3","children","hasDates","commonData","customData","parseCustomData","contentIds","Boolean","checkinDate","dateFormat","delimiter","format","checkoutDate","miraiRate","numAdults","numChildren","eventName","responses","Promise","all","map","_ref3","idTracking","pixelId","sendData","catch","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/facebook/checkoutResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { parseCustomData, sendData } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nexport const checkoutResponse = async ({\n instances = [],\n response: { countryCode: country, infantAge, tracking = {} } = {},\n store: { finder: { calendar = [], occupation = [] } = {}, hotel: { id: hotelId } = {} } = {},\n} = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n hotelInfo: { currency: hotelCurrency = {}, propertyName } = {},\n reservedRooms = [],\n totalPriceWithoutTaxes,\n } = tracking;\n\n const { days } = dateDiff(...calendar);\n const contents = [];\n const miraiRates = [];\n let numItems = 0;\n reservedRooms.forEach(({ averagePriceWithoutTaxes = 0, numRoomsToReserve = 1, rateId } = {}) => {\n const quantity = days * numRoomsToReserve;\n\n contents.push({ id: hotelId, itemPrice: formatPrice(averagePriceWithoutTaxes, hotelCurrency), quantity });\n miraiRates.push(rateId);\n numItems += quantity;\n });\n const { adults = 0, babies = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const hasDates = calendar.length === 2;\n\n const commonData = {\n customData: parseCustomData({\n contentIds: [hotelId].filter(Boolean),\n contents,\n country,\n ...(hasDates\n ? {\n checkinDate: dateFormat(calendar[0], { delimiter: '-', format: 'YYYY-MM-DD' }),\n checkoutDate: dateFormat(calendar[1], { delimiter: '-', format: 'YYYY-MM-DD' }),\n }\n : undefined),\n hotelCurrency,\n miraiRate: miraiRates.length > 1 ? miraiRates : miraiRates[0],\n numItems,\n numAdults: adults,\n numChildren: babies + children,\n propertyName,\n value: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n }),\n eventName: 'InitiateCheckout',\n };\n\n const responses = await Promise.all(\n instances.map(({ idTracking, pixelId }) => sendData({ ...commonData, idTracking, pixelId })),\n ).catch(() => {});\n\n return responses;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAgD,SAAAI,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAEzC,MAAM8B,gBAAgB,GAAG,eAAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"checkoutResponse.js","names":["_locale","require","_helpers","_helpers2","_legacy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","checkoutResponse","_ref","undefined","_ref$instances","instances","metaEventId","_ref$response","response","_ref$response2","country","countryCode","infantAge","_ref$response2$tracki","tracking","_ref$store","store","_ref$store2","_ref$store2$finder","finder","_ref$store2$finder2","_ref$store2$finder2$c","calendar","_ref$store2$finder2$o","occupation","_ref$store2$hotel","hotel","_ref$store2$hotel2","hotelId","id","_tracking$hotelInfo","hotelInfo","_tracking$hotelInfo2","_tracking$hotelInfo2$","currency","hotelCurrency","propertyName","_tracking$reservedRoo","reservedRooms","totalPriceWithoutTaxes","_dateDiff","dateDiff","days","contents","miraiRates","numItems","_ref2","_ref2$averagePriceWit","averagePriceWithoutTaxes","_ref2$numRoomsToReser","numRoomsToReserve","rateId","quantity","itemPrice","formatPrice","_getOccupationTotals","getOccupationTotals","_getOccupationTotals$","adults","_getOccupationTotals$2","babies","_getOccupationTotals$3","children","hasDates","commonData","customData","parseCustomData","contentIds","Boolean","checkinDate","dateFormat","delimiter","format","checkoutDate","miraiRate","numAdults","numChildren","eventName","responses","Promise","all","map","_ref3","idTracking","pixelId","sendData","eventId","catch","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/facebook/checkoutResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { parseCustomData, sendData } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nexport const checkoutResponse = async ({\n instances = [],\n metaEventId,\n response: { countryCode: country, infantAge, tracking = {} } = {},\n store: { finder: { calendar = [], occupation = [] } = {}, hotel: { id: hotelId } = {} } = {},\n} = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n hotelInfo: { currency: hotelCurrency = {}, propertyName } = {},\n reservedRooms = [],\n totalPriceWithoutTaxes,\n } = tracking;\n\n const { days } = dateDiff(...calendar);\n const contents = [];\n const miraiRates = [];\n let numItems = 0;\n reservedRooms.forEach(({ averagePriceWithoutTaxes = 0, numRoomsToReserve = 1, rateId } = {}) => {\n const quantity = days * numRoomsToReserve;\n\n contents.push({ id: hotelId, itemPrice: formatPrice(averagePriceWithoutTaxes, hotelCurrency), quantity });\n miraiRates.push(rateId);\n numItems += quantity;\n });\n const { adults = 0, babies = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const hasDates = calendar.length === 2;\n\n const commonData = {\n customData: parseCustomData({\n contentIds: [hotelId].filter(Boolean),\n contents,\n country,\n ...(hasDates\n ? {\n checkinDate: dateFormat(calendar[0], { delimiter: '-', format: 'YYYY-MM-DD' }),\n checkoutDate: dateFormat(calendar[1], { delimiter: '-', format: 'YYYY-MM-DD' }),\n }\n : undefined),\n hotelCurrency,\n miraiRate: miraiRates.length > 1 ? miraiRates : miraiRates[0],\n numItems,\n numAdults: adults,\n numChildren: babies + children,\n propertyName,\n value: formatPrice(totalPriceWithoutTaxes, hotelCurrency),\n }),\n eventName: 'InitiateCheckout',\n };\n\n const responses = await Promise.all(\n instances.map(({ idTracking, pixelId }) => sendData({ ...commonData, eventId: metaEventId, idTracking, pixelId })),\n ).catch(() => {});\n\n return responses;\n};\n"],"mappings":"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","ignoreList":[]}
|