@mirai/core 0.4.546 → 0.4.548
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/Banner/Banner.js +11 -0
- package/build/components/Banner/Banner.js.map +1 -1
- package/build/components/Booking/Booking.js +19 -28
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/partials/Booking.Menu.js +12 -0
- package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
- package/build/components/Chat/Chat.js +10 -3
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/components/Aura/Aura.js +2 -2
- package/build/components/Chat/components/Aura/Aura.js.map +1 -1
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js +4 -4
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js.map +1 -1
- package/build/components/Chat/components/Rating/Rating.js +1 -1
- package/build/components/Chat/components/Rating/Rating.js.map +1 -1
- package/build/components/Checkout/Checkout.js +74 -15
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +22 -3
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +36 -18
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +28 -3
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +47 -14
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +11 -0
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +17 -2
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +32 -10
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +4 -1
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +4 -1
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +9 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +31 -2
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +46 -6
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/components/ModalTwin/ModalTwin.js +51 -5
- package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
- package/build/components/Rates/components/OTAPrices/OTAPrices.js +66 -2
- package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
- package/build/components/Rates/hooks/useRates.js +13 -0
- package/build/components/Rates/hooks/useRates.js.map +1 -1
- package/build/components/Session/Session.Account.js +4 -0
- package/build/components/Session/Session.Account.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +38 -4
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/Signup/Signup.js +12 -0
- package/build/components/Signup/Signup.js.map +1 -1
- package/build/components/__shared__/BookingDetails/BookingDetails.js +5 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +10 -0
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js +13 -3
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
- package/build/components/__shared__/Payment/Payment.js +11 -1
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/components/helpers/constants.js +22 -1
- package/build/components/helpers/constants.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +30 -8
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/helpers/SHA256.js +6 -83
- package/build/contexts/PerformanceManager/providers/helpers/SHA256.js.map +1 -1
- package/build/helpers/SHA256.js +73 -0
- package/build/helpers/SHA256.js.map +1 -0
- package/build/helpers/getRefundableFromItems.js +22 -0
- package/build/helpers/getRefundableFromItems.js.map +1 -0
- package/build/helpers/getSearchProps.js +100 -0
- package/build/helpers/getSearchProps.js.map +1 -0
- package/build/helpers/getSuperProps.js +54 -0
- package/build/helpers/getSuperProps.js.map +1 -0
- package/build/helpers/index.js +48 -4
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/trackError.js +2 -1
- package/build/helpers/trackError.js.map +1 -1
- package/build/index.js +4 -2
- package/build/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalTwin.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_ModalTwin","style","_ModalTwin2","_helpers2","_helpers3","_helpers4","_Filters","_excluded","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","ModalTwin","_ref","_select","dataSource","filters","priceFactor","selected","onClose","onFilter","onSelect","others","translate","useLocale","isMobile","useDevice","finder","place","id","hotelId","isHotel","hotel","language","useStore","iframeRef","useRef","itemsRef","expanded","setExpanded","useState","loaded","setLoaded","scrollTo","setScrollTo","selectedId","setSelectedId","useEffect","callback","_ref2","displayName","Event","publish","EVENT","MODAL_VISIBLE","visible","subscribe","unsubscribe","event","undefined","data","origin","process","env","TWIN_URL","isLoaded","roomId","console","log","debounceSelectId","setTimeout","_itemsRef$current$sel","current","offsetTop","window","addEventListener","removeEventListener","handleFilters","selectedIndex","filteredItems","findIndex","handleChange","index","_iframeRef$current","_iframeRef$current$co","contentWindow","postMessage","handleClose","_iframeRef$current2","_iframeRef$current2$c","rooms","soldOut","map","soldOutRooms","handleSelect","_filteredItems$find","find","item","boards","handleSubmitFilter","debounce","items","select","filterItem","url","useMemo","getUrl","createElement","Modal","fit","preventDefault","title","L10N","LABEL_IMMERSIVE_BOOKING","onOverflow","className","modal","React","Fragment","View","container","row","panel","ScrollView","horizontal","scrollIndicator","snap","scrollview","key","ref","el","CardExpanded","styles","card","CardReduced","onPress","ModalTwinSkeleton","tag","src","iframe","Filters","values","onSubmit","Slider","onChange","reduced","last","onReduce","exports","propTypes","PropTypes","object","number","func"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { CardExpanded, CardReduced, Slider } from './components';\nimport { getUrl } from './helpers';\nimport { L10N } from './ModalTwin.l10n';\nimport * as style from './ModalTwin.module.css';\nimport { ModalTwinSkeleton } from './ModalTwin.Skeleton';\nimport { debounce } from '../../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { filterItem, select } from '../../helpers';\nimport { Filters } from '../Filters';\n\nconst ModalTwin = ({\n dataSource,\n filters,\n priceFactor,\n selected,\n onClose = () => {},\n onFilter = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n\n const { value: { finder: { place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel = {}, language } = {} } =\n useStore();\n\n const iframeRef = useRef();\n const itemsRef = useRef([]);\n\n const [expanded, setExpanded] = useState();\n const [loaded, setLoaded] = useState();\n const [scrollTo, setScrollTo] = useState();\n const [selectedId, setSelectedId] = useState();\n\n useEffect(() => {\n const callback = ({ displayName }) => {\n if (displayName !== ModalTwin.displayName) {\n selected && Event.publish(EVENT.MODAL_VISIBLE, { displayName: ModalTwin.displayName, visible: true });\n }\n };\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, [selected]);\n\n useEffect(() => {\n const callback = (event = {}) => {\n if (!event || !event.data || event.origin !== process.env.TWIN_URL) return;\n\n const { data: { isLoaded, roomId } = {} } = event;\n\n // eslint-disable-next-line no-console\n console.log('Mensaje recibido:', event);\n\n debounceSelectId(roomId);\n\n if (isLoaded) setLoaded(true);\n };\n\n if (!isMobile && selectedId) setTimeout(() => setScrollTo(itemsRef.current[selectedId]?.offsetTop - 74), 400);\n\n window.addEventListener('message', callback);\n\n return () => window.removeEventListener('message', callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedId]);\n\n useEffect(() => {\n setExpanded();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, selected]);\n\n useEffect(() => {\n if (!loaded) return;\n\n setTimeout(() => {\n handleFilters();\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selected);\n handleChange(selectedIndex !== -1 ? selectedIndex : 0);\n }, 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\n if (!handleFilters()) return;\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selectedId);\n if (selectedIndex === -1) handleChange(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n const handleChange = (index) => {\n if (index < 0 || index === selectedIndex || index >= filteredItems.length) return;\n\n const { id } = filteredItems[index];\n if (id !== selectedId) {\n setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n }\n };\n\n const handleClose = () => {\n setSelectedId();\n setLoaded();\n setExpanded();\n setScrollTo();\n onClose();\n };\n\n const handleFilters = () => {\n if (!filters || Object.keys(filters).length === 0) return;\n\n iframeRef?.current?.contentWindow?.postMessage(\n {\n rooms: filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id),\n soldOutRooms: filteredItems.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id),\n },\n process.env.TWIN_URL,\n );\n };\n\n const handleSelect = (id) => {\n onSelect(filteredItems.find((item) => item.id === id)?.boards[0]);\n handleClose(false);\n };\n\n const handleSubmitFilter = () => {\n onFilter();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\n setSelectedId(Number(roomId));\n }\n });\n\n const { items = [] } = dataSource || {};\n const filteredItems =\n select(items, filters, { priceFactor })?.map((item) => filterItem(item, filters, priceFactor)) || [];\n const selectedIndex = selectedId ? filteredItems.findIndex(({ id } = {}) => id === selectedId) : undefined;\n const url = useMemo(\n () => getUrl({ filteredItems, hotel, hotelId, isHotel, items, language }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hotel, hotelId, isHotel, language],\n );\n\n return (\n <Modal\n {...others}\n displayName={ModalTwin.displayName}\n fit\n preventDefault={false}\n title={translate(L10N.LABEL_IMMERSIVE_BOOKING)}\n visible={!!selected}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n {React.createElement(\n isMobile ? React.Fragment : View,\n !isMobile ? { className: style.container, row: true } : undefined,\n <>\n {!isMobile &&\n (loaded ? (\n <View className={style.panel}>\n <ScrollView\n horizontal={false}\n scrollIndicator\n scrollTo={scrollTo}\n snap={false}\n className={style.scrollview}\n >\n {filteredItems.map((item = {}, index) => (\n <View key={item.id} ref={(el) => (itemsRef.current[item.id] = el)}>\n {selectedId === item.id ? (\n <CardExpanded\n {...{ item, priceFactor, ...others }}\n onSelect={handleSelect}\n className={styles(style.card)}\n />\n ) : (\n <CardReduced {...{ item, priceFactor, ...others }} onPress={() => handleChange(index)} />\n )}\n </View>\n ))}\n </ScrollView>\n </View>\n ) : (\n <ModalTwinSkeleton />\n ))}\n <View tag=\"iframe\" ref={iframeRef} src={url} title=\"modal\" className={style.iframe} />\n </>,\n )}\n\n {loaded && (\n <View className={style.filters}>\n <Filters {...dataSource} {...{ values: filters, priceFactor, ...others }} onSubmit={handleSubmitFilter} />\n </View>\n )}\n\n {loaded && selectedId !== undefined && isMobile && (\n <Slider index={selectedIndex} onChange={handleChange} className={!expanded && style.reduced}>\n {filteredItems.map((item = {}, index) => {\n const last = index === filteredItems.length - 1;\n\n return (\n <View key={item.id} className={style.item}>\n <CardReduced\n {...{ item, last, priceFactor, ...others }}\n visible={!expanded}\n onPress={() => !expanded && setExpanded(true)}\n />\n <CardExpanded\n {...{ item, last, priceFactor, ...others }}\n visible={expanded}\n onReduce={() => setExpanded(false)}\n onSelect={handleSelect}\n />\n </View>\n );\n })}\n </Slider>\n )}\n </Modal>\n );\n};\n\nModalTwin.propTypes = {\n dataSource: PropTypes.object,\n filters: PropTypes.object,\n priceFactor: PropTypes.number,\n selected: PropTypes.number,\n onClose: PropTypes.func,\n onFilter: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nModalTwin.displayName = 'Mirai:Core:Rates:ModalTwin';\n\nexport { ModalTwin };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ModalTwin.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_ModalTwin","style","_ModalTwin2","_helpers2","_helpers3","_helpers4","_Filters","_excluded","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","ModalTwin","_ref","_select","dataSource","filters","priceFactor","selected","onClose","onFilter","onSelect","others","translate","useLocale","isMobile","useDevice","currency","finder","place","id","hotelId","isHotel","hotel","language","locale","urlParams","useStore","iframeRef","useRef","itemsRef","expanded","setExpanded","useState","loaded","setLoaded","scrollTo","setScrollTo","selectedId","setSelectedId","loadStartRef","loadedTrackedRef","selectedByUserRef","useEffect","callback","_ref2","displayName","Event","publish","EVENT","MODAL_VISIBLE","visible","subscribe","unsubscribe","event","undefined","data","origin","process","env","TWIN_URL","isLoaded","roomId","debounceSelectId","METRICS","METRICS_EVENTS","THREE_D_INTERACTION","action","method","current","loadTime","Math","round","performance","now","load_time_ms","setTimeout","_itemsRef$current$sel","offsetTop","window","addEventListener","removeEventListener","handleFilters","selectedIndex","filteredItems","findIndex","handleChange","index","_iframeRef$current","_iframeRef$current$co","contentWindow","postMessage","handleClose","_iframeRef$current2","_iframeRef$current2$c","rooms","soldOut","map","soldOutRooms","handleSelect","_filteredItems$find","find","item","boards","handleSubmitFilter","debounce","items","select","filterItem","url","useMemo","getUrl","createElement","Modal","fit","preventDefault","title","L10N","LABEL_IMMERSIVE_BOOKING","onOverflow","className","modal","React","Fragment","View","container","row","panel","ScrollView","horizontal","scrollIndicator","snap","scrollview","key","ref","el","CardExpanded","styles","card","CardReduced","onPress","ModalTwinSkeleton","tag","src","iframe","Filters","values","onSubmit","Slider","onChange","reduced","last","onReduce","exports","propTypes","PropTypes","object","number","func"],"sources":["../../../../../src/components/Rates/components/ModalTwin/ModalTwin.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { CardExpanded, CardReduced, Slider } from './components';\nimport { getUrl } from './helpers';\nimport { L10N } from './ModalTwin.l10n';\nimport * as style from './ModalTwin.module.css';\nimport { ModalTwinSkeleton } from './ModalTwin.Skeleton';\nimport { debounce } from '../../../../helpers';\nimport { EVENT, METRICS_EVENTS } from '../../../helpers';\nimport { filterItem, select } from '../../helpers';\nimport { Filters } from '../Filters';\n\nconst ModalTwin = ({\n dataSource,\n filters,\n priceFactor,\n selected,\n onClose = () => {},\n onFilter = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n\n const {\n value: {\n currency,\n finder = {},\n finder: { place: { id: [hotelId] = [], isHotel } = {} } = {},\n hotel = {},\n language,\n locale,\n urlParams,\n } = {},\n } = useStore();\n\n const iframeRef = useRef();\n const itemsRef = useRef([]);\n\n const [expanded, setExpanded] = useState();\n const [loaded, setLoaded] = useState();\n const [scrollTo, setScrollTo] = useState();\n const [selectedId, setSelectedId] = useState();\n\n const loadStartRef = useRef();\n const loadedTrackedRef = useRef(false);\n const selectedByUserRef = useRef(false);\n\n useEffect(() => {\n const callback = ({ displayName }) => {\n if (displayName !== ModalTwin.displayName) {\n selected && Event.publish(EVENT.MODAL_VISIBLE, { displayName: ModalTwin.displayName, visible: true });\n }\n };\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, [selected]);\n\n useEffect(() => {\n const callback = (event = {}) => {\n if (!event || !event.data || event.origin !== process.env.TWIN_URL) return;\n\n const { data: { isLoaded, roomId } = {} } = event;\n\n debounceSelectId(roomId);\n\n if (roomId) {\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.THREE_D_INTERACTION,\n action: 'change_room',\n method: 'map',\n });\n }\n\n if (isLoaded && !loadedTrackedRef.current) {\n const loadTime = loadStartRef.current ? Math.round(performance.now() - loadStartRef.current) : undefined;\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.THREE_D_INTERACTION,\n action: 'loaded',\n load_time_ms: loadTime,\n });\n loadedTrackedRef.current = true;\n setLoaded(true);\n }\n };\n\n if (!isMobile && selectedId) setTimeout(() => setScrollTo(itemsRef.current[selectedId]?.offsetTop - 74), 400);\n\n window.addEventListener('message', callback);\n\n return () => window.removeEventListener('message', callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedId]);\n\n useEffect(() => {\n setExpanded();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, selected]);\n\n useEffect(() => {\n if (!loaded) return;\n\n setTimeout(() => {\n handleFilters();\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selected);\n handleChange(selectedIndex !== -1 ? selectedIndex : 0);\n }, 1500);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loaded]);\n\n useEffect(() => {\n if (!handleFilters()) return;\n\n const selectedIndex = filteredItems.findIndex(({ id } = {}) => id === selectedId);\n if (selectedIndex === -1) handleChange(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n const handleChange = (index) => {\n if (index < 0 || index === selectedIndex || index >= filteredItems.length) return;\n\n const { id } = filteredItems[index];\n if (id !== selectedId) {\n setSelectedId(id);\n iframeRef?.current?.contentWindow?.postMessage({ roomId: id }, process.env.TWIN_URL);\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.THREE_D_INTERACTION,\n action: 'change_room',\n method: 'card',\n });\n }\n };\n\n const handleClose = () => {\n setSelectedId();\n setLoaded();\n setExpanded();\n setScrollTo();\n if (!selectedByUserRef.current) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.THREE_D_INTERACTION, action: 'close' });\n }\n onClose();\n };\n\n const handleFilters = () => {\n if (!filters || Object.keys(filters).length === 0) return;\n\n iframeRef?.current?.contentWindow?.postMessage(\n {\n rooms: filteredItems.filter(({ soldOut } = {}) => !soldOut).map(({ id } = {}) => id),\n soldOutRooms: filteredItems.filter(({ soldOut } = {}) => soldOut).map(({ id } = {}) => id),\n },\n process.env.TWIN_URL,\n );\n };\n\n const handleSelect = (id) => {\n selectedByUserRef.current = true;\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.THREE_D_INTERACTION, action: 'select' });\n onSelect(filteredItems.find((item) => item.id === id)?.boards[0]);\n handleClose(false);\n };\n\n const handleSubmitFilter = () => {\n onFilter();\n };\n\n const debounceSelectId = debounce((roomId) => {\n if (roomId && Number(roomId) !== selectedId) {\n setSelectedId(Number(roomId));\n }\n });\n\n const { items = [] } = dataSource || {};\n const filteredItems =\n select(items, filters, { priceFactor })?.map((item) => filterItem(item, filters, priceFactor)) || [];\n const selectedIndex = selectedId ? filteredItems.findIndex(({ id } = {}) => id === selectedId) : undefined;\n const url = useMemo(\n () => getUrl({ filteredItems, hotel, hotelId, isHotel, items, language }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hotel, hotelId, isHotel, language],\n );\n\n useEffect(() => {\n if (!selected) return;\n\n loadStartRef.current = performance.now();\n loadedTrackedRef.current = false;\n selectedByUserRef.current = false;\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.THREE_D_INTERACTION, action: 'open' });\n }, [currency, dataSource, finder, language, locale, selected, urlParams]);\n\n return (\n <Modal\n {...others}\n displayName={ModalTwin.displayName}\n fit\n preventDefault={false}\n title={translate(L10N.LABEL_IMMERSIVE_BOOKING)}\n visible={!!selected}\n onClose={handleClose}\n onOverflow={handleClose}\n className={style.modal}\n >\n {React.createElement(\n isMobile ? React.Fragment : View,\n !isMobile ? { className: style.container, row: true } : undefined,\n <>\n {!isMobile &&\n (loaded ? (\n <View className={style.panel}>\n <ScrollView\n horizontal={false}\n scrollIndicator\n scrollTo={scrollTo}\n snap={false}\n className={style.scrollview}\n >\n {filteredItems.map((item = {}, index) => (\n <View key={item.id} ref={(el) => (itemsRef.current[item.id] = el)}>\n {selectedId === item.id ? (\n <CardExpanded\n {...{ item, priceFactor, ...others }}\n onSelect={handleSelect}\n className={styles(style.card)}\n />\n ) : (\n <CardReduced {...{ item, priceFactor, ...others }} onPress={() => handleChange(index)} />\n )}\n </View>\n ))}\n </ScrollView>\n </View>\n ) : (\n <ModalTwinSkeleton />\n ))}\n <View tag=\"iframe\" ref={iframeRef} src={url} title=\"modal\" className={style.iframe} />\n </>,\n )}\n\n {loaded && (\n <View className={style.filters}>\n <Filters {...dataSource} {...{ values: filters, priceFactor, ...others }} onSubmit={handleSubmitFilter} />\n </View>\n )}\n\n {loaded && selectedId !== undefined && isMobile && (\n <Slider index={selectedIndex} onChange={handleChange} className={!expanded && style.reduced}>\n {filteredItems.map((item = {}, index) => {\n const last = index === filteredItems.length - 1;\n\n return (\n <View key={item.id} className={style.item}>\n <CardReduced\n {...{ item, last, priceFactor, ...others }}\n visible={!expanded}\n onPress={() => !expanded && setExpanded(true)}\n />\n <CardExpanded\n {...{ item, last, priceFactor, ...others }}\n visible={expanded}\n onReduce={() => setExpanded(false)}\n onSelect={handleSelect}\n />\n </View>\n );\n })}\n </Slider>\n )}\n </Modal>\n );\n};\n\nModalTwin.propTypes = {\n dataSource: PropTypes.object,\n filters: PropTypes.object,\n priceFactor: PropTypes.number,\n selected: PropTypes.number,\n onClose: PropTypes.func,\n onFilter: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nModalTwin.displayName = 'Mirai:Core:Rates:ModalTwin';\n\nexport { ModalTwin };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,6 +22,22 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
22
22
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
23
23
|
function _objectDestructuringEmpty(t) { if (null == t) throw new TypeError("Cannot destructure " + t); }
|
|
24
24
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
25
|
+
const MIN_VIEW_TIME_MS = 1200;
|
|
26
|
+
const SESSION_STORAGE_KEY = 'MIRAI:PRICE_COMP:VIEWED';
|
|
27
|
+
const getSessionViewed = () => {
|
|
28
|
+
try {
|
|
29
|
+
return sessionStorage.getItem(SESSION_STORAGE_KEY) === 'true';
|
|
30
|
+
} catch (_unused) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const setSessionViewed = () => {
|
|
35
|
+
try {
|
|
36
|
+
sessionStorage.setItem(SESSION_STORAGE_KEY, 'true');
|
|
37
|
+
} catch (_unused2) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
25
41
|
const OTAPrices = _ref => {
|
|
26
42
|
let others = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
|
|
27
43
|
const {
|
|
@@ -46,6 +62,10 @@ const OTAPrices = _ref => {
|
|
|
46
62
|
const [dataSource, setDataSource] = (0, _react.useState)();
|
|
47
63
|
const [fetching, setFetching] = (0, _react.useState)(true);
|
|
48
64
|
const [otas, setOtas] = (0, _react.useState)([]);
|
|
65
|
+
const loadStartRef = (0, _react.useRef)(performance.now());
|
|
66
|
+
const loadedTrackedRef = (0, _react.useRef)(false);
|
|
67
|
+
const viewTrackedRef = (0, _react.useRef)(false);
|
|
68
|
+
const viewTimerRef = (0, _react.useRef)();
|
|
49
69
|
(0, _react.useEffect)(() => {
|
|
50
70
|
if (process.env.NODE_ENV === 'development') {
|
|
51
71
|
localStorage.setItem('cmprm_screens_override', '[{ "type": "StartsWith", "path": "http://local.mirai.com:8080", "id_screen": 1233 }]');
|
|
@@ -68,6 +88,14 @@ const OTAPrices = _ref => {
|
|
|
68
88
|
price
|
|
69
89
|
});
|
|
70
90
|
!disabled && _dataSources.Event.publish(_helpers.EVENT.OTA_PRICES_READY);
|
|
91
|
+
if (!disabled && !loadedTrackedRef.current) {
|
|
92
|
+
loadedTrackedRef.current = true;
|
|
93
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
94
|
+
id: _helpers.METRICS_EVENTS.PRICE_COMP_INTERACTION,
|
|
95
|
+
action: 'loaded',
|
|
96
|
+
load_time_ms: Math.round(performance.now() - loadStartRef.current)
|
|
97
|
+
});
|
|
98
|
+
}
|
|
71
99
|
};
|
|
72
100
|
const handleOTAReady = event => {
|
|
73
101
|
const {
|
|
@@ -101,11 +129,47 @@ const OTAPrices = _ref => {
|
|
|
101
129
|
const initialize = () => {
|
|
102
130
|
setDataSource();
|
|
103
131
|
setOtas([]);
|
|
132
|
+
loadStartRef.current = performance.now();
|
|
133
|
+
loadedTrackedRef.current = false;
|
|
134
|
+
viewTrackedRef.current = false;
|
|
104
135
|
};
|
|
105
136
|
_dataSources.Event.subscribe(_helpers.EVENT.RATES_FILTER_CLUB, initialize);
|
|
106
137
|
initialize();
|
|
107
138
|
return () => _dataSources.Event.unsubscribe(_helpers.EVENT.RATES_FILTER_CLUB, initialize);
|
|
108
139
|
}, [calendar, currency, occupation, place, promocode]);
|
|
140
|
+
(0, _react.useEffect)(() => {
|
|
141
|
+
const currentRef = ref.current;
|
|
142
|
+
if (!currentRef || viewTrackedRef.current) return;
|
|
143
|
+
if (getSessionViewed()) {
|
|
144
|
+
viewTrackedRef.current = true;
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const observer = new IntersectionObserver(_ref2 => {
|
|
148
|
+
let [entry] = _ref2;
|
|
149
|
+
if (!entry.isIntersecting) {
|
|
150
|
+
if (viewTimerRef.current) clearTimeout(viewTimerRef.current);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (viewTrackedRef.current) return;
|
|
154
|
+
viewTimerRef.current = setTimeout(() => {
|
|
155
|
+
if (viewTrackedRef.current) return;
|
|
156
|
+
viewTrackedRef.current = true;
|
|
157
|
+
setSessionViewed();
|
|
158
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
159
|
+
id: _helpers.METRICS_EVENTS.PRICE_COMP_INTERACTION,
|
|
160
|
+
action: 'view'
|
|
161
|
+
});
|
|
162
|
+
}, MIN_VIEW_TIME_MS);
|
|
163
|
+
}, {
|
|
164
|
+
threshold: 0.6
|
|
165
|
+
});
|
|
166
|
+
observer.observe(currentRef);
|
|
167
|
+
return () => {
|
|
168
|
+
observer.disconnect();
|
|
169
|
+
if (viewTimerRef.current) clearTimeout(viewTimerRef.current);
|
|
170
|
+
};
|
|
171
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
172
|
+
}, [dataSource === null || dataSource === void 0 ? void 0 : dataSource.disabled, ref === null || ref === void 0 ? void 0 : ref.current]);
|
|
109
173
|
const currencyFormatProps = {
|
|
110
174
|
currency,
|
|
111
175
|
locale,
|
|
@@ -131,12 +195,12 @@ const OTAPrices = _ref => {
|
|
|
131
195
|
})))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
132
196
|
row: true,
|
|
133
197
|
className: style.items
|
|
134
|
-
}, [...otas].sort((a, b) => a.price - b.price).map(
|
|
198
|
+
}, [...otas].sort((a, b) => a.price - b.price).map(_ref3 => {
|
|
135
199
|
let {
|
|
136
200
|
id,
|
|
137
201
|
name,
|
|
138
202
|
price
|
|
139
|
-
} =
|
|
203
|
+
} = _ref3;
|
|
140
204
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
141
205
|
key: id,
|
|
142
206
|
className: style.item
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_shared__","_helpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","ref","useRef","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","Event","publish","EVENT","OTA_PRICES_READY","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","clearTimeout","initialize","subscribe","RATES_FILTER_CLUB","unsubscribe","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","a","b","map","_ref2","key","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n !disabled && Event.publish(EVENT.OTA_PRICES_READY);\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n const timeout = setTimeout(() => setFetching(false), 5000);\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n const initialize = () => {\n setDataSource();\n setOtas([]);\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, initialize);\n initialize();\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, initialize);\n }, [calendar, currency, occupation, place, promocode]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} ref={ref} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_shared__","_helpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","MIN_VIEW_TIME_MS","SESSION_STORAGE_KEY","getSessionViewed","sessionStorage","getItem","_unused","setSessionViewed","setItem","_unused2","undefined","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","ref","useRef","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","loadStartRef","performance","now","loadedTrackedRef","viewTrackedRef","viewTimerRef","useEffect","process","env","NODE_ENV","localStorage","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","Event","publish","EVENT","OTA_PRICES_READY","current","METRICS","id","METRICS_EVENTS","PRICE_COMP_INTERACTION","action","load_time_ms","Math","round","id_ota","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","clearTimeout","initialize","subscribe","RATES_FILTER_CLUB","unsubscribe","currentRef","observer","IntersectionObserver","_ref2","entry","isIntersecting","threshold","observe","disconnect","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","a","b","map","_ref3","key","item","small","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\nimport { EVENT, METRICS_EVENTS } from '../../../helpers';\n\nconst MIN_VIEW_TIME_MS = 1200;\nconst SESSION_STORAGE_KEY = 'MIRAI:PRICE_COMP:VIEWED';\n\nconst getSessionViewed = () => {\n try {\n return sessionStorage.getItem(SESSION_STORAGE_KEY) === 'true';\n } catch {\n return false;\n }\n};\n\nconst setSessionViewed = () => {\n try {\n sessionStorage.setItem(SESSION_STORAGE_KEY, 'true');\n } catch {\n return undefined;\n }\n};\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n const loadStartRef = useRef(performance.now());\n const loadedTrackedRef = useRef(false);\n const viewTrackedRef = useRef(false);\n const viewTimerRef = useRef();\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n !disabled && Event.publish(EVENT.OTA_PRICES_READY);\n if (!disabled && !loadedTrackedRef.current) {\n loadedTrackedRef.current = true;\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.PRICE_COMP_INTERACTION,\n action: 'loaded',\n load_time_ms: Math.round(performance.now() - loadStartRef.current),\n });\n }\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n const timeout = setTimeout(() => setFetching(false), 5000);\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n const initialize = () => {\n setDataSource();\n setOtas([]);\n loadStartRef.current = performance.now();\n loadedTrackedRef.current = false;\n viewTrackedRef.current = false;\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, initialize);\n initialize();\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, initialize);\n }, [calendar, currency, occupation, place, promocode]);\n\n useEffect(() => {\n const currentRef = ref.current;\n if (!currentRef || viewTrackedRef.current) return;\n\n if (getSessionViewed()) {\n viewTrackedRef.current = true;\n return;\n }\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (!entry.isIntersecting) {\n if (viewTimerRef.current) clearTimeout(viewTimerRef.current);\n\n return;\n }\n\n if (viewTrackedRef.current) return;\n\n viewTimerRef.current = setTimeout(() => {\n if (viewTrackedRef.current) return;\n\n viewTrackedRef.current = true;\n setSessionViewed();\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.PRICE_COMP_INTERACTION, action: 'view' });\n }, MIN_VIEW_TIME_MS);\n },\n { threshold: 0.6 },\n );\n\n observer.observe(currentRef);\n return () => {\n observer.disconnect();\n if (viewTimerRef.current) clearTimeout(viewTimerRef.current);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.disabled, ref?.current]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} ref={ref} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
20
20
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
21
21
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
22
|
let fetchCall = 0;
|
|
23
|
+
const WARNING = 'warning';
|
|
23
24
|
const useRates = () => {
|
|
24
25
|
const {
|
|
25
26
|
isMobile,
|
|
@@ -172,6 +173,14 @@ const useRates = () => {
|
|
|
172
173
|
const {
|
|
173
174
|
notifications = []
|
|
174
175
|
} = nextDataSource;
|
|
176
|
+
const trackNotification = (notificationType, notificationMessage) => {
|
|
177
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
178
|
+
id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
|
|
179
|
+
action: 'notification_show',
|
|
180
|
+
notification_type: notificationType,
|
|
181
|
+
notification_message: notificationMessage
|
|
182
|
+
});
|
|
183
|
+
};
|
|
175
184
|
if (notifications.includes(_Rates.NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {
|
|
176
185
|
_dataSources.Event.publish(_helpers2.EVENT.NOTIFICATION, {
|
|
177
186
|
contrast: true,
|
|
@@ -179,6 +188,7 @@ const useRates = () => {
|
|
|
179
188
|
promocode: nextPromocode
|
|
180
189
|
})
|
|
181
190
|
});
|
|
191
|
+
trackNotification(WARNING, 'promo_code_unavailable');
|
|
182
192
|
set({
|
|
183
193
|
finder: {
|
|
184
194
|
calendar: nextCalendar,
|
|
@@ -200,12 +210,14 @@ const useRates = () => {
|
|
|
200
210
|
contrast: true,
|
|
201
211
|
defaultMessage: translate(_Rates2.L10N.NOTIFICATION_ROOM_NOT_FOUND)
|
|
202
212
|
});
|
|
213
|
+
trackNotification(WARNING, 'room_unavailable');
|
|
203
214
|
}
|
|
204
215
|
if (notifications.includes(_Rates.NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {
|
|
205
216
|
_dataSources.Event.publish(_helpers2.EVENT.NOTIFICATION, {
|
|
206
217
|
contrast: true,
|
|
207
218
|
defaultMessage: translate(_Rates2.L10N.NOTIFICATION_OFFER_NOT_FOUND)
|
|
208
219
|
});
|
|
220
|
+
trackNotification(WARNING, 'offer_unavailable');
|
|
209
221
|
}
|
|
210
222
|
const {
|
|
211
223
|
notification
|
|
@@ -219,6 +231,7 @@ const useRates = () => {
|
|
|
219
231
|
warning: true,
|
|
220
232
|
defaultMessage: translate(validateError)
|
|
221
233
|
});
|
|
234
|
+
trackNotification(WARNING, 'rate_validation_error');
|
|
222
235
|
}
|
|
223
236
|
};
|
|
224
237
|
const fetch = async function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","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","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","promocode","device","multiRoom","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextCalendar","nextOccupation","nextPlace","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","idtokenprovider","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place, promocode } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n skeleton && setFetching(true);\n }, [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n (room !== undefined || multiRoom) && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n if (clubRate) {\n setCart([]);\n setClubRate(false);\n }\n setMetaBoard();\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: {\n ...(dataSource || responseError),\n currency,\n finder: { calendar, occupation, place, promocode },\n language,\n session,\n },\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n set({ rates: undefined });\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextCalendar, nextOccupation, nextPlace, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar: nextCalendar, occupation: nextOccupation, place: nextPlace, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\n }\n };\n\n const fetch = async ({\n nextCalendar = calendar,\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n const currentVariant = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString());\n nextClubDiscount = currentVariant?.discount;\n if (currentVariant && nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n if (nextPlace && !nextPlace.isHotel) {\n replaceUrlParams({ urlParams, idtokenprovider: undefined });\n }\n\n const params = {\n currency,\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource && nextRoom === undefined) {\n checkNotifications(nextDataSource, nextCalendar, nextOccupation, nextPlace, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","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","fetchCall","WARNING","useRates","isMobile","mobile","useDevice","translate","useLocale","set","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","promocode","device","multiRoom","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextCalendar","nextOccupation","nextPlace","nextPromocode","notifications","trackNotification","notificationType","notificationMessage","METRICS","METRICS_EVENTS","RATES_INTERACTION","action","notification_type","notification_message","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","idtokenprovider","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, METRICS_EVENTS, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\nconst WARNING = 'warning';\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place, promocode } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n skeleton && setFetching(true);\n }, [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n (room !== undefined || multiRoom) && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n if (clubRate) {\n setCart([]);\n setClubRate(false);\n }\n setMetaBoard();\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: {\n ...(dataSource || responseError),\n currency,\n finder: { calendar, occupation, place, promocode },\n language,\n session,\n },\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n set({ rates: undefined });\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextCalendar, nextOccupation, nextPlace, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n const trackNotification = (notificationType, notificationMessage) => {\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'notification_show',\n notification_type: notificationType,\n notification_message: notificationMessage,\n });\n };\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n\n trackNotification(WARNING, 'promo_code_unavailable');\n set({ finder: { calendar: nextCalendar, occupation: nextOccupation, place: nextPlace, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n trackNotification(WARNING, 'room_unavailable');\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n trackNotification(WARNING, 'offer_unavailable');\n }\n const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\n trackNotification(WARNING, 'rate_validation_error');\n }\n };\n\n const fetch = async ({\n nextCalendar = calendar,\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n const currentVariant = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString());\n nextClubDiscount = currentVariant?.discount;\n if (currentVariant && nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n if (nextPlace && !nextPlace.isHotel) {\n replaceUrlParams({ urlParams, idtokenprovider: undefined });\n }\n\n const params = {\n currency,\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource && nextRoom === undefined) {\n checkNotifications(nextDataSource, nextCalendar, nextOccupation, nextPlace, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,9 @@ const Account = _ref => {
|
|
|
40
40
|
const {
|
|
41
41
|
translate
|
|
42
42
|
} = (0, _locale.useLocale)();
|
|
43
|
+
const {
|
|
44
|
+
reset
|
|
45
|
+
} = (0, _dataSources.useMetrics)();
|
|
43
46
|
const ref = (0, _react.useRef)(null);
|
|
44
47
|
const _useStore = (0, _dataSources.useStore)(),
|
|
45
48
|
{
|
|
@@ -86,6 +89,7 @@ const Account = _ref => {
|
|
|
86
89
|
};
|
|
87
90
|
const handleLogout = () => {
|
|
88
91
|
(0, _logout.logout)();
|
|
92
|
+
reset();
|
|
89
93
|
if (type === _Core.AUTH_TYPE.MIRAI || type === _Core.AUTH_TYPE.SENATOR) {
|
|
90
94
|
set({
|
|
91
95
|
session: undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.Account.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_SessionAccount","_Session","_Session2","style","_Core","_logout","_helpers2","_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","Account","_ref","ghost","others","isMobile","useDevice","translate","useLocale","ref","useRef","_useStore","useStore","components","club","authentication","type","AUTH_TYPE","MIRAI","hotel","url","hotelUrl","id","session","store","menu","setMenu","useState","useEffect","handleClickOutside","_ref2","_ref$current","target","current","contains","undefined","document","addEventListener","removeEventListener","handlePress","handleLogout","getProfileUrl","authType","location","href","logout","SENATOR","Storage","adapter","LocalAdapter","remove","SENATOR_CLUB_TOKEN","profile","window","reload","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGOUT","toUrlParams","idtokenprovider","domain","email","firstName","lastName","level","options","includes","icon","ICON","PERSON","label","L10N","ACTION_MANAGE_ACCOUNT","testId","LIST","ACTION_MY_BOOKINGS","divider","LEVEL","children","createElement","Info","View","role","Menu","visible","LOGOUT","CTA_LOGOUT","onPress","Pressable","dangerouslySetInnerHTML","__html","template","outerHTML","className","pressable","row","styles","account","rates","hover","avatar","Text","action","bold","substr","toUpperCase","exports","displayName","propTypes","PropTypes","any"],"sources":["../../../src/components/Session/Session.Account.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Menu, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getProfileUrl } from './helpers';\nimport { Info } from './Session.Account.Info';\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE, SENATOR_CLUB_TOKEN } from '../../Core.constants';\nimport { logout } from '../../helpers/logout';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Account = ({ ghost, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n club: { authentication: { type = AUTH_TYPE.MIRAI } = {} } = {},\n hotel: { url: hotelUrl } = {},\n id,\n session,\n ...store\n },\n } = useStore();\n\n const [menu, setMenu] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = ({ target }) => {\n if (!ref.current?.contains(target)) setMenu(undefined);\n };\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = (value) => {\n if (!value) return setMenu(!menu);\n\n setMenu(false);\n if (value === 'logout') return handleLogout();\n\n const url = getProfileUrl({ authType: type, id, value, ...store });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleLogout = () => {\n logout();\n\n if (type === AUTH_TYPE.MIRAI || type === AUTH_TYPE.SENATOR) {\n set({ session: undefined });\n\n if (type === AUTH_TYPE.SENATOR) new Storage({ adapter: LocalAdapter }).remove(SENATOR_CLUB_TOKEN);\n\n if (components.profile) window.location.href = hotelUrl;\n else window.location.reload();\n\n return;\n }\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGOUT}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n })}`;\n\n document.location.href = url;\n };\n\n const { email, firstName = '', lastName = '', level } = session || {};\n\n let options = [AUTH_TYPE.MIRAI, AUTH_TYPE.SENATOR].includes(type)\n ? [\n {\n icon: ICON.PERSON,\n label: translate(L10N.ACTION_MANAGE_ACCOUNT),\n value: 'profile',\n testId: 'session-profile',\n },\n type === AUTH_TYPE.MIRAI\n ? {\n icon: ICON.LIST,\n label: translate(L10N.ACTION_MY_BOOKINGS),\n value: 'bookings',\n testId: 'session-bookings',\n }\n : undefined,\n ]\n : [];\n if (level) options = [{ divider: true, label: translate(L10N.LEVEL, { level }) }, ...options];\n if (!ghost && isMobile)\n options = [\n {\n children: <Info {...{ email, firstName, lastName }} />,\n divider: true,\n },\n ...options,\n ];\n\n return (\n <View {...others} role=\"account\" ref={ref}>\n <Menu\n visible={menu}\n options={\n session ? [...options, { icon: ICON.LOGOUT, label: translate(L10N.CTA_LOGOUT), value: 'logout' }] : null\n }\n onPress={handlePress}\n testId=\"profile-menu\"\n >\n <Pressable\n onPress={() => setMenu(!menu)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, session, translate) } : undefined}\n className={style.pressable}\n testId=\"show-profile-menu\"\n >\n {!ghost ? (\n <View row className={styles(style.account, components.rates && style.hover)}>\n <View row className={style.avatar}>\n <Text action bold>\n {`${firstName.substr(0, 1)}`.toUpperCase()}\n </Text>\n </View>\n {!isMobile && <Info {...{ email, firstName, lastName }} />}\n </View>\n ) : null}\n </Pressable>\n </Menu>\n </View>\n );\n};\n\nAccount.displayName = 'Mirai:Core:Session:Account';\n\nAccount.propTypes = {\n ghost: PropTypes.any,\n};\n\nexport { Account };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Session.Account.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_SessionAccount","_Session","_Session2","style","_Core","_logout","_helpers2","_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","Account","_ref","ghost","others","isMobile","useDevice","translate","useLocale","reset","useMetrics","ref","useRef","_useStore","useStore","components","club","authentication","type","AUTH_TYPE","MIRAI","hotel","url","hotelUrl","id","session","store","menu","setMenu","useState","useEffect","handleClickOutside","_ref2","_ref$current","target","current","contains","undefined","document","addEventListener","removeEventListener","handlePress","handleLogout","getProfileUrl","authType","location","href","logout","SENATOR","Storage","adapter","LocalAdapter","remove","SENATOR_CLUB_TOKEN","profile","window","reload","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGOUT","toUrlParams","idtokenprovider","domain","email","firstName","lastName","level","options","includes","icon","ICON","PERSON","label","L10N","ACTION_MANAGE_ACCOUNT","testId","LIST","ACTION_MY_BOOKINGS","divider","LEVEL","children","createElement","Info","View","role","Menu","visible","LOGOUT","CTA_LOGOUT","onPress","Pressable","dangerouslySetInnerHTML","__html","template","outerHTML","className","pressable","row","styles","account","rates","hover","avatar","Text","action","bold","substr","toUpperCase","exports","displayName","propTypes","PropTypes","any"],"sources":["../../../src/components/Session/Session.Account.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Menu, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getProfileUrl } from './helpers';\nimport { Info } from './Session.Account.Info';\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE, SENATOR_CLUB_TOKEN } from '../../Core.constants';\nimport { logout } from '../../helpers/logout';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Account = ({ ghost, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { reset } = useMetrics();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n club: { authentication: { type = AUTH_TYPE.MIRAI } = {} } = {},\n hotel: { url: hotelUrl } = {},\n id,\n session,\n ...store\n },\n } = useStore();\n\n const [menu, setMenu] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = ({ target }) => {\n if (!ref.current?.contains(target)) setMenu(undefined);\n };\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = (value) => {\n if (!value) return setMenu(!menu);\n\n setMenu(false);\n if (value === 'logout') return handleLogout();\n\n const url = getProfileUrl({ authType: type, id, value, ...store });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleLogout = () => {\n logout();\n reset();\n\n if (type === AUTH_TYPE.MIRAI || type === AUTH_TYPE.SENATOR) {\n set({ session: undefined });\n\n if (type === AUTH_TYPE.SENATOR) new Storage({ adapter: LocalAdapter }).remove(SENATOR_CLUB_TOKEN);\n\n if (components.profile) window.location.href = hotelUrl;\n else window.location.reload();\n\n return;\n }\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGOUT}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n })}`;\n\n document.location.href = url;\n };\n\n const { email, firstName = '', lastName = '', level } = session || {};\n\n let options = [AUTH_TYPE.MIRAI, AUTH_TYPE.SENATOR].includes(type)\n ? [\n {\n icon: ICON.PERSON,\n label: translate(L10N.ACTION_MANAGE_ACCOUNT),\n value: 'profile',\n testId: 'session-profile',\n },\n type === AUTH_TYPE.MIRAI\n ? {\n icon: ICON.LIST,\n label: translate(L10N.ACTION_MY_BOOKINGS),\n value: 'bookings',\n testId: 'session-bookings',\n }\n : undefined,\n ]\n : [];\n if (level) options = [{ divider: true, label: translate(L10N.LEVEL, { level }) }, ...options];\n if (!ghost && isMobile)\n options = [\n {\n children: <Info {...{ email, firstName, lastName }} />,\n divider: true,\n },\n ...options,\n ];\n\n return (\n <View {...others} role=\"account\" ref={ref}>\n <Menu\n visible={menu}\n options={\n session ? [...options, { icon: ICON.LOGOUT, label: translate(L10N.CTA_LOGOUT), value: 'logout' }] : null\n }\n onPress={handlePress}\n testId=\"profile-menu\"\n >\n <Pressable\n onPress={() => setMenu(!menu)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, session, translate) } : undefined}\n className={style.pressable}\n testId=\"show-profile-menu\"\n >\n {!ghost ? (\n <View row className={styles(style.account, components.rates && style.hover)}>\n <View row className={style.avatar}>\n <Text action bold>\n {`${firstName.substr(0, 1)}`.toUpperCase()}\n </Text>\n </View>\n {!isMobile && <Info {...{ email, firstName, lastName }} />}\n </View>\n ) : null}\n </Pressable>\n </Menu>\n </View>\n );\n};\n\nAccount.displayName = 'Mirai:Core:Session:Account';\n\nAccount.propTypes = {\n ghost: PropTypes.any,\n};\n\nexport { Account };\n"],"mappings":"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","ignoreList":[]}
|