@mirai/core 0.3.140 → 0.3.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Core.constants.js +5 -1
- package/build/Core.constants.js.map +1 -1
- package/build/components/Finder/Finder.js +4 -0
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.js +26 -2
- package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.l10n.js +6 -1
- package/build/components/Finder/components/Calendar/Calendar.l10n.js.map +1 -1
- package/build/components/Finder/components/Calendar/helpers/calcMinStay.js +34 -0
- package/build/components/Finder/components/Calendar/helpers/calcMinStay.js.map +1 -0
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js +33 -0
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js.map +1 -0
- package/build/components/Finder/components/Calendar/helpers/index.js +22 -0
- package/build/components/Finder/components/Calendar/helpers/index.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +19 -9
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +4 -0
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/services/Rates/helpers/compareSuggestions.js +40 -0
- package/build/services/Rates/helpers/compareSuggestions.js.map +1 -0
- package/build/services/Rates/helpers/getCalendarSuggestions.js +60 -0
- package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -0
- package/build/services/Rates/helpers/getDisabledDates.js +35 -0
- package/build/services/Rates/helpers/getDisabledDates.js.map +1 -0
- package/build/services/Rates/helpers/getMinStayDates.js +36 -0
- package/build/services/Rates/helpers/getMinStayDates.js.map +1 -0
- package/build/services/Rates/helpers/getOccupationSuggestions.js +22 -47
- package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
- package/build/services/Rates/helpers/getRooms.js +55 -0
- package/build/services/Rates/helpers/getRooms.js.map +1 -0
- package/build/services/Rates/helpers/parseUnavailability.js +31 -2
- package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
- package/build/services/Rates/rates.js +2 -0
- package/build/services/Rates/rates.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_helpers","_Rates","_Rates2","style","_interopRequireWildcard","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","Event","publish","EVENT","FINDER","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = false,\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, { focus: calendar ? 'calendar' : 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={calendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {translate(calendar ? L10N.LABEL_NO_AVAILABILITY_CALENDAR : L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.bool,\n occupation: PropTypes.bool,\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","isCalendar","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","shape","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
|
|
@@ -139,6 +139,7 @@ const Rates = _ref => {
|
|
|
139
139
|
setDataSource();
|
|
140
140
|
}
|
|
141
141
|
fetch(currency, undefined, getNextUrlParams(), room);
|
|
142
|
+
replaceHistory();
|
|
142
143
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
143
144
|
}, [finder, locale, room, session]);
|
|
144
145
|
(0, _react.useEffect)(() => {
|
|
@@ -156,6 +157,9 @@ const Rates = _ref => {
|
|
|
156
157
|
let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : urlParams;
|
|
157
158
|
let room = arguments.length > 3 ? arguments[3] : undefined;
|
|
158
159
|
if (skeleton || !multiRoom && room !== undefined) return;
|
|
160
|
+
_dataSources.Event.publish(_helpers2.EVENT.FINDER, {
|
|
161
|
+
calendar: undefined
|
|
162
|
+
});
|
|
159
163
|
setFetching(true);
|
|
160
164
|
setResponseError();
|
|
161
165
|
const nextParams = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURE_PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","nights","dateDiff","days","response","roomSelectorProps","onPress","showIncluded","FEATURE_SHOW_RATE_INCLUDED","contentBackground","Theme","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURE_PESTANA, FEATURE_SHOW_RATE_INCLUDED } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } 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 { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURE_PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showIncluded = ServiceFeatures.get(FEATURE_SHOW_RATE_INCLUDED, id) || false;\n const { contentBackground } = Theme.get();\n\n return (\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 <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{ clubDiscount, dataSource, multiRoom, onClubDiscount: handleClubDiscount, onSelect: handleSelect }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, multiRoom, nights, showIncluded, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","publish","FINDER","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURE_PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","nights","dateDiff","days","response","roomSelectorProps","onPress","showIncluded","FEATURE_SHOW_RATE_INCLUDED","contentBackground","Theme","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURE_PESTANA, FEATURE_SHOW_RATE_INCLUDED } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } 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 { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n replaceHistory();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURE_PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showIncluded = ServiceFeatures.get(FEATURE_SHOW_RATE_INCLUDED, id) || false;\n const { contentBackground } = Theme.get();\n\n return (\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 <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{ clubDiscount, dataSource, multiRoom, onClubDiscount: handleClubDiscount, onSelect: handleSelect }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, multiRoom, nights, showIncluded, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.compareSuggestions = void 0;
|
|
7
|
+
const compareSuggestions = function () {
|
|
8
|
+
let {
|
|
9
|
+
suggestion,
|
|
10
|
+
suggestions
|
|
11
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12
|
+
return suggestions.find(function () {
|
|
13
|
+
let option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
14
|
+
return JSON.stringify(option.suggestion.sort((a, b) => a.adults - b.adults).map(function () {
|
|
15
|
+
let {
|
|
16
|
+
adults,
|
|
17
|
+
babies,
|
|
18
|
+
children
|
|
19
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
20
|
+
return {
|
|
21
|
+
adults,
|
|
22
|
+
babies,
|
|
23
|
+
children
|
|
24
|
+
};
|
|
25
|
+
})) === JSON.stringify(suggestion.sort((a, b) => a.adults - b.adults).map(function () {
|
|
26
|
+
let {
|
|
27
|
+
adults,
|
|
28
|
+
babies,
|
|
29
|
+
children
|
|
30
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
31
|
+
return {
|
|
32
|
+
adults,
|
|
33
|
+
babies,
|
|
34
|
+
children
|
|
35
|
+
};
|
|
36
|
+
}));
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
exports.compareSuggestions = compareSuggestions;
|
|
40
|
+
//# sourceMappingURL=compareSuggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compareSuggestions.js","names":["compareSuggestions","suggestion","suggestions","arguments","length","undefined","find","option","JSON","stringify","sort","a","b","adults","map","babies","children","exports"],"sources":["../../../../src/services/Rates/helpers/compareSuggestions.js"],"sourcesContent":["export const compareSuggestions = ({ suggestion, suggestions } = {}) =>\n suggestions.find(\n (option = []) =>\n JSON.stringify(\n option.suggestion\n .sort((a, b) => a.adults - b.adults)\n .map(({ adults, babies, children } = {}) => ({ adults, babies, children })),\n ) ===\n JSON.stringify(\n suggestion\n .sort((a, b) => a.adults - b.adults)\n .map(({ adults, babies, children } = {}) => ({ adults, babies, children })),\n ),\n );\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAG,SAAAA,CAAA;EAAA,IAAC;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACjED,WAAW,CAACI,IAAI,CACd;IAAA,IAACC,MAAM,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,OACVK,IAAI,CAACC,SAAS,CACZF,MAAM,CAACN,UAAU,CACdS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,MAAM,GAAGD,CAAC,CAACC,MAAM,CAAC,CACnCC,GAAG,CAAC;MAAA,IAAC;QAAED,MAAM;QAAEE,MAAM;QAAEC;MAAS,CAAC,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAM;QAAEU,MAAM;QAAEE,MAAM;QAAEC;MAAS,CAAC;IAAA,CAAC,CAC9E,CAAC,KACDR,IAAI,CAACC,SAAS,CACZR,UAAU,CACPS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,MAAM,GAAGD,CAAC,CAACC,MAAM,CAAC,CACnCC,GAAG,CAAC;MAAA,IAAC;QAAED,MAAM;QAAEE,MAAM;QAAEC;MAAS,CAAC,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,OAAM;QAAEU,MAAM;QAAEE,MAAM;QAAEC;MAAS,CAAC;IAAA,CAAC,CAC9E,CAAC;EAAA,CACL,CAAC;AAAA;AAACC,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCalendarSuggestions = void 0;
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
8
|
+
var _Core = require("../../../Core.constants");
|
|
9
|
+
const {
|
|
10
|
+
CHECK_IN,
|
|
11
|
+
STAY
|
|
12
|
+
} = _Core.MIN_STAY_TYPE;
|
|
13
|
+
const getCalendarSuggestions = function () {
|
|
14
|
+
let {
|
|
15
|
+
calendar: {
|
|
16
|
+
daysInfo = [],
|
|
17
|
+
initialDate
|
|
18
|
+
} = {},
|
|
19
|
+
checkIn: propCheckIn,
|
|
20
|
+
minStayType,
|
|
21
|
+
nights
|
|
22
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
23
|
+
let allSuggestions = [];
|
|
24
|
+
const date = (0, _locale.parseDate)(initialDate);
|
|
25
|
+
const nightsRange = nights > 1 ? nights - 1 : nights;
|
|
26
|
+
for (let index = 0; index < daysInfo.length; index++) {
|
|
27
|
+
const from = index > 0 ? (0, _locale.dateCalc)(date, index) : date;
|
|
28
|
+
const rangeDays = daysInfo.slice(index, index + nightsRange);
|
|
29
|
+
if (rangeDays.length !== nightsRange) break;
|
|
30
|
+
if (rangeDays.every(day => day > 0) && (minStayType === CHECK_IN && (daysInfo[index] === 1 || daysInfo[index] > 1 && nights >= daysInfo[index]) || minStayType === STAY && daysInfo[index] > 0 && nights >= Math.max(...rangeDays))) {
|
|
31
|
+
//!TODO: get price for nights and occupation
|
|
32
|
+
allSuggestions.push({
|
|
33
|
+
from,
|
|
34
|
+
to: (0, _locale.dateCalc)(from, nights),
|
|
35
|
+
price: Math.floor(Math.random() * 500) + 100
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const checkIn = (0, _locale.parseDate)(propCheckIn);
|
|
40
|
+
let suggestions = [];
|
|
41
|
+
let hasPrevious = false;
|
|
42
|
+
let hasNext = false;
|
|
43
|
+
allSuggestions.forEach(function () {
|
|
44
|
+
let {
|
|
45
|
+
from
|
|
46
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
47
|
+
let index = arguments.length > 1 ? arguments[1] : undefined;
|
|
48
|
+
if (from > checkIn && !hasNext || hasNext && suggestions.length < 3 && checkIn.getDay() === from.getDay()) {
|
|
49
|
+
if (!hasPrevious && !hasNext && index > 0) {
|
|
50
|
+
suggestions.push(allSuggestions[index - 1]);
|
|
51
|
+
hasPrevious = true;
|
|
52
|
+
}
|
|
53
|
+
suggestions.push(allSuggestions[index]);
|
|
54
|
+
hasNext = true;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return suggestions;
|
|
58
|
+
};
|
|
59
|
+
exports.getCalendarSuggestions = getCalendarSuggestions;
|
|
60
|
+
//# sourceMappingURL=getCalendarSuggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCalendarSuggestions.js","names":["_locale","require","_Core","CHECK_IN","STAY","MIN_STAY_TYPE","getCalendarSuggestions","calendar","daysInfo","initialDate","checkIn","propCheckIn","minStayType","nights","arguments","length","undefined","allSuggestions","date","parseDate","nightsRange","index","from","dateCalc","rangeDays","slice","every","day","Math","max","push","to","price","floor","random","suggestions","hasPrevious","hasNext","forEach","getDay","exports"],"sources":["../../../../src/services/Rates/helpers/getCalendarSuggestions.js"],"sourcesContent":["import { dateCalc, parseDate } from '@mirai/locale';\n\nimport { MIN_STAY_TYPE } from '../../../Core.constants';\n\nconst { CHECK_IN, STAY } = MIN_STAY_TYPE;\n\nexport const getCalendarSuggestions = ({\n calendar: { daysInfo = [], initialDate } = {},\n checkIn: propCheckIn,\n minStayType,\n nights,\n} = {}) => {\n let allSuggestions = [];\n const date = parseDate(initialDate);\n const nightsRange = nights > 1 ? nights - 1 : nights;\n\n for (let index = 0; index < daysInfo.length; index++) {\n const from = index > 0 ? dateCalc(date, index) : date;\n const rangeDays = daysInfo.slice(index, index + nightsRange);\n if (rangeDays.length !== nightsRange) break;\n\n if (\n rangeDays.every((day) => day > 0) &&\n ((minStayType === CHECK_IN && (daysInfo[index] === 1 || (daysInfo[index] > 1 && nights >= daysInfo[index]))) ||\n (minStayType === STAY && daysInfo[index] > 0 && nights >= Math.max(...rangeDays)))\n ) {\n //!TODO: get price for nights and occupation\n allSuggestions.push({ from, to: dateCalc(from, nights), price: Math.floor(Math.random() * 500) + 100 });\n }\n }\n\n const checkIn = parseDate(propCheckIn);\n let suggestions = [];\n let hasPrevious = false;\n let hasNext = false;\n allSuggestions.forEach(({ from } = {}, index) => {\n if ((from > checkIn && !hasNext) || (hasNext && suggestions.length < 3 && checkIn.getDay() === from.getDay())) {\n if (!hasPrevious && !hasNext && index > 0) {\n suggestions.push(allSuggestions[index - 1]);\n hasPrevious = true;\n }\n suggestions.push(allSuggestions[index]);\n hasNext = true;\n }\n });\n\n return suggestions;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getDisabledDates = void 0;
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
8
|
+
var _Core = require("../../../Core.constants");
|
|
9
|
+
const getDisabledDates = function () {
|
|
10
|
+
let {
|
|
11
|
+
calendar: {
|
|
12
|
+
daysInfo = [],
|
|
13
|
+
initialDate
|
|
14
|
+
} = {}
|
|
15
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
16
|
+
const date = (0, _locale.parseDate)(initialDate);
|
|
17
|
+
return daysInfo.map((day, index) => ({
|
|
18
|
+
date: index > 0 ? (0, _locale.dateCalc)(date, index) : date,
|
|
19
|
+
day
|
|
20
|
+
})).filter(function () {
|
|
21
|
+
let {
|
|
22
|
+
day
|
|
23
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
24
|
+
return day === 0;
|
|
25
|
+
}).map(function () {
|
|
26
|
+
let {
|
|
27
|
+
date
|
|
28
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
+
return (0, _locale.dateFormat)(date, {
|
|
30
|
+
format: _Core.CALENDAR_FORMAT
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.getDisabledDates = getDisabledDates;
|
|
35
|
+
//# sourceMappingURL=getDisabledDates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDisabledDates.js","names":["_locale","require","_Core","getDisabledDates","calendar","daysInfo","initialDate","arguments","length","undefined","date","parseDate","map","day","index","dateCalc","filter","dateFormat","format","CALENDAR_FORMAT","exports"],"sources":["../../../../src/services/Rates/helpers/getDisabledDates.js"],"sourcesContent":["import { dateCalc, dateFormat, parseDate } from '@mirai/locale';\n\nimport { CALENDAR_FORMAT } from '../../../Core.constants';\n\nexport const getDisabledDates = ({ calendar: { daysInfo = [], initialDate } = {} } = {}) => {\n const date = parseDate(initialDate);\n\n return daysInfo\n .map((day, index) => ({ date: index > 0 ? dateCalc(date, index) : date, day }))\n .filter(({ day } = {}) => day === 0)\n .map(({ date } = {}) => dateFormat(date, { format: CALENDAR_FORMAT }));\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEO,MAAME,gBAAgB,GAAG,SAAAA,CAAA,EAA4D;EAAA,IAA3D;IAAEC,QAAQ,EAAE;MAAEC,QAAQ,GAAG,EAAE;MAAEC;IAAY,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACrF,MAAMG,IAAI,GAAG,IAAAC,iBAAS,EAACL,WAAW,CAAC;EAEnC,OAAOD,QAAQ,CACZO,GAAG,CAAC,CAACC,GAAG,EAAEC,KAAK,MAAM;IAAEJ,IAAI,EAAEI,KAAK,GAAG,CAAC,GAAG,IAAAC,gBAAQ,EAACL,IAAI,EAAEI,KAAK,CAAC,GAAGJ,IAAI;IAAEG;EAAI,CAAC,CAAC,CAAC,CAC9EG,MAAM,CAAC;IAAA,IAAC;MAAEH;IAAI,CAAC,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKM,GAAG,KAAK,CAAC;EAAA,EAAC,CACnCD,GAAG,CAAC;IAAA,IAAC;MAAEF;IAAK,CAAC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,IAAAU,kBAAU,EAACP,IAAI,EAAE;MAAEQ,MAAM,EAAEC;IAAgB,CAAC,CAAC;EAAA,EAAC;AAC1E,CAAC;AAACC,OAAA,CAAAjB,gBAAA,GAAAA,gBAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getMinStayDates = void 0;
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
8
|
+
var _Core = require("../../../Core.constants");
|
|
9
|
+
const getMinStayDates = function () {
|
|
10
|
+
let {
|
|
11
|
+
calendar: {
|
|
12
|
+
daysInfo = [],
|
|
13
|
+
initialDate
|
|
14
|
+
} = {}
|
|
15
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
16
|
+
const date = (0, _locale.parseDate)(initialDate);
|
|
17
|
+
return Object.fromEntries(daysInfo.map((minDays, index) => ({
|
|
18
|
+
date: (0, _locale.dateFormat)(index > 0 ? (0, _locale.dateCalc)(date, index) : date, {
|
|
19
|
+
format: _Core.CALENDAR_FORMAT
|
|
20
|
+
}),
|
|
21
|
+
minDays
|
|
22
|
+
})).filter(function () {
|
|
23
|
+
let {
|
|
24
|
+
minDays
|
|
25
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
26
|
+
return minDays > 1;
|
|
27
|
+
}).map(function () {
|
|
28
|
+
let {
|
|
29
|
+
date,
|
|
30
|
+
minDays
|
|
31
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
32
|
+
return [date, minDays];
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
exports.getMinStayDates = getMinStayDates;
|
|
36
|
+
//# sourceMappingURL=getMinStayDates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMinStayDates.js","names":["_locale","require","_Core","getMinStayDates","calendar","daysInfo","initialDate","arguments","length","undefined","date","parseDate","Object","fromEntries","map","minDays","index","dateFormat","dateCalc","format","filter","exports"],"sources":["../../../../src/services/Rates/helpers/getMinStayDates.js"],"sourcesContent":["import { dateCalc, dateFormat, parseDate } from '@mirai/locale';\n\nimport { CALENDAR_FORMAT as format } from '../../../Core.constants';\n\nexport const getMinStayDates = ({ calendar: { daysInfo = [], initialDate } = {} } = {}) => {\n const date = parseDate(initialDate);\n\n return Object.fromEntries(\n daysInfo\n .map((minDays, index) => ({\n date: dateFormat(index > 0 ? dateCalc(date, index) : date, { format }),\n minDays,\n }))\n .filter(({ minDays } = {}) => minDays > 1)\n .map(({ date, minDays } = {}) => [date, minDays]),\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,GAAG,SAAAA,CAAA,EAA4D;EAAA,IAA3D;IAAEC,QAAQ,EAAE;MAAEC,QAAQ,GAAG,EAAE;MAAEC;IAAY,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACpF,MAAMG,IAAI,GAAG,IAAAC,iBAAS,EAACL,WAAW,CAAC;EAEnC,OAAOM,MAAM,CAACC,WAAW,CACvBR,QAAQ,CACLS,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,MAAM;IACxBN,IAAI,EAAE,IAAAO,kBAAU,EAACD,KAAK,GAAG,CAAC,GAAG,IAAAE,gBAAQ,EAACR,IAAI,EAAEM,KAAK,CAAC,GAAGN,IAAI,EAAE;MAAES,MAAM,EAANA;IAAO,CAAC,CAAC;IACtEJ;EACF,CAAC,CAAC,CAAC,CACFK,MAAM,CAAC;IAAA,IAAC;MAAEL;IAAQ,CAAC,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKQ,OAAO,GAAG,CAAC;EAAA,EAAC,CACzCD,GAAG,CAAC;IAAA,IAAC;MAAEJ,IAAI;MAAEK;IAAQ,CAAC,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAACG,IAAI,EAAEK,OAAO,CAAC;EAAA,EACpD,CAAC;AACH,CAAC;AAACM,OAAA,CAAAlB,eAAA,GAAAA,eAAA"}
|
|
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getOccupationSuggestions = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _compareSuggestions = require("./compareSuggestions");
|
|
8
|
+
var _getRooms = require("./getRooms");
|
|
8
9
|
var _shared__ = require("../../../components/__shared__");
|
|
9
10
|
const {
|
|
10
11
|
ADULT,
|
|
@@ -13,15 +14,11 @@ const {
|
|
|
13
14
|
} = _shared__.TYPE_OCCUPATION;
|
|
14
15
|
const getOccupationSuggestions = _ref => {
|
|
15
16
|
let {
|
|
16
|
-
currency,
|
|
17
|
-
fees,
|
|
18
|
-
hotelCurrency,
|
|
19
17
|
infantAge,
|
|
20
18
|
occupation = [],
|
|
21
|
-
|
|
22
|
-
taxes
|
|
19
|
+
...others
|
|
23
20
|
} = _ref;
|
|
24
|
-
const
|
|
21
|
+
const isGuest = occupation.flat().some(function () {
|
|
25
22
|
let {
|
|
26
23
|
type
|
|
27
24
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -60,42 +57,7 @@ const getOccupationSuggestions = _ref => {
|
|
|
60
57
|
ages: []
|
|
61
58
|
});
|
|
62
59
|
const ageBaby = agesChildren.find(age => age < infantAge);
|
|
63
|
-
const rooms =
|
|
64
|
-
let {
|
|
65
|
-
amountAvailable: availability,
|
|
66
|
-
occupationOptions
|
|
67
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
68
|
-
return Object.values(occupationOptions).map(function () {
|
|
69
|
-
var _parseBoards, _parseBoards$boards, _parseBoards$boards$;
|
|
70
|
-
let {
|
|
71
|
-
idWithBaby: id,
|
|
72
|
-
occupationQuantities: {
|
|
73
|
-
numAdults,
|
|
74
|
-
numBabies,
|
|
75
|
-
totalChildren
|
|
76
|
-
} = {},
|
|
77
|
-
rates
|
|
78
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
79
|
-
return {
|
|
80
|
-
availability,
|
|
81
|
-
id,
|
|
82
|
-
adults: numAdults,
|
|
83
|
-
babies: numBabies,
|
|
84
|
-
children: totalChildren,
|
|
85
|
-
price: (_parseBoards = (0, _parseBoards2.parseBoards)({
|
|
86
|
-
currency,
|
|
87
|
-
fees,
|
|
88
|
-
hotelCurrency,
|
|
89
|
-
rates,
|
|
90
|
-
taxes
|
|
91
|
-
})) === null || _parseBoards === void 0 ? void 0 : (_parseBoards$boards = _parseBoards.boards) === null || _parseBoards$boards === void 0 ? void 0 : (_parseBoards$boards$ = _parseBoards$boards[0]) === null || _parseBoards$boards$ === void 0 ? void 0 : _parseBoards$boards$.price
|
|
92
|
-
};
|
|
93
|
-
});
|
|
94
|
-
}).sort((a, b) => a.price - b.price).reduce((result, current) => {
|
|
95
|
-
const key = "".concat(current.adults, "-").concat(current.babies, "-").concat(current.children);
|
|
96
|
-
if (!result[key]) result[key] = current;
|
|
97
|
-
return result;
|
|
98
|
-
}, {}));
|
|
60
|
+
const rooms = (0, _getRooms.getRooms)(others);
|
|
99
61
|
const suggestions = [];
|
|
100
62
|
const search = _ref2 => {
|
|
101
63
|
let {
|
|
@@ -107,7 +69,10 @@ const getOccupationSuggestions = _ref => {
|
|
|
107
69
|
startIndex = 0,
|
|
108
70
|
suggestion = []
|
|
109
71
|
} = _ref2;
|
|
110
|
-
if (adults === 0 && children === 0 && babies === 0 && availability >= 0)
|
|
72
|
+
if (adults === 0 && children === 0 && babies === 0 && availability >= 0 && !(0, _compareSuggestions.compareSuggestions)({
|
|
73
|
+
suggestion,
|
|
74
|
+
suggestions
|
|
75
|
+
})) {
|
|
111
76
|
const initAges = [...agesChildren].filter(age => age !== ageBaby);
|
|
112
77
|
suggestions.push({
|
|
113
78
|
occupation: suggestion.map(function () {
|
|
@@ -121,7 +86,7 @@ const getOccupationSuggestions = _ref => {
|
|
|
121
86
|
occupation.push({
|
|
122
87
|
ages: Array(adults).fill(undefined),
|
|
123
88
|
amount: adults,
|
|
124
|
-
type:
|
|
89
|
+
type: isGuest ? GUEST : ADULT
|
|
125
90
|
});
|
|
126
91
|
}
|
|
127
92
|
const ages = Array(children).fill(undefined).map(() => initAges.pop());
|
|
@@ -138,7 +103,8 @@ const getOccupationSuggestions = _ref => {
|
|
|
138
103
|
price
|
|
139
104
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
140
105
|
return total + price;
|
|
141
|
-
}, 0)
|
|
106
|
+
}, 0),
|
|
107
|
+
suggestion
|
|
142
108
|
});
|
|
143
109
|
return;
|
|
144
110
|
}
|
|
@@ -177,7 +143,16 @@ const getOccupationSuggestions = _ref => {
|
|
|
177
143
|
rooms
|
|
178
144
|
});
|
|
179
145
|
}
|
|
180
|
-
return suggestions
|
|
146
|
+
return suggestions.map(function () {
|
|
147
|
+
let {
|
|
148
|
+
occupation,
|
|
149
|
+
price
|
|
150
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
151
|
+
return {
|
|
152
|
+
occupation,
|
|
153
|
+
price
|
|
154
|
+
};
|
|
155
|
+
}).sort((a, b) => a.price - b.price);
|
|
181
156
|
};
|
|
182
157
|
exports.getOccupationSuggestions = getOccupationSuggestions;
|
|
183
158
|
//# sourceMappingURL=getOccupationSuggestions.js.map
|