@mirai/core 0.4.414 → 0.4.415
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/AGENTS.md +295 -0
- package/build/Core.provider.js +2 -6
- package/build/Core.provider.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.js +0 -16
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/Booking/Booking.js +0 -5
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Chat/Chat.js +0 -4
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Checkout/Checkout.js +13 -53
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/helpers/getFieldProps.js +1 -10
- package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +4 -63
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +0 -6
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Finder/Finder.js +1 -16
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Header/Header.js +0 -8
- package/build/components/Header/Header.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +0 -1
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.RoomSelector.js +0 -4
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +0 -31
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +13 -65
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.js +1 -8
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +0 -29
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +0 -6
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +2 -16
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js +1 -8
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +0 -4
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +0 -5
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +1 -20
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +1 -7
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js +1 -8
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +0 -11
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/Extras.js +0 -13
- package/build/components/Rates/components/ModalExtras/Extras.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +4 -21
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/components/ModalMapView/ModalMapView.js +2 -9
- package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -1
- package/build/components/Rates/components/ModalTwin/ModalTwin.js +1 -28
- package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
- package/build/components/Rates/components/OTAPrices/OTAPrices.js +0 -21
- package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
- package/build/components/Rates/hooks/useRates.js +0 -37
- package/build/components/Rates/hooks/useRates.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +0 -9
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/__shared__/BookingDetails/BookingDetails.js +0 -5
- package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +0 -7
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/BookingTable/BookingTable.js +0 -11
- package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js +0 -17
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +1 -27
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -1
- package/build/components/__shared__/Payment/Payment.js +1 -18
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +1 -7
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/components/helpers/getRatesUrl.js +4 -0
- package/build/components/helpers/getRatesUrl.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +16 -36
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/index.js +6 -4
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/build/services/AnnaService.js +0 -41
- package/build/services/AnnaService.js.map +0 -1
- package/build/services/index.js +0 -10
- package/build/services/index.js.map +0 -1
|
@@ -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","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":[]}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twinSelected","setTwinSelected","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","utm_source","fingerprint","Event","publish","EVENT","METRICS","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","setTimeout","document","href","getForwarderUrl","meta","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleTwin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","days","nights","dateDiff","roomSelectorProps","onPress","features","getFeatures","priceFactor","showPricePerNight","uniqueOption","items","soldOut","every","_ref2","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","onSubmit","concat","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","map","_ref3","index","item","Item","filterItem","taxesType","key","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","hotels","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCardImageHeight,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams = {},\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twinSelected, setTwinSelected] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(() => {\n if (skeleton) return;\n\n if (urlParams.utm_source === 'synapse' && urlParams.fingerprint) {\n Event.publish(EVENT.METRICS, { id: 'RATES:RENDER', fingerprint: urlParams.fingerprint });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras, variant);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!urlParams.rates,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleTwin = (roomId) => {\n setFilterBoard();\n setMetaBoard();\n setTwinSelected(roomId);\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const cardImageHeight = getCardImageHeight();\n\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ clubDiscount, values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, filters, multiRoom, priceFactor, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onTwin={handleTwin}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n clubDiscount,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n selected: twinSelected,\n }}\n onBook={handleSelect}\n onClose={() => setTwinSelected()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,9 +75,6 @@ const CardHotel = function () {
|
|
|
75
75
|
}, [width]);
|
|
76
76
|
const handlePress = () => {
|
|
77
77
|
setBusy(true);
|
|
78
|
-
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
79
|
-
id: 'HOTELS:ITEM:SELECT'
|
|
80
|
-
});
|
|
81
78
|
setTimeout(() => {
|
|
82
79
|
const {
|
|
83
80
|
value
|
|
@@ -171,7 +168,6 @@ const CardHotel = function () {
|
|
|
171
168
|
}, /*#__PURE__*/_react.default.createElement(_components.Slider, {
|
|
172
169
|
height: cardImageHeight,
|
|
173
170
|
images: images,
|
|
174
|
-
metrics: "HOTELS:ITEM",
|
|
175
171
|
width: sliderWidth,
|
|
176
172
|
className: style.slider
|
|
177
173
|
})), distance && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -204,10 +200,7 @@ const CardHotel = function () {
|
|
|
204
200
|
}, () => '★')), /*#__PURE__*/_react.default.createElement(_ui.Text, caption, location), url && /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
205
201
|
href: unavailability ? (0, _helpers.getHotelUrl)(url) : url,
|
|
206
202
|
target: "_blank",
|
|
207
|
-
underline: true
|
|
208
|
-
onPress: () => _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
209
|
-
id: 'HOTELS:ITEM:SITE'
|
|
210
|
-
})
|
|
203
|
+
underline: true
|
|
211
204
|
}, translate(_CardHotel.L10N.ACTION_VIEW_HOTEL))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
212
205
|
className: [style.offset, style.summary]
|
|
213
206
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_Rates","_components","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","DEFAULT_WIDTH","CardHotel","board","cardImageHeight","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","propPrice","priceFactor","stars","taxes","unavailability","undefined","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","busy","setBusy","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","handlePress","Event","publish","EVENT","METRICS","setTimeout","find","isHotel","ids","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","SUBMIT_DELAY","caption","action","placeId","title","placeName","promocode","hotelName","confidential","deals","discount","breakdown","originalPrice","showPricePerNight","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","promocodeForAll","_ref","type","DISCOUNT_TYPE","PROMOTION","_ref2","DEAL","percentage","clubPercentage","CLUB","promoPercentage","createElement","Card","View","className","card","preview","Slider","height","metrics","slider","row","offset","spaceBetween","Icon","ICON","LOCATION","Text","small","L10N","LABEL_DISTANCE","Intl","NumberFormat","unit","format","bold","headline","Array","from","Action","getHotelUrl","target","underline","onPress","ACTION_VIEW_HOTEL","summary","tag","LABEL_ONLY_MEMBERS_DISCOUNT","Math","round","trimEnd","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","gap","content","level","currencyFormat","light","lineThrough","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","Button","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","shape","number","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, ICON, SUBMIT_DELAY, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\nimport { PriceDetails, Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n board = {},\n cardImageHeight,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price: propPrice,\n priceFactor = 1,\n stars,\n taxes,\n unavailability,\n} = {}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SELECT' });\n\n setTimeout(() => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n setBusy(false);\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n }, SUBMIT_DELAY);\n };\n\n const caption = { action: true };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {}, promocode } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n const { confidential, deals = [], discount: { breakdown = [] } = {}, originalPrice = 0 } = board;\n const price = propPrice / priceFactor;\n const showPricePerNight = priceFactor > 1;\n const currencyFormatProps = { currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const promocodeForAll =\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n ((breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) || deals.length > 0) && confidential);\n const { percentage: clubPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.CLUB) || {};\n const { percentage: promoPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider\n height={cardImageHeight}\n images={images}\n metrics=\"HOTELS:ITEM\"\n width={sliderWidth}\n className={style.slider}\n />\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline>\n {name}\n </Text>\n {stars > 0 && <Text headline>{Array.from({ length: stars }, () => '★')}</Text>}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action\n href={unavailability ? getHotelUrl(url) : url}\n target=\"_blank\"\n underline\n onPress={() => Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SITE' })}\n >\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View className={[style.offset, style.summary]}>\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_ONLY_MEMBERS_DISCOUNT, {\n value: clubPercentage > 0 ? ` -${Math.round(clubPercentage)}%` : '',\n }).trimEnd()}\n </Text>\n )}\n {promocode && promocodeForAll && (\n <Text bold small className={style.tag}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) && style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </View>\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: price })}\n </Text>\n {originalPrice > 0 && price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? propPrice : price / nights,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n <Text light small>\n {translate(getLabelTaxes(taxes))}\n </Text>\n\n <PriceDetails board={board} />\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n board: PropTypes.shape({}),\n cardImageHeight: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n priceFactor: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_Rates","_components","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","DEFAULT_WIDTH","CardHotel","board","cardImageHeight","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","propPrice","priceFactor","stars","taxes","unavailability","undefined","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","busy","setBusy","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","handlePress","setTimeout","find","isHotel","ids","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","SUBMIT_DELAY","caption","action","placeId","title","placeName","promocode","hotelName","confidential","deals","discount","breakdown","originalPrice","showPricePerNight","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","promocodeForAll","_ref","type","DISCOUNT_TYPE","PROMOTION","_ref2","DEAL","percentage","clubPercentage","CLUB","promoPercentage","createElement","Card","View","className","card","preview","Slider","height","slider","row","offset","spaceBetween","Icon","ICON","LOCATION","Text","small","L10N","LABEL_DISTANCE","Intl","NumberFormat","unit","format","bold","headline","Array","from","Action","getHotelUrl","target","underline","ACTION_VIEW_HOTEL","summary","tag","LABEL_ONLY_MEMBERS_DISCOUNT","Math","round","trimEnd","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","gap","content","level","currencyFormat","light","lineThrough","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","Button","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","shape","number","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { ICON, SUBMIT_DELAY, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\nimport { PriceDetails, Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n board = {},\n cardImageHeight,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price: propPrice,\n priceFactor = 1,\n stars,\n taxes,\n unavailability,\n} = {}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n setBusy(true);\n\n setTimeout(() => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n setBusy(false);\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n }, SUBMIT_DELAY);\n };\n\n const caption = { action: true };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {}, promocode } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n const { confidential, deals = [], discount: { breakdown = [] } = {}, originalPrice = 0 } = board;\n const price = propPrice / priceFactor;\n const showPricePerNight = priceFactor > 1;\n const currencyFormatProps = { currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const promocodeForAll =\n breakdown.find(({ type }) => type === DISCOUNT_TYPE.PROMOTION) ||\n ((breakdown.find(({ type }) => type === DISCOUNT_TYPE.DEAL) || deals.length > 0) && confidential);\n const { percentage: clubPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.CLUB) || {};\n const { percentage: promoPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={cardImageHeight} images={images} width={sliderWidth} className={style.slider} />\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline>\n {name}\n </Text>\n {stars > 0 && <Text headline>{Array.from({ length: stars }, () => '★')}</Text>}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action href={unavailability ? getHotelUrl(url) : url} target=\"_blank\" underline>\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View className={[style.offset, style.summary]}>\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_ONLY_MEMBERS_DISCOUNT, {\n value: clubPercentage > 0 ? ` -${Math.round(clubPercentage)}%` : '',\n }).trimEnd()}\n </Text>\n )}\n {promocode && promocodeForAll && (\n <Text bold small className={style.tag}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) && style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </View>\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: price })}\n </Text>\n {originalPrice > 0 && price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? propPrice : price / nights,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n <Text light small>\n {translate(getLabelTaxes(taxes))}\n </Text>\n\n <PriceDetails board={board} />\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n board: PropTypes.shape({}),\n cardImageHeight: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n priceFactor: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,7 +33,6 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
33
33
|
let currentCurrency;
|
|
34
34
|
let currentPlace;
|
|
35
35
|
let memoizeForm;
|
|
36
|
-
let timeoutRange;
|
|
37
36
|
const Filters = _ref => {
|
|
38
37
|
var _ref3;
|
|
39
38
|
let {
|
|
@@ -151,10 +150,6 @@ const Filters = _ref => {
|
|
|
151
150
|
const next = !visible;
|
|
152
151
|
setVisible(next);
|
|
153
152
|
if (next) {
|
|
154
|
-
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
155
|
-
id: 'RATES:FILTERS',
|
|
156
|
-
counter
|
|
157
|
-
});
|
|
158
153
|
onOpen();
|
|
159
154
|
}
|
|
160
155
|
};
|
|
@@ -162,39 +157,22 @@ const Filters = _ref => {
|
|
|
162
157
|
setForm(_objectSpread(_objectSpread({}, form), {}, {
|
|
163
158
|
amenities: value ? [...form.amenities, id] : form.amenities.filter(item => item !== id)
|
|
164
159
|
}));
|
|
165
|
-
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
166
|
-
id: 'RATES:FILTERS:AMENITY',
|
|
167
|
-
amenity: id,
|
|
168
|
-
value
|
|
169
|
-
});
|
|
170
160
|
};
|
|
171
161
|
const handleOption = (field, id) => {
|
|
172
162
|
setForm(_objectSpread(_objectSpread({}, form), {}, {
|
|
173
163
|
[field]: form[field] === id ? undefined : id
|
|
174
164
|
}));
|
|
175
|
-
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
176
|
-
id: "RATES:FILTERS:".concat(field)
|
|
177
|
-
});
|
|
178
165
|
};
|
|
179
166
|
const handleRange = (field, value) => {
|
|
180
167
|
setForm(_objectSpread(_objectSpread({}, form), {}, {
|
|
181
168
|
[field]: value
|
|
182
169
|
}));
|
|
183
|
-
clearTimeout(timeoutRange);
|
|
184
|
-
timeoutRange = setTimeout(() => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
185
|
-
id: "RATES:FILTERS:".concat(field),
|
|
186
|
-
value
|
|
187
|
-
}), _helpers2.SUBMIT_DELAY / 2);
|
|
188
170
|
};
|
|
189
171
|
const handleBookingOption = async (field, value) => {
|
|
190
172
|
const next = _objectSpread(_objectSpread({}, form), {}, {
|
|
191
173
|
[field]: value
|
|
192
174
|
});
|
|
193
175
|
setForm(next);
|
|
194
|
-
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
195
|
-
id: "RATES:FILTERS:".concat(field),
|
|
196
|
-
value
|
|
197
|
-
});
|
|
198
176
|
if (field !== 'freeCancellation') await fetch(next);
|
|
199
177
|
};
|
|
200
178
|
const handleClearAll = () => {
|
|
@@ -206,9 +184,6 @@ const Filters = _ref => {
|
|
|
206
184
|
setAllAmenities(false);
|
|
207
185
|
setForm(_objectSpread({}, _Filters4.DEFAULT_FORM));
|
|
208
186
|
(offer || promocode || roomType) && fetch(_Filters4.DEFAULT_FORM);
|
|
209
|
-
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
210
|
-
id: 'RATES:FILTERS:CLEAR_ALL'
|
|
211
|
-
});
|
|
212
187
|
};
|
|
213
188
|
const handleSubmit = () => {
|
|
214
189
|
memoizeForm = form;
|
|
@@ -218,10 +193,6 @@ const Filters = _ref => {
|
|
|
218
193
|
onSubmit(_objectSpread(_objectSpread({}, form), {}, {
|
|
219
194
|
strictSearch: (0, _helpers.getStrictSearch)(form)
|
|
220
195
|
}));
|
|
221
|
-
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
222
|
-
id: 'RATES:FILTERS:SUBMIT',
|
|
223
|
-
counter: nextCounter
|
|
224
|
-
});
|
|
225
196
|
};
|
|
226
197
|
const fetch = async next => {
|
|
227
198
|
setBusy(true);
|