@mirai/core 0.4.448 → 0.4.450
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/Chat/components/Aura/Aura.js +7 -4
- package/build/components/Chat/components/Aura/Aura.js.map +1 -1
- package/build/components/Rates/Rates.js +2 -2
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/ratesResponse.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js +12 -5
- package/build/contexts/PerformanceManager/providers/gtm/ratesResponse.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,17 +34,20 @@ const Aura = () => {
|
|
|
34
34
|
return (0, _auraHelpers.subscribeToMessageSent)(handler);
|
|
35
35
|
}, [busyConversation, conversation]);
|
|
36
36
|
(0, _react2.useEffect)(() => {
|
|
37
|
-
if (type === _Core.TYPE.CHAIN && !hotel.id
|
|
37
|
+
if (type === _Core.TYPE.CHAIN && !hotel.id) return;
|
|
38
38
|
setContext({
|
|
39
39
|
hotelId: hotel.id
|
|
40
40
|
});
|
|
41
41
|
}, [hotel.id, type, id]);
|
|
42
42
|
const handlePressConversation = () => {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
44
|
+
id: 'AURA:START'
|
|
45
|
+
});
|
|
46
|
+
const isChain = type === _Core.TYPE.CHAIN && !hotel.id;
|
|
47
|
+
const chainId = isChain ? id : null;
|
|
45
48
|
(0, _auraHelpers.handleConversation)(busyConversation, isConnecting, context, conversation, assistant, locale, setIsConnecting, setBusyConversation, isChain, chainId);
|
|
46
49
|
};
|
|
47
|
-
if (!context && !(type === _Core.TYPE.CHAIN && !hotel.id
|
|
50
|
+
if (!context && !(type === _Core.TYPE.CHAIN && !hotel.id)) return null;
|
|
48
51
|
const getIcon = () => {
|
|
49
52
|
if (busyConversation && isHovering) return _helpers.ICON.HANG_UP;
|
|
50
53
|
if (busyConversation) return _helpers.ICON.RECORD;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Aura.js","names":["_react","require","_dataSources","_ui","_react2","_interopRequireWildcard","style","_Core","_helpers","_auraHelpers","_AiHalo","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Aura","busyConversation","setBusyConversation","useState","isConnecting","setIsConnecting","context","setContext","isHovering","setIsHovering","conversation","useConversation","value","assistant","hotel","locale","type","id","useStore","useEffect","handler","createMessageSentHandler","subscribeToMessageSent","TYPE","CHAIN","
|
|
1
|
+
{"version":3,"file":"Aura.js","names":["_react","require","_dataSources","_ui","_react2","_interopRequireWildcard","style","_Core","_helpers","_auraHelpers","_AiHalo","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Aura","busyConversation","setBusyConversation","useState","isConnecting","setIsConnecting","context","setContext","isHovering","setIsHovering","conversation","useConversation","value","assistant","hotel","locale","type","id","useStore","useEffect","handler","createMessageSentHandler","subscribeToMessageSent","TYPE","CHAIN","hotelId","handlePressConversation","Event","publish","EVENT","METRICS","isChain","chainId","handleConversation","getIcon","ICON","HANG_UP","RECORD","AGENT","createElement","AiHalo","active","sensitivity","onMouseEnter","onMouseLeave","Button","busy","squared","top","onPress","className","styles","button","hangup","Icon","exports"],"sources":["../../../../../src/components/Chat/components/Aura/Aura.jsx"],"sourcesContent":["import { useConversation } from '@elevenlabs/react';\nimport { Event, useStore } from '@mirai/data-sources';\nimport { Button, Icon, styles } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Aura.module.css';\nimport { TYPE } from '../../../../Core.constants';\nimport { EVENT, ICON } from '../../../helpers';\nimport { createMessageSentHandler, subscribeToMessageSent, handleConversation } from '../../helpers/auraHelpers';\nimport { AiHalo } from '../AiHalo';\n\nconst Aura = () => {\n const [busyConversation, setBusyConversation] = useState(false);\n const [isConnecting, setIsConnecting] = useState(false);\n const [context, setContext] = useState(null);\n const [isHovering, setIsHovering] = useState(false);\n const conversation = useConversation();\n const {\n value: { assistant = {}, hotel = {}, locale, type, id },\n } = useStore();\n\n useEffect(() => {\n const handler = createMessageSentHandler(busyConversation, conversation, setBusyConversation);\n return subscribeToMessageSent(handler);\n }, [busyConversation, conversation]);\n\n useEffect(() => {\n if (type === TYPE.CHAIN && !hotel.id) return;\n\n setContext({ hotelId: hotel.id });\n }, [hotel.id, type, id]);\n\n const handlePressConversation = () => {\n Event.publish(EVENT.METRICS, { id: 'AURA:START' });\n const isChain = type === TYPE.CHAIN && !hotel.id;\n const chainId = isChain ? id : null;\n\n handleConversation(\n busyConversation,\n isConnecting,\n context,\n conversation,\n assistant,\n locale,\n setIsConnecting,\n setBusyConversation,\n isChain,\n chainId,\n );\n };\n\n if (!context && !(type === TYPE.CHAIN && !hotel.id)) return null;\n\n const getIcon = () => {\n if (busyConversation && isHovering) return ICON.HANG_UP;\n if (busyConversation) return ICON.RECORD;\n return ICON.AGENT;\n };\n\n return (\n <AiHalo\n active={busyConversation}\n conversation={conversation}\n sensitivity={1.2}\n onMouseEnter={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n >\n <Button\n busy={isConnecting}\n squared\n top\n onPress={handlePressConversation}\n className={styles(style.button, busyConversation && isHovering && style.hangup)}\n >\n <Icon value={getIcon()} />\n </Button>\n </AiHalo>\n );\n};\n\nexport { Aura };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,7 +41,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
41
41
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
42
42
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
43
43
|
const Rates = _ref => {
|
|
44
|
-
var _select, _dataSource$hotels, _responseError$tracki, _responseError$tracki2, _dataSource$items;
|
|
44
|
+
var _select, _dataSource$hotels, _responseError$tracki, _responseError$tracki2, _responseError$tracki3, _dataSource$items;
|
|
45
45
|
let {
|
|
46
46
|
testId
|
|
47
47
|
} = _ref,
|
|
@@ -392,7 +392,7 @@ const Rates = _ref => {
|
|
|
392
392
|
nights,
|
|
393
393
|
priceFactor
|
|
394
394
|
})));
|
|
395
|
-
})) : responseError ? responseError.hotel || ((_responseError$tracki = responseError.tracking) === null || _responseError$tracki === void 0 ? void 0 : (_responseError$tracki2 = _responseError$tracki.hotelInfoBAR) === null || _responseError$tracki2 === void 0 ? void 0 : _responseError$tracki2.length) === 0 ? /*#__PURE__*/_react.default.createElement(_Rates8.Unavailability, _extends({}, _objectSpread(_objectSpread({}, responseError), {}, {
|
|
395
|
+
})) : responseError ? responseError.hotel || ((_responseError$tracki = responseError.tracking) === null || _responseError$tracki === void 0 ? void 0 : (_responseError$tracki2 = _responseError$tracki.hotelInfoBAR) === null || _responseError$tracki2 === void 0 ? void 0 : _responseError$tracki2.length) === 0 || (_responseError$tracki3 = responseError.tracking) !== null && _responseError$tracki3 !== void 0 && _responseError$tracki3.hotelInfoBAR[0].noAvailableReason ? /*#__PURE__*/_react.default.createElement(_Rates8.Unavailability, _extends({}, _objectSpread(_objectSpread({}, responseError), {}, {
|
|
396
396
|
nights,
|
|
397
397
|
priceFactor
|
|
398
398
|
}), {
|
|
@@ -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","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twinSelected","setTwinSelected","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","utm_source","fingerprint","Event","publish","EVENT","METRICS","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","setTimeout","document","href","getForwarderUrl","meta","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","days","nights","dateDiff","roomSelectorProps","onPress","features","getFeatures","priceFactor","showPricePerNight","uniqueOption","items","soldOut","every","_ref2","boards","cancellations","createElement","Fragment","Header","login","active","name","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","select","map","_ref3","index","item","Item","filterItem","taxesType","key","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","hotels","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","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 ModalClubRate,\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 select,\n showClubRate,\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 } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, 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,\n locale,\n session,\n skeleton = false,\n urlParams = {},\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = 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, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(() => {\n if (skeleton) return;\n\n if (urlParams.utm_source === 'synapse' && urlParams.fingerprint) {\n Event.publish(EVENT.METRICS, { id: 'RATES:RENDER', fingerprint: urlParams.fingerprint });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\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 { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n 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\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras, variant);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!urlParams.rates,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\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\n return (\n <>\n <Header currency login={club.active} 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 {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n features,\n filters,\n metaBoard,\n id,\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 {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\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 : [], clubRate, dataSource, 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 onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\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","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_responseError$tracki3","_dataSource$items","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twinSelected","setTwinSelected","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","utm_source","fingerprint","Event","publish","EVENT","METRICS","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","setTimeout","document","href","getForwarderUrl","meta","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","days","nights","dateDiff","roomSelectorProps","onPress","features","getFeatures","priceFactor","showPricePerNight","uniqueOption","items","soldOut","every","_ref2","boards","cancellations","createElement","Fragment","Header","login","active","name","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","select","map","_ref3","index","item","Item","filterItem","taxesType","key","el","selected","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","onCancel","ModalClubRate","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 ModalClubRate,\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 select,\n showClubRate,\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 } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, 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,\n locale,\n session,\n skeleton = false,\n urlParams = {},\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = 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, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(() => {\n if (skeleton) return;\n\n if (urlParams.utm_source === 'synapse' && urlParams.fingerprint) {\n Event.publish(EVENT.METRICS, { id: 'RATES:RENDER', fingerprint: urlParams.fingerprint });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\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 { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n 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\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras, variant);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!urlParams.rates,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\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\n return (\n <>\n <Header currency login={club.active} 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 {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n features,\n filters,\n metaBoard,\n id,\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 {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 : [], clubRate, dataSource, 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 onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratesResponse.js","names":["_helpers","require","_Core","_helpers2","_legacy","_excluded","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","ratesResponse","_ref","undefined","device","mobile","instances","response","calendar","hotels","tracking","store","finder","place","id","hotelId","isHotel","instanceId","type","hotelInfo","hotelInfoBAR","rates","occupation","promocode","hasHotels","items","_ref2","currency","hotelName","idTokenProvider","
|
|
1
|
+
{"version":3,"file":"ratesResponse.js","names":["_helpers","require","_Core","_helpers2","_legacy","_excluded","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","ratesResponse","_ref","undefined","device","mobile","instances","response","calendar","hotels","tracking","store","finder","place","id","hotelId","isHotel","instanceId","type","hotelInfo","hotelInfoBAR","rates","occupation","promocode","hasHotels","items","hotel","bestAvailableRate","_ref2","currency","hotelName","idTokenProvider","averagePrice","internalWithoutTaxes","item_id","concat","item_name","coupon","currencyCode","item_brand","price","formatPrice","entries","getRoomsPriceRange","_ref3","key","minRate","maxRate","props","TYPE","HOTEL","parseRate","rate","step","item_list_name","parseCommon","multiroom","send_to","map","idAnalytics","window","gtag","non_interaction","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/analytics/ratesResponse.js"],"sourcesContent":["import { parseCommon, parseRate } from './helpers';\nimport { TYPE } from '../../../../Core.constants';\nimport { getRoomsPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n instances = [],\n response: { calendar, hotels = [], tracking = {} } = {},\n store: { finder: { place: { id: [hotelId] = [], isHotel } = {}, ...finder } = {}, id: instanceId, type } = {},\n} = {}) => {\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const { hotelInfo = {}, hotelInfoBAR = [], rates } = tracking;\n const { occupation = [], promocode = '' } = finder || {};\n const hasHotels = hotels?.length > 0 && !calendar;\n const items = [];\n\n if (hasHotels) {\n // ! TODO\n hotelInfoBAR\n .filter((hotel) => hotel.bestAvailableRate)\n .forEach(\n ({\n currency,\n hotelName,\n idTokenProvider,\n bestAvailableRate: { averagePrice: { internalWithoutTaxes } } = {},\n }) => {\n items.push({\n item_id: `${idTokenProvider}`,\n item_name: hotelName,\n coupon: promocode,\n currency: currency.currencyCode,\n item_brand: `${instanceId}`,\n price: formatPrice(internalWithoutTaxes, currency),\n });\n },\n );\n } else if (rates) {\n Object.entries(getRoomsPriceRange(rates, hotelInfo.currency)).forEach(\n ([key, { minRate = 0, maxRate = 0 } = {}]) => {\n const { id } = rates[key];\n const props = { hotelId: type === TYPE.HOTEL ? instanceId : hotelId, hotelInfo, id, promocode };\n\n items.push(parseRate({ ...props, rate: minRate }));\n if (minRate.id !== maxRate.id) items.push(parseRate({ ...props, rate: maxRate }));\n },\n );\n }\n\n const step = hasHotels ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const value = {\n ...(rates || hasHotels\n ? {\n coupon: finder?.promocode || '',\n item_list_name: hasHotels ? 'CHAIN_RESULT' : 'Search Results',\n items,\n }\n : {\n ...parseCommon({ ...finder, id: instanceId, type }),\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n hotelId: isHotel ? hotelId : undefined,\n multiroom: occupation.length > 1,\n step,\n }),\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n };\n\n window.gtag('event', rates || hasHotels ? (hasHotels ? 'view_item_list' : 'view_item') : 'no_view_item_list', value);\n window.gtag('event', 'data_search_info', {\n ...parseCommon({ ...finder, id: instanceId, type }),\n non_interaction: true,\n send_to: instances.map(({ idAnalytics } = {}) => idAnalytics),\n step,\n });\n\n return value;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -97,8 +97,13 @@ const ratesResponse = function () {
|
|
|
97
97
|
const {
|
|
98
98
|
showPricePerNight = false
|
|
99
99
|
} = (0, _helpers3.getFeatures)(features, urlParams);
|
|
100
|
+
const has = {
|
|
101
|
+
hotelAvailability: () => rates,
|
|
102
|
+
chainAvailability: () => (hotelInfoBAR === null || hotelInfoBAR === void 0 ? void 0 : hotelInfoBAR.length) > 0 && hotelInfoBAR[0].bestAvailableRate,
|
|
103
|
+
availability: () => has.hotelAvailability() || has.chainAvailability()
|
|
104
|
+
};
|
|
100
105
|
const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';
|
|
101
|
-
const common = _objectSpread(_objectSpread(_objectSpread({}, !
|
|
106
|
+
const common = _objectSpread(_objectSpread(_objectSpread({}, !has.availability() ? {
|
|
102
107
|
availability: 'no'
|
|
103
108
|
} : undefined), {}, {
|
|
104
109
|
chainId: idchain,
|
|
@@ -130,7 +135,7 @@ const ratesResponse = function () {
|
|
|
130
135
|
userCountry: country,
|
|
131
136
|
userLogged: !!session
|
|
132
137
|
});
|
|
133
|
-
const dataLayer =
|
|
138
|
+
const dataLayer = has.hotelAvailability() ? _objectSpread(_objectSpread({}, common), {}, {
|
|
134
139
|
currency: hotelCurrency.code,
|
|
135
140
|
exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,
|
|
136
141
|
highestRate: (0, _helpers.parseRate)(maxRate, hotelCurrency, nights),
|
|
@@ -192,7 +197,7 @@ const ratesResponse = function () {
|
|
|
192
197
|
taxesIncluded,
|
|
193
198
|
userCurrency: currency,
|
|
194
199
|
userLocation
|
|
195
|
-
}) : (
|
|
200
|
+
}) : has.chainAvailability() ? _objectSpread(_objectSpread({}, common), {}, {
|
|
196
201
|
availability: 'yes',
|
|
197
202
|
exchangeRate: userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,
|
|
198
203
|
hotelIds: hotelInfoBAR.map(function () {
|
|
@@ -209,7 +214,9 @@ const ratesResponse = function () {
|
|
|
209
214
|
}).join(','),
|
|
210
215
|
lowestRate: (0, _legacy.formatPrice)(hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights, hotelInfoBAR[0].currency),
|
|
211
216
|
userLocation
|
|
212
|
-
}) : common
|
|
217
|
+
}) : _objectSpread(_objectSpread({}, common), {}, {
|
|
218
|
+
cause: (hotelInfoBAR === null || hotelInfoBAR === void 0 ? void 0 : hotelInfoBAR.length) > 0 ? hotelInfoBAR[0].noAvailableReason : undefined
|
|
219
|
+
});
|
|
213
220
|
(0, _helpers5.dataLayerPush)((0, _helpers.getInitEvent)({
|
|
214
221
|
mobile,
|
|
215
222
|
hotel: {
|
|
@@ -222,7 +229,7 @@ const ratesResponse = function () {
|
|
|
222
229
|
type
|
|
223
230
|
}));
|
|
224
231
|
(0, _helpers5.dataLayerPush)({
|
|
225
|
-
event:
|
|
232
|
+
event: has.availability() ? 'mirai.Availability' : 'mirai.noAvailability',
|
|
226
233
|
'mirai.data': dataLayer
|
|
227
234
|
});
|
|
228
235
|
(0, _duetto.ratesResponse)(_objectSpread(_objectSpread({}, common), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_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","ACCOMMODATION_TYPE_NAME","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","features","variants","id","language","session","type","urlParams","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","userCurrencyValue","userLocation","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","step","common","availability","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","pricePerNight","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","bestAvailableRate","totalPrice","internalWithTaxes","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { getFeatures } from '../../../../components/Rates/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, features = {}, variants = {} } = {},\n id,\n language,\n session,\n type,\n urlParams,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n userLocation = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n const { showPricePerNight = false } = getFeatures(features, urlParams);\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!rates && hotelInfoBAR?.length === 0 ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n pricePerNight: showPricePerNight,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = rates\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n userLocation,\n }\n : hotelInfoBAR?.length > 0\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n userLocation,\n }\n : common;\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, id: hotelId, variants }, id, step, type }));\n dataLayerPush({\n event: rates || hotelInfoBAR?.length > 0 ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_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","ACCOMMODATION_TYPE_NAME","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","features","variants","id","language","session","type","urlParams","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","userCurrencyValue","userLocation","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","has","hotelAvailability","chainAvailability","bestAvailableRate","availability","step","common","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","pricePerNight","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","totalPrice","internalWithTaxes","cause","noAvailableReason","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { getFeatures } from '../../../../components/Rates/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, features = {}, variants = {} } = {},\n id,\n language,\n session,\n type,\n urlParams,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n userLocation = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n const { showPricePerNight = false } = getFeatures(features, urlParams);\n const has = {\n hotelAvailability: () => rates,\n chainAvailability: () => hotelInfoBAR?.length > 0 && hotelInfoBAR[0].bestAvailableRate,\n availability: () => has.hotelAvailability() || has.chainAvailability(),\n };\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!has.availability() ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n pricePerNight: showPricePerNight,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = has.hotelAvailability()\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n userLocation,\n }\n : has.chainAvailability()\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n userLocation,\n }\n : {\n ...common,\n cause: hotelInfoBAR?.length > 0 ? hotelInfoBAR[0].noAvailableReason : undefined,\n };\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, id: hotelId, variants }, id, step, type }));\n dataLayerPush({\n event: has.availability() ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\n};\n"],"mappings":"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","ignoreList":[]}
|