@mirai/core 0.4.345 → 0.4.346
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 +6 -1
- package/build/Core.constants.js.map +1 -1
- package/build/components/CookieBanner/CookieBanner.js +12 -3
- package/build/components/CookieBanner/CookieBanner.js.map +1 -1
- package/build/helpers/consolidateStore.js +18 -2
- package/build/helpers/consolidateStore.js.map +1 -1
- package/package.json +1 -1
package/build/Core.constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VALIDATE_ERROR = exports.TYPE_COMMISSION = exports.TYPE = exports.TRACKING = exports.TAX_DEFAULT = exports.TAXES_TYPE = exports.TAXES = exports.REDIRECT_PATH = exports.PERFORMANCE = exports.MIN_STAY_TYPE = exports.FINDER_STORAGE_KEY = exports.EVENT = exports.ERROR = exports.COOKIE = exports.CALENDAR_FORMAT = exports.AUTH_TYPE = exports.ACCOMMODATION_TYPE = void 0;
|
|
6
|
+
exports.VALIDATE_ERROR = exports.TYPE_COMMISSION = exports.TYPE = exports.TRACKING = exports.TAX_DEFAULT = exports.TAXES_TYPE = exports.TAXES = exports.REDIRECT_PATH = exports.PERFORMANCE = exports.MIN_STAY_TYPE = exports.FINDER_STORAGE_KEY = exports.EVENT = exports.ERROR = exports.COOKIE = exports.COMPONENTS = exports.CALENDAR_FORMAT = exports.AUTH_TYPE = exports.ACCOMMODATION_TYPE = void 0;
|
|
7
7
|
const ACCOMMODATION_TYPE = exports.ACCOMMODATION_TYPE = {
|
|
8
8
|
DEFAULT: 0,
|
|
9
9
|
ROOM: 1,
|
|
@@ -18,6 +18,11 @@ const AUTH_TYPE = exports.AUTH_TYPE = {
|
|
|
18
18
|
SENATOR: 2
|
|
19
19
|
};
|
|
20
20
|
const CALENDAR_FORMAT = exports.CALENDAR_FORMAT = 'DD/MM/YYYY';
|
|
21
|
+
const COMPONENTS = exports.COMPONENTS = {
|
|
22
|
+
RATES: 'rates',
|
|
23
|
+
CHECKOUT: 'checkout',
|
|
24
|
+
BOOKING: 'booking'
|
|
25
|
+
};
|
|
21
26
|
const COOKIE = exports.COOKIE = {
|
|
22
27
|
CART: 'CART_COOKIE',
|
|
23
28
|
PESTANA_OLD: '_jwt',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","SENATOR","CALENDAR_FORMAT","COOKIE","CART","PESTANA_OLD","VALUES","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","EVENT","CORE_READY","CORE_EVENTS_READY","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","TYPE_COMMISSION","FINDER_STORAGE_KEY","MIN_STAY_TYPE","CHECK_IN","STAY","PERFORMANCE","ANALYTICS","GOOGLE_ADS","GTM","FACEBOOK","THE_HOTEL_NETWORK","AFFILIRED","BING","COMPARE","REDIRECT_PATH","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TRACKING","adwordsTracking","affiliredTracking","analyticsTracking","bingTracking","compareTracking","facebookTracking","gtmTracking","miraiTracking","thnTracking","VALIDATE_ERROR","PRICE_CHANGED","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","EXTRA_CHANGED","URL_GENERIC"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n SENATOR: 2,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst COOKIE = {\n CART: 'CART_COOKIE',\n PESTANA_OLD: '_jwt',\n PESTANA: 'pestana-login-token',\n VALUES: 'BOOKING_VALUES',\n};\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst EVENT = {\n CORE_READY: 'core:ready',\n CORE_EVENTS_READY: 'core:events:ready',\n};\n\nconst TYPE = {\n CHAIN: 'chain',\n HOTEL: 'hotel',\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst TYPE_COMMISSION = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst FINDER_STORAGE_KEY = 'MIRAI:FINDER';\n\nconst MIN_STAY_TYPE = {\n CHECK_IN: 1,\n STAY: 2,\n};\n\nconst PERFORMANCE = {\n ANALYTICS: 1,\n GOOGLE_ADS: 2,\n GTM: 3,\n MIRAI: 4,\n FACEBOOK: 5,\n THE_HOTEL_NETWORK: 6,\n AFFILIRED: 7,\n BING: 8,\n COMPARE: 9,\n};\n\nconst REDIRECT_PATH = 'miraiFrontDispatcher.htm';\n\nconst TAX_DEFAULT = 1;\n\nconst TAX_FREE = 2;\n\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nconst TRACKING = {\n adwordsTracking: PERFORMANCE.GOOGLE_ADS,\n affiliredTracking: PERFORMANCE.AFFILIRED,\n analyticsTracking: PERFORMANCE.ANALYTICS,\n bingTracking: PERFORMANCE.BING,\n compareTracking: PERFORMANCE.COMPARE,\n facebookTracking: PERFORMANCE.FACEBOOK,\n gtmTracking: PERFORMANCE.GTM,\n miraiTracking: PERFORMANCE.MIRAI,\n thnTracking: PERFORMANCE.THE_HOTEL_NETWORK,\n};\n\nconst VALIDATE_ERROR = {\n PRICE_CHANGED: 1,\n NOT_ENOUGH_ROOMS: 2,\n NOT_ENOUGH_ROOMS_FOR_OFFER: 3,\n NO_SELECTED_ROOMS: 4,\n EXTRA_CHANGED: 5,\n URL_GENERIC: 6,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COOKIE,\n ERROR,\n EVENT,\n FINDER_STORAGE_KEY,\n MIN_STAY_TYPE,\n PERFORMANCE,\n REDIRECT_PATH,\n TAX_DEFAULT,\n TAXES_TYPE,\n TAXES,\n TRACKING,\n TYPE_COMMISSION,\n TYPE,\n VALIDATE_ERROR,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;EACZC,KAAK,EAAE,CAAC;EACRC,aAAa,EAAE,CAAC;EAChBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,SAAS,GAAAP,OAAA,CAAAO,SAAA,GAAG;EAChBC,KAAK,EAAE,CAAC;EACRC,OAAO,EAAE,CAAC;EACVC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,eAAe,GAAAX,OAAA,CAAAW,eAAA,GAAG,YAAY;AAEpC,MAAMC,
|
|
1
|
+
{"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","SENATOR","CALENDAR_FORMAT","COMPONENTS","RATES","CHECKOUT","BOOKING","COOKIE","CART","PESTANA_OLD","VALUES","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","EVENT","CORE_READY","CORE_EVENTS_READY","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","TYPE_COMMISSION","FINDER_STORAGE_KEY","MIN_STAY_TYPE","CHECK_IN","STAY","PERFORMANCE","ANALYTICS","GOOGLE_ADS","GTM","FACEBOOK","THE_HOTEL_NETWORK","AFFILIRED","BING","COMPARE","REDIRECT_PATH","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TRACKING","adwordsTracking","affiliredTracking","analyticsTracking","bingTracking","compareTracking","facebookTracking","gtmTracking","miraiTracking","thnTracking","VALIDATE_ERROR","PRICE_CHANGED","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","EXTRA_CHANGED","URL_GENERIC"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n SENATOR: 2,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst COMPONENTS = {\n RATES: 'rates',\n CHECKOUT: 'checkout',\n BOOKING: 'booking',\n};\n\nconst COOKIE = {\n CART: 'CART_COOKIE',\n PESTANA_OLD: '_jwt',\n PESTANA: 'pestana-login-token',\n VALUES: 'BOOKING_VALUES',\n};\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst EVENT = {\n CORE_READY: 'core:ready',\n CORE_EVENTS_READY: 'core:events:ready',\n};\n\nconst TYPE = {\n CHAIN: 'chain',\n HOTEL: 'hotel',\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst TYPE_COMMISSION = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst FINDER_STORAGE_KEY = 'MIRAI:FINDER';\n\nconst MIN_STAY_TYPE = {\n CHECK_IN: 1,\n STAY: 2,\n};\n\nconst PERFORMANCE = {\n ANALYTICS: 1,\n GOOGLE_ADS: 2,\n GTM: 3,\n MIRAI: 4,\n FACEBOOK: 5,\n THE_HOTEL_NETWORK: 6,\n AFFILIRED: 7,\n BING: 8,\n COMPARE: 9,\n};\n\nconst REDIRECT_PATH = 'miraiFrontDispatcher.htm';\n\nconst TAX_DEFAULT = 1;\n\nconst TAX_FREE = 2;\n\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nconst TRACKING = {\n adwordsTracking: PERFORMANCE.GOOGLE_ADS,\n affiliredTracking: PERFORMANCE.AFFILIRED,\n analyticsTracking: PERFORMANCE.ANALYTICS,\n bingTracking: PERFORMANCE.BING,\n compareTracking: PERFORMANCE.COMPARE,\n facebookTracking: PERFORMANCE.FACEBOOK,\n gtmTracking: PERFORMANCE.GTM,\n miraiTracking: PERFORMANCE.MIRAI,\n thnTracking: PERFORMANCE.THE_HOTEL_NETWORK,\n};\n\nconst VALIDATE_ERROR = {\n PRICE_CHANGED: 1,\n NOT_ENOUGH_ROOMS: 2,\n NOT_ENOUGH_ROOMS_FOR_OFFER: 3,\n NO_SELECTED_ROOMS: 4,\n EXTRA_CHANGED: 5,\n URL_GENERIC: 6,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COMPONENTS,\n COOKIE,\n ERROR,\n EVENT,\n FINDER_STORAGE_KEY,\n MIN_STAY_TYPE,\n PERFORMANCE,\n REDIRECT_PATH,\n TAX_DEFAULT,\n TAXES_TYPE,\n TAXES,\n TRACKING,\n TYPE_COMMISSION,\n TYPE,\n VALIDATE_ERROR,\n};\n"],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
18
18
|
const storage = new _dataSources.Storage({
|
|
19
19
|
adapter: _dataSources.LocalAdapter
|
|
20
20
|
});
|
|
21
|
+
function gtag() {
|
|
22
|
+
window.dataLayer = window.dataLayer || [];
|
|
23
|
+
window.dataLayer.push(arguments);
|
|
24
|
+
}
|
|
21
25
|
const CookieBanner = () => {
|
|
22
26
|
const {
|
|
23
27
|
isMobile
|
|
@@ -31,6 +35,12 @@ const CookieBanner = () => {
|
|
|
31
35
|
const [settingsAccepted, setSettingsAccepted] = (0, _react.useState)(false);
|
|
32
36
|
const [visible, setVisible] = (0, _react.useState)();
|
|
33
37
|
(0, _react.useEffect)(() => {
|
|
38
|
+
gtag('consent', 'default', {
|
|
39
|
+
ad_storage: _CookieBanner.DENIED,
|
|
40
|
+
ad_user_data: _CookieBanner.DENIED,
|
|
41
|
+
ad_personalization: _CookieBanner.DENIED,
|
|
42
|
+
analytics_storage: _CookieBanner.DENIED
|
|
43
|
+
});
|
|
34
44
|
const value = storage.get(_CookieBanner.KEY_COOKIES_ACCEPTED) || localStorage.getItem(_CookieBanner.KEY_COOKIES_ACCEPTED_LEGACY) || (0, _helpers.getExternalCookie)();
|
|
35
45
|
if (value) {
|
|
36
46
|
setAccepted(value === _CookieBanner.GRANTED);
|
|
@@ -41,13 +51,12 @@ const CookieBanner = () => {
|
|
|
41
51
|
(0, _react.useEffect)(() => {
|
|
42
52
|
if (accepted === undefined) return;
|
|
43
53
|
const status = accepted ? _CookieBanner.GRANTED : _CookieBanner.DENIED;
|
|
44
|
-
|
|
45
|
-
window.dataLayer.push(['consent', 'update', {
|
|
54
|
+
gtag('consent', 'update', {
|
|
46
55
|
ad_storage: status,
|
|
47
56
|
ad_user_data: status,
|
|
48
57
|
ad_personalization: status,
|
|
49
58
|
analytics_storage: status
|
|
50
|
-
}
|
|
59
|
+
});
|
|
51
60
|
if ((0, _helpers.getExternalCookie)() === undefined) {
|
|
52
61
|
storage.set(_CookieBanner.KEY_COOKIES_ACCEPTED, status);
|
|
53
62
|
localStorage.setItem(_CookieBanner.KEY_COOKIES_ACCEPTED_LEGACY, status);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CookieBanner.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_CookieBanner","_CookieBanner2","style","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","storage","Storage","adapter","LocalAdapter","CookieBanner","isMobile","useDevice","translate","useLocale","accepted","setAccepted","useState","expanded","setExpanded","settings","setSettings","settingsAccepted","setSettingsAccepted","visible","setVisible","useEffect","value","KEY_COOKIES_ACCEPTED","localStorage","getItem","KEY_COOKIES_ACCEPTED_LEGACY","getExternalCookie","GRANTED","undefined","status","DENIED","window","dataLayer","push","ad_storage","ad_user_data","ad_personalization","analytics_storage","setItem","handleResponse","mandatory","analytical","createElement","Modal","fit","portal","title","L10N","LABEL_COOKIES_SETTINGS","LABEL_COOKIES_PREFERENCES","testId","View","className","content","Fragment","Text","action","LABEL_COOKIES_SETTINGS_CONTENT","LABEL_COOKIES_SETTINGS_INFO","LABEL_COOKIES_SETTINGS_PRIVACY","bold","LABEL_CUSTOMIZE_CHOICES","row","setting","Pressable","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","LABEL_MANDATORY_COOKIES_TITLE","success","LABEL_ALWAYS_ACTIVE","info","LABEL_MANDATORY_COOKIES_CONTENT","styles","last","LABEL_ANALYTICAL_COOKIES_TITLE","InputOption","checked","name","small","type","SWITCH","onChange","LABEL_ANALYTICAL_COOKIES_CONTENT","LABEL_COOKIES_CONTENT","LABEL_COOKIES_MORE_INFO","wide","buttons","Button","ACTION_SAVE","Action","ACTION_SETTINGS","ACTION_REJECT","ACTION_ACCEPT","exports","displayName"],"sources":["../../../src/components/CookieBanner/CookieBanner.jsx"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputOption, Modal, Pressable, styles, SWITCH, Text, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { DENIED, GRANTED, KEY_COOKIES_ACCEPTED, KEY_COOKIES_ACCEPTED_LEGACY } from './CookieBanner.constants';\nimport { L10N } from './CookieBanner.l10n';\nimport * as style from './CookieBanner.module.css';\nimport { getExternalCookie } from './helpers';\nimport { ICON } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter });\n\nconst CookieBanner = () => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [accepted, setAccepted] = useState();\n const [expanded, setExpanded] = useState([false, false]);\n const [settings, setSettings] = useState();\n const [settingsAccepted, setSettingsAccepted] = useState(false);\n const [visible, setVisible] = useState();\n\n useEffect(() => {\n const value =\n storage.get(KEY_COOKIES_ACCEPTED) || localStorage.getItem(KEY_COOKIES_ACCEPTED_LEGACY) || getExternalCookie();\n if (value) {\n setAccepted(value === GRANTED);\n } else {\n setVisible(true);\n }\n }, []);\n\n useEffect(() => {\n if (accepted === undefined) return;\n\n const status = accepted ? GRANTED : DENIED;\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push([\n 'consent',\n 'update',\n {\n ad_storage: status,\n ad_user_data: status,\n ad_personalization: status,\n analytics_storage: status,\n },\n ]);\n\n if (getExternalCookie() === undefined) {\n storage.set(KEY_COOKIES_ACCEPTED, status);\n localStorage.setItem(KEY_COOKIES_ACCEPTED_LEGACY, status);\n }\n }, [accepted]);\n\n const handleResponse = (value) => {\n setAccepted(value);\n setVisible(false);\n };\n\n const [mandatory, analytical] = expanded || [];\n\n return (\n <Modal\n fit\n portal\n title={translate(settings ? L10N.LABEL_COOKIES_SETTINGS : L10N.LABEL_COOKIES_PREFERENCES)}\n visible={visible}\n testId=\"cookieBanner\"\n >\n <View className={style.content}>\n {settings ? (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_CONTENT)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_INFO)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_PRIVACY)}</Text>\n <View className={style.settings}>\n <Text bold>{translate(L10N.LABEL_CUSTOMIZE_CHOICES)}</Text>\n <View>\n <View>\n <View row className={style.setting}>\n <Pressable\n row\n onPress={() => setExpanded([!mandatory, analytical])}\n testId=\"cookieBanner-mandatory\"\n >\n <Icon value={mandatory ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_MANDATORY_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <Text action bold success>\n {translate(L10N.LABEL_ALWAYS_ACTIVE)}\n </Text>\n </View>\n {mandatory && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_MANDATORY_COOKIES_CONTENT)}\n </Text>\n )}\n </View>\n <View>\n <View row className={styles(style.setting, style.last)}>\n <Pressable\n row\n onPress={() => setExpanded([mandatory, !analytical])}\n testId=\"cookieBanner-analytical\"\n >\n <Icon value={analytical ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <InputOption\n checked={settingsAccepted}\n name=\"accept\"\n small\n type={SWITCH}\n onChange={setSettingsAccepted}\n />\n </View>\n {analytical && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_CONTENT)}\n </Text>\n )}\n </View>\n </View>\n </View>\n </>\n ) : (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_CONTENT)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_MORE_INFO)}</Text>\n </>\n )}\n </View>\n <View row={!isMobile} wide={isMobile} className={styles(style.buttons, settings && style.settings)}>\n {settings ? (\n <Button onPress={() => handleResponse(settingsAccepted)}>{translate(L10N.ACTION_SAVE)}</Button>\n ) : (\n <>\n <Action onPress={() => setSettings(true)} testId=\"cookieBanner-settings\">\n {translate(L10N.ACTION_SETTINGS)}\n </Action>\n <View row={!isMobile} wide={isMobile}>\n <Button onPress={() => handleResponse(false)}>{translate(L10N.ACTION_REJECT)}</Button>\n <Button onPress={() => handleResponse(true)}>{translate(L10N.ACTION_ACCEPT)}</Button>\n </View>\n </>\n )}\n </View>\n </Modal>\n );\n};\n\nCookieBanner.displayName = 'Mirai:Core:CookieBanner';\n\nexport { CookieBanner };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CookieBanner.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_CookieBanner","_CookieBanner2","style","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","storage","Storage","adapter","LocalAdapter","gtag","window","dataLayer","push","arguments","CookieBanner","isMobile","useDevice","translate","useLocale","accepted","setAccepted","useState","expanded","setExpanded","settings","setSettings","settingsAccepted","setSettingsAccepted","visible","setVisible","useEffect","ad_storage","DENIED","ad_user_data","ad_personalization","analytics_storage","value","KEY_COOKIES_ACCEPTED","localStorage","getItem","KEY_COOKIES_ACCEPTED_LEGACY","getExternalCookie","GRANTED","undefined","status","setItem","handleResponse","mandatory","analytical","createElement","Modal","fit","portal","title","L10N","LABEL_COOKIES_SETTINGS","LABEL_COOKIES_PREFERENCES","testId","View","className","content","Fragment","Text","action","LABEL_COOKIES_SETTINGS_CONTENT","LABEL_COOKIES_SETTINGS_INFO","LABEL_COOKIES_SETTINGS_PRIVACY","bold","LABEL_CUSTOMIZE_CHOICES","row","setting","Pressable","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","LABEL_MANDATORY_COOKIES_TITLE","success","LABEL_ALWAYS_ACTIVE","info","LABEL_MANDATORY_COOKIES_CONTENT","styles","last","LABEL_ANALYTICAL_COOKIES_TITLE","InputOption","checked","name","small","type","SWITCH","onChange","LABEL_ANALYTICAL_COOKIES_CONTENT","LABEL_COOKIES_CONTENT","LABEL_COOKIES_MORE_INFO","wide","buttons","Button","ACTION_SAVE","Action","ACTION_SETTINGS","ACTION_REJECT","ACTION_ACCEPT","exports","displayName"],"sources":["../../../src/components/CookieBanner/CookieBanner.jsx"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputOption, Modal, Pressable, styles, SWITCH, Text, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { DENIED, GRANTED, KEY_COOKIES_ACCEPTED, KEY_COOKIES_ACCEPTED_LEGACY } from './CookieBanner.constants';\nimport { L10N } from './CookieBanner.l10n';\nimport * as style from './CookieBanner.module.css';\nimport { getExternalCookie } from './helpers';\nimport { ICON } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter });\n\nfunction gtag() {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(arguments);\n}\n\nconst CookieBanner = () => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const [accepted, setAccepted] = useState();\n const [expanded, setExpanded] = useState([false, false]);\n const [settings, setSettings] = useState();\n const [settingsAccepted, setSettingsAccepted] = useState(false);\n const [visible, setVisible] = useState();\n\n useEffect(() => {\n gtag('consent', 'default', {\n ad_storage: DENIED,\n ad_user_data: DENIED,\n ad_personalization: DENIED,\n analytics_storage: DENIED,\n });\n\n const value =\n storage.get(KEY_COOKIES_ACCEPTED) || localStorage.getItem(KEY_COOKIES_ACCEPTED_LEGACY) || getExternalCookie();\n if (value) {\n setAccepted(value === GRANTED);\n } else {\n setVisible(true);\n }\n }, []);\n\n useEffect(() => {\n if (accepted === undefined) return;\n\n const status = accepted ? GRANTED : DENIED;\n\n gtag('consent', 'update', {\n ad_storage: status,\n ad_user_data: status,\n ad_personalization: status,\n analytics_storage: status,\n });\n if (getExternalCookie() === undefined) {\n storage.set(KEY_COOKIES_ACCEPTED, status);\n localStorage.setItem(KEY_COOKIES_ACCEPTED_LEGACY, status);\n }\n }, [accepted]);\n\n const handleResponse = (value) => {\n setAccepted(value);\n setVisible(false);\n };\n\n const [mandatory, analytical] = expanded || [];\n\n return (\n <Modal\n fit\n portal\n title={translate(settings ? L10N.LABEL_COOKIES_SETTINGS : L10N.LABEL_COOKIES_PREFERENCES)}\n visible={visible}\n testId=\"cookieBanner\"\n >\n <View className={style.content}>\n {settings ? (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_CONTENT)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_INFO)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_PRIVACY)}</Text>\n <View className={style.settings}>\n <Text bold>{translate(L10N.LABEL_CUSTOMIZE_CHOICES)}</Text>\n <View>\n <View>\n <View row className={style.setting}>\n <Pressable\n row\n onPress={() => setExpanded([!mandatory, analytical])}\n testId=\"cookieBanner-mandatory\"\n >\n <Icon value={mandatory ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_MANDATORY_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <Text action bold success>\n {translate(L10N.LABEL_ALWAYS_ACTIVE)}\n </Text>\n </View>\n {mandatory && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_MANDATORY_COOKIES_CONTENT)}\n </Text>\n )}\n </View>\n <View>\n <View row className={styles(style.setting, style.last)}>\n <Pressable\n row\n onPress={() => setExpanded([mandatory, !analytical])}\n testId=\"cookieBanner-analytical\"\n >\n <Icon value={analytical ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <InputOption\n checked={settingsAccepted}\n name=\"accept\"\n small\n type={SWITCH}\n onChange={setSettingsAccepted}\n />\n </View>\n {analytical && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_CONTENT)}\n </Text>\n )}\n </View>\n </View>\n </View>\n </>\n ) : (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_CONTENT)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_MORE_INFO)}</Text>\n </>\n )}\n </View>\n <View row={!isMobile} wide={isMobile} className={styles(style.buttons, settings && style.settings)}>\n {settings ? (\n <Button onPress={() => handleResponse(settingsAccepted)}>{translate(L10N.ACTION_SAVE)}</Button>\n ) : (\n <>\n <Action onPress={() => setSettings(true)} testId=\"cookieBanner-settings\">\n {translate(L10N.ACTION_SETTINGS)}\n </Action>\n <View row={!isMobile} wide={isMobile}>\n <Button onPress={() => handleResponse(false)}>{translate(L10N.ACTION_REJECT)}</Button>\n <Button onPress={() => handleResponse(true)}>{translate(L10N.ACTION_ACCEPT)}</Button>\n </View>\n </>\n )}\n </View>\n </Modal>\n );\n};\n\nCookieBanner.displayName = 'Mirai:Core:CookieBanner';\n\nexport { CookieBanner };\n"],"mappings":"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"}
|
|
@@ -18,6 +18,11 @@ var _toOccupation = require("./toOccupation");
|
|
|
18
18
|
var _Core = require("../Core.constants");
|
|
19
19
|
var _process, _process$env;
|
|
20
20
|
const IS_JEST = !!((_process = process) !== null && _process !== void 0 && (_process$env = _process.env) !== null && _process$env !== void 0 && _process$env.JEST_WORKER_ID);
|
|
21
|
+
const {
|
|
22
|
+
BOOKING,
|
|
23
|
+
CHECKOUT,
|
|
24
|
+
RATES
|
|
25
|
+
} = _Core.COMPONENTS;
|
|
21
26
|
|
|
22
27
|
/* eslint-disable no-unused-vars */
|
|
23
28
|
const consolidateStore = async function () {
|
|
@@ -43,7 +48,7 @@ const consolidateStore = async function () {
|
|
|
43
48
|
let {
|
|
44
49
|
component
|
|
45
50
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
46
|
-
return component ===
|
|
51
|
+
return component === RATES;
|
|
47
52
|
});
|
|
48
53
|
|
|
49
54
|
// -- assistant ------------------------------------------------------------------------------------------------------
|
|
@@ -223,10 +228,21 @@ const consolidateStore = async function () {
|
|
|
223
228
|
signup: miraiId || isDevelopment ? "".concat(host, "/signup") : "".concat(process.env.SERVICE_USER, "/club/v1/forwarder/registration_process"),
|
|
224
229
|
profile: miraiId || isDevelopment ? "".concat(host, "/profile") : "".concat(process.env.SERVICE_USER, "/club/v1/forwarder/members_area")
|
|
225
230
|
};
|
|
231
|
+
const {
|
|
232
|
+
cookieBanner: {
|
|
233
|
+
active,
|
|
234
|
+
showAll
|
|
235
|
+
} = {}
|
|
236
|
+
} = config;
|
|
226
237
|
return {
|
|
227
238
|
config,
|
|
228
239
|
cookies,
|
|
229
|
-
cookieBanner:
|
|
240
|
+
cookieBanner: active && (showAll || components.some(function () {
|
|
241
|
+
let {
|
|
242
|
+
component
|
|
243
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
244
|
+
return [RATES, CHECKOUT, BOOKING].includes(component);
|
|
245
|
+
})),
|
|
230
246
|
urlParams,
|
|
231
247
|
...instance,
|
|
232
248
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_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","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","assistant","accomodation","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_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","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","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 { getClub } from './getClub';\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 // -- assistant ------------------------------------------------------------------------------------------------------\n const { assistant = {} } = config.accomodation || {};\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 // -- 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, promo: promoCode } = 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 = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\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?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && 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 cookieBanner: config.cookieBanner,\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 assistant,\n calendar,\n club: getClub({ config, language, type, urlParams }),\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 // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","BOOKING","CHECKOUT","RATES","COMPONENTS","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","assistant","accomodation","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_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","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","active","showAll","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","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 { getClub } from './getClub';\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 {\n CALENDAR_FORMAT,\n COMPONENTS,\n FINDER_STORAGE_KEY,\n TAX_DEFAULT,\n TAXES,\n TYPE,\n TYPE_COMMISSION,\n} from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nconst { BOOKING, CHECKOUT, RATES } = COMPONENTS;\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 // -- assistant ------------------------------------------------------------------------------------------------------\n const { assistant = {} } = config.accomodation || {};\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 // -- 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, promo: promoCode } = 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 = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\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?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && 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 const { cookieBanner: { active, showAll } = {} } = config;\n\n return {\n config,\n cookies,\n cookieBanner:\n active && (showAll || components.some(({ component } = {}) => [RATES, CHECKOUT, BOOKING].includes(component))),\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 assistant,\n calendar,\n club: getClub({ config, language, type, urlParams }),\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 // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|