@mirai/core 0.3.366 → 0.3.367
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.
|
@@ -57,32 +57,32 @@ const Deals = _ref => {
|
|
|
57
57
|
const [visited, setVisited] = (0, _react.useState)({});
|
|
58
58
|
(0, _react.useEffect)(() => {
|
|
59
59
|
if (isMobile) return;
|
|
60
|
-
const handleClickOutside =
|
|
60
|
+
const handleClickOutside = function () {
|
|
61
61
|
var _ref$current;
|
|
62
62
|
let {
|
|
63
63
|
target
|
|
64
|
-
} =
|
|
64
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
65
65
|
return !((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(target)) && target.type !== 'text' && setVisible();
|
|
66
66
|
};
|
|
67
|
+
const handlePageShow = async function () {
|
|
68
|
+
let {
|
|
69
|
+
persisted
|
|
70
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
71
|
+
if (!persisted) return;
|
|
72
|
+
setBusy(false);
|
|
73
|
+
handleClear();
|
|
74
|
+
setDataSource(await getDataSource());
|
|
75
|
+
};
|
|
67
76
|
document.addEventListener('click', handleClickOutside, true);
|
|
77
|
+
window.addEventListener('pageshow', handlePageShow);
|
|
68
78
|
return () => {
|
|
69
|
-
setBusy(false);
|
|
70
79
|
document.removeEventListener('click', handleClickOutside, true);
|
|
80
|
+
window.removeEventListener('pageshow', handlePageShow);
|
|
71
81
|
};
|
|
72
82
|
}, []);
|
|
73
83
|
(0, _react.useEffect)(() => {
|
|
74
84
|
if (skeleton) return;
|
|
75
|
-
(async () => setDataSource(await
|
|
76
|
-
...store,
|
|
77
|
-
currency: (0, _helpers.getCurrency)({
|
|
78
|
-
cookies,
|
|
79
|
-
currency,
|
|
80
|
-
urlParams
|
|
81
|
-
}),
|
|
82
|
-
hotel,
|
|
83
|
-
locale,
|
|
84
|
-
offerId
|
|
85
|
-
}).catch(() => {})))();
|
|
85
|
+
(async () => setDataSource(await getDataSource()))();
|
|
86
86
|
}, [currency, locale]);
|
|
87
87
|
(0, _react.useEffect)(() => {
|
|
88
88
|
const {
|
|
@@ -143,6 +143,17 @@ const Deals = _ref => {
|
|
|
143
143
|
window.location.href = "".concat(process.env.SERVICE_BOOKING, "/").concat(_Deals2.REDIRECT_PATH).concat((0, _helpers2.toQueryString)(params));
|
|
144
144
|
setBusy(true);
|
|
145
145
|
};
|
|
146
|
+
const getDataSource = () => _services.ServiceDeals.get({
|
|
147
|
+
...store,
|
|
148
|
+
currency: (0, _helpers.getCurrency)({
|
|
149
|
+
cookies,
|
|
150
|
+
currency,
|
|
151
|
+
urlParams
|
|
152
|
+
}),
|
|
153
|
+
hotel,
|
|
154
|
+
locale,
|
|
155
|
+
offerId
|
|
156
|
+
}).catch(() => {});
|
|
146
157
|
const {
|
|
147
158
|
className,
|
|
148
159
|
testId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_helpers","_prepareRoom","_shared__","_toParties","_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","Deals","_ref","id","offerId","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","useEffect","handleClickOutside","_ref2","_ref$current","current","contains","type","document","addEventListener","removeEventListener","ServiceDeals","getCurrency","catch","occupation","minRooms","handleChange","Array","map","prepareRoom","concat","field","fieldValue","handleClear","undefined","handleSubmit","calendar","promoCode","params","idoffers","idtokenprovider","lang","checkin","dateFormat","format","nights","dateDiff","days","clientCode","parties","window","btoa","JSON","stringify","toParties","hsri","commissionCode","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","className","testId","isValid","validate","createElement","View","role","styles","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","FIELD","CALENDAR","onChange","event","extras","FieldOccupation","hideLabel","hotels","OCCUPATION","onError","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","disabled","large","wide","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals } from '@mirai/services';\nimport { Button, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar } from './Deals.Calendar';\nimport { FIELD, REDIRECT_PATH } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport { getCurrency, validate } from './helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { FieldOccupation, FieldPromocode } from '../__shared__';\nimport { toParties } from '../__shared__/Occupation/helpers/toParties';\nimport { ICON, toQueryString } from '../helpers';\n\nconst Deals = ({ id: offerId, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (isMobile) return;\n\n const handleClickOutside = ({ target }) => !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n document.addEventListener('click', handleClickOutside, true);\n\n return () => {\n setBusy(false);\n document.removeEventListener('click', handleClickOutside, true);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () =>\n setDataSource(\n await ServiceDeals.get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n }).catch(() => {}),\n ))();\n }, [currency, locale]);\n\n useEffect(() => {\n const { occupation: { minRooms = 1, dataSource: occupation = [] } = {} } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() => prepareRoom(occupation)),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n set({ deals: { ...value, [field]: fieldValue } });\n };\n\n const handleClear = () => {\n set({ deals: undefined });\n setError({});\n setVisited(false);\n };\n\n const handleSubmit = () => {\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n idoffers: offerId,\n idtokenprovider: hotel.id,\n lang: language,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n nights: dateDiff(calendar[0], calendar[1]).days,\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n hsri: origin.commissionCode,\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const { className, testId } = others;\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return (\n <View role=\"deals\" testId={others.testId} className={styles(style.deals, className)}>\n <View row className={style.header}>\n <Text bold headline level={isMobile ? 3 : 2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => {\n if (!isMobile && visible !== FIELD.OCCUPATION) setVisible(FIELD.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n disabled={!isValid}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n );\n};\n\nDeals.displayName = 'Mirai:Core:Deals';\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_helpers","_prepareRoom","_shared__","_toParties","_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","Deals","_ref","id","offerId","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","useEffect","handleClickOutside","_ref$current","undefined","current","contains","type","handlePageShow","persisted","handleClear","getDataSource","document","addEventListener","window","removeEventListener","occupation","minRooms","handleChange","Array","map","prepareRoom","concat","field","fieldValue","handleSubmit","calendar","promoCode","params","idoffers","idtokenprovider","lang","checkin","dateFormat","format","nights","dateDiff","days","clientCode","getCurrency","parties","btoa","JSON","stringify","toParties","hsri","commissionCode","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","catch","className","testId","isValid","validate","createElement","View","role","styles","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","FIELD","CALENDAR","onChange","event","extras","FieldOccupation","hideLabel","hotels","OCCUPATION","onError","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","disabled","large","wide","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals } from '@mirai/services';\nimport { Button, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar } from './Deals.Calendar';\nimport { FIELD, REDIRECT_PATH } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport { getCurrency, validate } from './helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { FieldOccupation, FieldPromocode } from '../__shared__';\nimport { toParties } from '../__shared__/Occupation/helpers/toParties';\nimport { ICON, toQueryString } from '../helpers';\n\nconst Deals = ({ id: offerId, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n document.addEventListener('click', handleClickOutside, true);\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const { occupation: { minRooms = 1, dataSource: occupation = [] } = {} } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() => prepareRoom(occupation)),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n set({ deals: { ...value, [field]: fieldValue } });\n };\n\n const handleClear = () => {\n set({ deals: undefined });\n setError({});\n setVisited(false);\n };\n\n const handleSubmit = () => {\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n idoffers: offerId,\n idtokenprovider: hotel.id,\n lang: language,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n nights: dateDiff(calendar[0], calendar[1]).days,\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n hsri: origin.commissionCode,\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n ServiceDeals.get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n }).catch(() => {});\n\n const { className, testId } = others;\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return (\n <View role=\"deals\" testId={others.testId} className={styles(style.deals, className)}>\n <View row className={style.header}>\n <Text bold headline level={isMobile ? 3 : 2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => {\n if (!isMobile && visible !== FIELD.OCCUPATION) setVisible(FIELD.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n disabled={!isValid}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n );\n};\n\nDeals.displayName = 'Mirai:Core:Deals';\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -116,7 +116,4 @@ window.Mirai.core = async () => {
|
|
|
116
116
|
};
|
|
117
117
|
window.Mirai.core();
|
|
118
118
|
window.Mirai.ready = true;
|
|
119
|
-
if (window.Mirai.environment === 'production') {
|
|
120
|
-
window.addEventListener('pageshow', event => event.persisted && window.Mirai.core());
|
|
121
|
-
}
|
|
122
119
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_EventManager","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","console","log","concat","name","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","COOKIE_CART","COOKIE_PESTANA","COOKIE_VALUES","session","fetchSession","loadEnvironment","instance","findInstance","findComponents","length","theme","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","getLocale","Core","skeleton","el","fetchConfig","Sentry","SENTRY","loadSentry","checkSession","setUser","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","EventManager","ready"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_EventManager","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","console","log","concat","name","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","COOKIE_CART","COOKIE_PESTANA","COOKIE_VALUES","session","fetchSession","loadEnvironment","instance","findInstance","findComponents","length","theme","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","getLocale","Core","skeleton","el","fetchConfig","Sentry","SENTRY","loadSentry","checkSession","setUser","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","EventManager","ready"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { EventManager } from './components/EventManager';\nimport { Core } from './Core';\nimport { COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES } from './Core.definition';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\nimport { name, version } from '../package.json';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n\n console.log(\n `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version} [${\n process.env.NODE_ENV\n }]`,\n );\n\n // 1. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies([COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES]);\n let session = fetchSession(urlParams);\n\n // 2. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 3. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 4. Find components\n const components = findComponents();\n if (!components.length) return;\n window.Mirai = { ...window.Mirai, components };\n\n // 5. Theming\n theme(urlParams);\n\n // 6. 1st render\n window &&\n ReactDOM.render(\n <React.StrictMode>\n <StoreProvider value={{ id: instance.id, session, urlParams, ...getLocale(instance, urlParams) }}>\n <Core {...{ components }} skeleton />\n </StoreProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 7. Analize id to fetch its config\n const config = await fetchConfig(instance);\n if (!config) return;\n window.Mirai.config = config;\n\n // 8. Sentry\n let Sentry = window.Mirai.Sentry;\n if (!Sentry && process.env.SENTRY) {\n Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n }\n\n // 9. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n if (session && Sentry) Sentry.setUser(session);\n\n // 10. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 11. Initialize features\n await ServiceFeatures.initialize();\n\n // 12. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 13. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={process.env.METRICS}>\n <StoreProvider value={store}>\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n};\n\nwindow.Mirai.core();\n\nwindow.Mirai.ready = true;\n"],"mappings":"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"}
|