@mirai/core 0.4.87 → 0.4.89
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.
|
@@ -81,6 +81,15 @@ const Finder = _ref => {
|
|
|
81
81
|
occupation: [(0, _prepareRoom.prepareRoom)(_Occupation.DATASOURCE)]
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
|
+
if (is.debug && !(storeFinder !== null && storeFinder !== void 0 && storeFinder.occupation)) {
|
|
85
|
+
// eslint-disable-next-line no-console
|
|
86
|
+
console.log({
|
|
87
|
+
finder: {
|
|
88
|
+
...storeFinder,
|
|
89
|
+
occupation: [(0, _prepareRoom.prepareRoom)(_Occupation.DATASOURCE)]
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
84
93
|
window.addEventListener('pageshow', handlePageShow);
|
|
85
94
|
!isMobile && document.addEventListener('click', handleClickOutside, true);
|
|
86
95
|
if (metrics === 'finder') _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
@@ -197,7 +206,7 @@ const Finder = _ref => {
|
|
|
197
206
|
!is.rates && assistant();
|
|
198
207
|
};
|
|
199
208
|
const handleSubmit = function () {
|
|
200
|
-
var _value$calendar;
|
|
209
|
+
var _value$calendar, _nextValue;
|
|
201
210
|
let {
|
|
202
211
|
nextValue = value
|
|
203
212
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -207,6 +216,14 @@ const Finder = _ref => {
|
|
|
207
216
|
if (firstError) return setFocus(firstError);
|
|
208
217
|
setWarning(false);
|
|
209
218
|
setFocus(undefined);
|
|
219
|
+
if (!((_nextValue = nextValue) !== null && _nextValue !== void 0 && _nextValue.occupation)) {
|
|
220
|
+
// eslint-disable-next-line no-console
|
|
221
|
+
console.log('>>>> No occupation');
|
|
222
|
+
nextValue = {
|
|
223
|
+
...nextValue,
|
|
224
|
+
occupation: [(0, _prepareRoom.prepareRoom)(_Occupation.DATASOURCE)]
|
|
225
|
+
};
|
|
226
|
+
}
|
|
210
227
|
set({
|
|
211
228
|
finder: nextValue
|
|
212
229
|
});
|
|
@@ -257,6 +274,7 @@ const Finder = _ref => {
|
|
|
257
274
|
const is = {
|
|
258
275
|
column: layout === 'column',
|
|
259
276
|
compacted: layout !== 'column' && (isMobile || compacted && !focus),
|
|
277
|
+
debug: (store === null || store === void 0 ? void 0 : store.id) === '500138',
|
|
260
278
|
rates: components.rates !== undefined
|
|
261
279
|
};
|
|
262
280
|
const fieldProps = {
|
|
@@ -270,6 +288,12 @@ const Finder = _ref => {
|
|
|
270
288
|
width
|
|
271
289
|
} : undefined
|
|
272
290
|
};
|
|
291
|
+
// eslint-disable-next-line no-console
|
|
292
|
+
is.debug && console.log({
|
|
293
|
+
place,
|
|
294
|
+
calendar,
|
|
295
|
+
occupation
|
|
296
|
+
});
|
|
273
297
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, is.compacted && /*#__PURE__*/_react.default.createElement(_Finder.Compact, _extends({
|
|
274
298
|
value,
|
|
275
299
|
dataSource,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_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","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","FINDER_READY","event","handleFinder","calendar","undefined","handleSubmit","nextValue","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","FINDER_FIELD_CHANGE","previousValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","is","rates","assistant","_value$calendar","dataSource","places","CALENDAR","firstError","keys","filter","forwarderUrl","getForwarderUrl","setStorage","href","includes","promocode","ids","getDataSource","hotel","idHotel","column","fieldProps","hasPlaces","getFieldPosition","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","variants","rangeMinDays","top","nextCalendar","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics = 'finder',\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics === 'finder') Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n !onSubmit && !skeleton && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: layout === 'column',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline,\n ...(!is.compacted ? getFieldPosition(ref) : undefined),\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_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","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","is","debug","console","log","window","addEventListener","handlePageShow","document","handleClickOutside","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","FINDER_READY","event","handleFinder","calendar","undefined","handleSubmit","nextValue","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","FINDER_FIELD_CHANGE","previousValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","rates","assistant","_value$calendar","_nextValue","dataSource","places","CALENDAR","firstError","keys","filter","forwarderUrl","getForwarderUrl","setStorage","href","includes","promocode","ids","getDataSource","hotel","idHotel","column","fieldProps","hasPlaces","getFieldPosition","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","variants","rangeMinDays","top","nextCalendar","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics = 'finder',\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n if (is.debug && !storeFinder?.occupation) {\n // eslint-disable-next-line no-console\n console.log({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n }\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics === 'finder') Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n !onSubmit && !skeleton && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n if (!nextValue?.occupation) {\n // eslint-disable-next-line no-console\n console.log('>>>> No occupation');\n nextValue = { ...nextValue, occupation: [prepareRoom(DATASOURCE)] };\n }\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: layout === 'column',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n debug: store?.id === '500138',\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline,\n ...(!is.compacted ? getFieldPosition(ref) : undefined),\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n // eslint-disable-next-line no-console\n is.debug && console.log({ place, calendar, occupation });\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ var _toOccupation = require("./toOccupation");
|
|
|
17
17
|
var _Core = require("../Core.constants");
|
|
18
18
|
var _process, _process$env;
|
|
19
19
|
const IS_JEST = !!((_process = process) !== null && _process !== void 0 && (_process$env = _process.env) !== null && _process$env !== void 0 && _process$env.JEST_WORKER_ID);
|
|
20
|
+
const HOTELS_TEST_AB = ['501764', '100131215', '100169479', '100379657', '100375988', '10406219', '100379658', '100379659', '100379660'];
|
|
20
21
|
|
|
21
22
|
/* eslint-disable no-unused-vars */
|
|
22
23
|
const consolidateStore = async function () {
|
|
@@ -312,7 +313,7 @@ const consolidateStore = async function () {
|
|
|
312
313
|
promo,
|
|
313
314
|
session,
|
|
314
315
|
tags,
|
|
315
|
-
variant: IS_JEST ? undefined : urlParams.variant ? urlParams.variant : id
|
|
316
|
+
variant: IS_JEST ? undefined : urlParams.variant ? urlParams.variant : !HOTELS_TEST_AB.includes(id) || Math.random() < 0.5 ? 'A' : 'B',
|
|
316
317
|
// -- components
|
|
317
318
|
checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,
|
|
318
319
|
deals: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","club","active","banner","discount","discountEnabled","rates","variants","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","applyClubDiscount","idtokenprovider","idHotel","CHAIN","variantDiscount","variantRates","find","toString","url","filter","map","enabled","accommodationType","getAccommodationType","lodgingDenomination","features","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","Object","entries","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","parseDate","UTC","checkout","parseInt","promo","showPromoNav","configPromo","promoText","place","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","reduce","_ref2","props","performance","getPerformance","variant","Math","random","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- club -----------------------------------------------------------------------------------------------------------\n let club;\n const { club: { active } = {} } = config?.club || {};\n if (active) {\n let {\n accomodation: { club: { banner, discount: discountEnabled = false, rates = false } = {}, variants = [] },\n club: {\n club: { authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n\n let { applyClubDiscount, idtokenprovider: idHotel = '' } = urlParams;\n let discount = applyClubDiscount ? applyClubDiscount === 'true' : undefined;\n\n if (discount === undefined) {\n discount = rates;\n if (type === TYPE.CHAIN) {\n let { discount: variantDiscount, rates: variantRates } =\n variants.find(({ id = '' } = {}) => id.toString() === idHotel.toString()) || {};\n discountEnabled = variantDiscount || discountEnabled;\n discount = variantRates || rates;\n }\n }\n\n club = {\n active,\n authentication,\n banner,\n discount: active && discountEnabled ? discount : undefined,\n id,\n name,\n url: { conditions, privacy },\n variants: variants\n .filter(({ club } = {}) => club)\n .map(({ club: { discount: enabled, rates: active } = {}, id } = {}) => ({ active, enabled, id })),\n };\n }\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation || undefined,\n promocode: clientCode || promo?.code || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club,\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant: IS_JEST\n ? undefined\n : urlParams.variant\n ? urlParams.variant\n : id !== '501764' || Math.random() < 0.5\n ? 'A'\n : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined, // ! TODO: Rename to chat\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","HOTELS_TEST_AB","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","club","active","banner","discount","discountEnabled","rates","variants","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","applyClubDiscount","idtokenprovider","idHotel","CHAIN","variantDiscount","variantRates","find","toString","url","filter","map","enabled","accommodationType","getAccommodationType","lodgingDenomination","features","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","Object","entries","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","parseDate","UTC","checkout","parseInt","promo","showPromoNav","configPromo","promoText","place","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","reduce","_ref2","props","performance","getPerformance","variant","Math","random","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\nconst HOTELS_TEST_AB = [\n '501764',\n '100131215',\n '100169479',\n '100379657',\n '100375988',\n '10406219',\n '100379658',\n '100379659',\n '100379660',\n];\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- club -----------------------------------------------------------------------------------------------------------\n let club;\n const { club: { active } = {} } = config?.club || {};\n if (active) {\n let {\n accomodation: { club: { banner, discount: discountEnabled = false, rates = false } = {}, variants = [] },\n club: {\n club: { authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n\n let { applyClubDiscount, idtokenprovider: idHotel = '' } = urlParams;\n let discount = applyClubDiscount ? applyClubDiscount === 'true' : undefined;\n\n if (discount === undefined) {\n discount = rates;\n if (type === TYPE.CHAIN) {\n let { discount: variantDiscount, rates: variantRates } =\n variants.find(({ id = '' } = {}) => id.toString() === idHotel.toString()) || {};\n discountEnabled = variantDiscount || discountEnabled;\n discount = variantRates || rates;\n }\n }\n\n club = {\n active,\n authentication,\n banner,\n discount: active && discountEnabled ? discount : undefined,\n id,\n name,\n url: { conditions, privacy },\n variants: variants\n .filter(({ club } = {}) => club)\n .map(({ club: { discount: enabled, rates: active } = {}, id } = {}) => ({ active, enabled, id })),\n };\n }\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation || undefined,\n promocode: clientCode || promo?.code || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club,\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant: IS_JEST\n ? undefined\n : urlParams.variant\n ? urlParams.variant\n : !HOTELS_TEST_AB.includes(id) || Math.random() < 0.5\n ? 'A'\n : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined, // ! TODO: Rename to chat\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|