@mirai/core 0.4.408 → 0.4.409

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.
@@ -303,7 +303,6 @@ const Rates = _ref => {
303
303
  });
304
304
  }, _helpers3.SUBMIT_DELAY);
305
305
  };
306
- const handleCloseLogin = () => multiRoom ? setClubRate(false) : handleSelect();
307
306
  const handleTwin = roomId => {
308
307
  setFilterBoard();
309
308
  setMetaBoard();
@@ -509,7 +508,6 @@ const Rates = _ref => {
509
508
  dataSource: dataSource,
510
509
  cart: cart,
511
510
  visible: clubRate,
512
- onClose: handleCloseLogin,
513
511
  onSubmit: session => handleSubmit(cart, session)
514
512
  })), /*#__PURE__*/_react.default.createElement(_components.ModalMapView, {
515
513
  items: mapView,
@@ -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","_services2","_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$items4","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","Event","publish","EVENT","METRICS","getFeatures","features","utm_source","fingerprint","AnnaService","track","eventName","hotelId","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","_dataSource$items","_dataSource$items2","_dataSource$items3","_cart$","days","nights","dateDiff","metrics","meta","availableRooms","items","_ref2","availability","unavailableRooms","_ref3","visibleRooms","chain","rooms","loyalty","twin","setTimeout","document","href","getForwarderUrl","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleCloseLogin","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","key","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","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 { AnnaService } from '../../services';\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 () => {\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n });\n\n if (urlParams.utm_source === 'synapse' && urlParams.fingerprint) {\n AnnaService.track({\n eventName: 'RATES:RENDER',\n fingerprint: urlParams.fingerprint,\n hotelId: id,\n });\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\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 Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\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 const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!urlParams.rates,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n visibleRooms: dataSource.items?.length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n twin: filterBoard?.roomId === cart[0]?.roomId,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\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 handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\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 metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\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 onClose={handleCloseLogin}\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","_services2","_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$items4","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","Event","publish","EVENT","METRICS","getFeatures","features","utm_source","fingerprint","AnnaService","track","eventName","hotelId","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","_dataSource$items","_dataSource$items2","_dataSource$items3","_cart$","days","nights","dateDiff","metrics","meta","availableRooms","items","_ref2","availability","unavailableRooms","_ref3","visibleRooms","chain","rooms","loyalty","twin","setTimeout","document","href","getForwarderUrl","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","key","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","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 { AnnaService } from '../../services';\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 () => {\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n });\n\n if (urlParams.utm_source === 'synapse' && urlParams.fingerprint) {\n AnnaService.track({\n eventName: 'RATES:RENDER',\n fingerprint: urlParams.fingerprint,\n hotelId: id,\n });\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\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 Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\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 const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!urlParams.rates,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n visibleRooms: dataSource.items?.length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n twin: filterBoard?.roomId === cart[0]?.roomId,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\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 metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\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":[]}
@@ -95,11 +95,11 @@ const useRates = () => {
95
95
  }, [room]);
96
96
  (0, _react.useEffect)(() => {
97
97
  const callback = async next => {
98
- setClubDiscount(typeof next !== 'object' ? next : undefined);
99
98
  if (clubRate) {
100
99
  setCart([]);
101
100
  setClubRate(false);
102
101
  }
102
+ setClubDiscount(typeof next !== 'object' ? next : undefined);
103
103
  };
104
104
  _dataSources.Event.subscribe(_helpers2.EVENT.RATES_FILTER_CLUB, callback);
105
105
  return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.RATES_FILTER_CLUB, callback);
@@ -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","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","METRICS","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","promocode","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","nextOccupation","nextPlace","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","hotels","items","_nextDataSource$items","_nextDataSource$items2","_nextDataSource$items3","metrics","availableRooms","_ref","availability","unavailableRooms","_ref2","visibleRooms","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 } = 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 setClubDiscount(typeof next !== 'object' ? next : undefined);\n if (clubRate) {\n setCart([]);\n setClubRate(false);\n }\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: dataSource || responseError,\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 (!board) return Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\n\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 Event.publish(EVENT.METRICS, { id: 'RATES:META:SUCCESS' });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\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, 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, occupation, place, 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 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\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, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n\n if (nextDataSource?.hotels) {\n Event.publish(EVENT.METRICS, { id: 'HOTELS:RENDER' });\n } else if (nextDataSource?.items) {\n const metrics = {\n // -- type\n availableRooms: nextDataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: nextDataSource.items?.filter(({ availability }) => !availability).length,\n visibleRooms: nextDataSource.items?.length,\n // -- selection\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: 'RATES:READY', ...metrics });\n }\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","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","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","METRICS","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","promocode","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","nextOccupation","nextPlace","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","hotels","items","_nextDataSource$items","_nextDataSource$items2","_nextDataSource$items3","metrics","availableRooms","_ref","availability","unavailableRooms","_ref2","visibleRooms","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 } = 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 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: dataSource || responseError,\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 (!board) return Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\n\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 Event.publish(EVENT.METRICS, { id: 'RATES:META:SUCCESS' });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n Event.publish(EVENT.METRICS, { id: 'RATES:META:ERROR' });\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, 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, occupation, place, 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 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\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, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n\n if (nextDataSource?.hotels) {\n Event.publish(EVENT.METRICS, { id: 'HOTELS:RENDER' });\n } else if (nextDataSource?.items) {\n const metrics = {\n // -- type\n availableRooms: nextDataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: nextDataSource.items?.filter(({ availability }) => !availability).length,\n visibleRooms: nextDataSource.items?.length,\n // -- selection\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: 'RATES:READY', ...metrics });\n }\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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.408",
3
+ "version": "0.4.409",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",