@mirai/core 0.4.234 → 0.4.236
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/components/BannerLoyalty/BannerLoyalty.js +14 -13
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/Rates/components/OTAPrices/OTAPrices.js +8 -2
- package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
- package/build/helpers/loadSentry.js +12 -1
- package/build/helpers/loadSentry.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
19
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
20
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
21
|
const BannerLoyalty = _ref => {
|
|
22
|
+
var _club$banner;
|
|
22
23
|
let {
|
|
23
24
|
clubConditions,
|
|
24
25
|
...others
|
|
@@ -34,15 +35,8 @@ const BannerLoyalty = _ref => {
|
|
|
34
35
|
const {
|
|
35
36
|
value: {
|
|
36
37
|
club: {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
benefits: storeBenefits = [],
|
|
40
|
-
description = {},
|
|
41
|
-
title,
|
|
42
|
-
url
|
|
43
|
-
} = {},
|
|
44
|
-
discount,
|
|
45
|
-
variants
|
|
38
|
+
variants,
|
|
39
|
+
...club
|
|
46
40
|
} = {},
|
|
47
41
|
finder: {
|
|
48
42
|
place
|
|
@@ -51,9 +45,9 @@ const BannerLoyalty = _ref => {
|
|
|
51
45
|
skeleton = false
|
|
52
46
|
}
|
|
53
47
|
} = (0, _dataSources.useStore)();
|
|
54
|
-
const [benefits, setBenefits] = (0, _react.useState)(
|
|
55
|
-
const [clubActive, setClubActive] = (0, _react.useState)(active);
|
|
56
|
-
const [clubDiscount, setClubDiscount] = (0, _react.useState)(discount);
|
|
48
|
+
const [benefits, setBenefits] = (0, _react.useState)((club === null || club === void 0 ? void 0 : (_club$banner = club.banner) === null || _club$banner === void 0 ? void 0 : _club$banner.benefits) || []);
|
|
49
|
+
const [clubActive, setClubActive] = (0, _react.useState)(club.active);
|
|
50
|
+
const [clubDiscount, setClubDiscount] = (0, _react.useState)(club.discount);
|
|
57
51
|
const [expanded, setExpanded] = (0, _react.useState)(false);
|
|
58
52
|
const [scrollIndex, setScrollIndex] = (0, _react.useState)(0);
|
|
59
53
|
(0, _react.useEffect)(() => {
|
|
@@ -84,7 +78,7 @@ const BannerLoyalty = _ref => {
|
|
|
84
78
|
id = ''
|
|
85
79
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
86
80
|
return id.toString() === hotelId.toString();
|
|
87
|
-
}) || {};
|
|
81
|
+
}) || club || {};
|
|
88
82
|
nextBenefits && setBenefits(nextBenefits);
|
|
89
83
|
setClubActive(active);
|
|
90
84
|
}
|
|
@@ -120,6 +114,13 @@ const BannerLoyalty = _ref => {
|
|
|
120
114
|
name: "switch",
|
|
121
115
|
onChange: handlePressFilter
|
|
122
116
|
}));
|
|
117
|
+
const {
|
|
118
|
+
banner: {
|
|
119
|
+
description = {},
|
|
120
|
+
title,
|
|
121
|
+
url
|
|
122
|
+
} = {}
|
|
123
|
+
} = club || {};
|
|
123
124
|
const buttonProps = {
|
|
124
125
|
secondary: true,
|
|
125
126
|
squared: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_helpers","_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","BannerLoyalty","_ref","clubConditions","others","isDesktop","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","active","banner","benefits","storeBenefits","description","title","url","discount","variants","finder","place","session","skeleton","useStore","setBenefits","useState","clubActive","setClubActive","clubDiscount","setClubDiscount","expanded","setExpanded","scrollIndex","setScrollIndex","useEffect","callback","nextClubDiscount","undefined","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","publish","METRICS","id","hotelId","isHotel","nextBenefits","find","toString","handleExpanded","handlePressBenefit","index","handlePressFilter","Filter","createElement","View","row","className","filter","Text","action","medium","L10N","LABEL_ONLY_MEMBERS","Switch","checked","name","onChange","buttonProps","secondary","squared","rounded","lastBenefit","getNormalizedLocale","testId","container","highlight","bold","brand","headline","level","DEFAULT_LOCALE","small","Fragment","Action","href","underline","textInline","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","conditions","ACTION_CLUB_VIEW_CONDITIONS","Button","transparent","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","wide","LEFT","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","accent","AMENITY","REPLAY","RIGHT","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Switch, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: {\n club: {\n active,\n banner: { benefits: storeBenefits = [], description = {}, title, url } = {},\n discount,\n variants,\n } = {},\n finder: { place } = {},\n session,\n skeleton = false,\n },\n } = useStore();\n\n const [benefits, setBenefits] = useState(storeBenefits);\n const [clubActive, setClubActive] = useState(active);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [expanded, setExpanded] = useState(false);\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n const callback = (nextClubDiscount) =>\n setClubDiscount(typeof nextClubDiscount !== 'object' ? nextClubDiscount : undefined);\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, []);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useEffect(() => {\n if (!place) return;\n\n const { id: [hotelId] = [], isHotel } = place || {};\n\n if (hotelId && isHotel && variants) {\n const { active, banner: { benefits: nextBenefits } = {} } =\n variants.find(({ id = '' } = {}) => id.toString() === hotelId.toString()) || {};\n nextBenefits && setBenefits(nextBenefits);\n setClubActive(active);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n const handleExpanded = () => {\n if (!expanded) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:EXPAND_BENEFITS' });\n setExpanded(!expanded);\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const handlePressFilter = (value) => {\n Event.publish(EVENT.RATES_FILTER_CLUB, value);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value });\n };\n\n const Filter = () => (\n <View row className={style.filter}>\n <Text action medium>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n <Switch checked={clubDiscount} name={`switch`} onChange={handlePressFilter} />\n </View>\n );\n\n const buttonProps = { secondary: true, squared: true, rounded: true };\n const lastBenefit = scrollIndex === benefits.length - 4;\n const locale = getNormalizedLocale(stateLocale);\n\n return clubActive && skeleton && !session ? (\n <Skeleton />\n ) : clubActive && !session && title ? (\n <View testId={others.testId} className={[style.container, others.className]}>\n <View row className={style.highlight}>\n <View>\n <Text bold brand headline level={isDesktop ? 2 : 3} className={style.title}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n {url && (\n <>\n {' '}\n <Action bold href={url} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n {clubConditions && (\n <Text action={isDesktop} small={!isDesktop}>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n\n {isMobile ? (\n <Button small squared transparent onPress={handleExpanded}>\n <Icon value={expanded ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n </Button>\n ) : (\n clubDiscount !== undefined && <Filter />\n )}\n </View>\n\n {(!isMobile || expanded) && benefits.length > 0 && (\n <View row wide>\n {!isMobile && scrollIndex !== 0 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(scrollIndex - 1)}>\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View row key={index}>\n <Icon accent headline level={!isDesktop ? 3 : 2} value={ICON[icon] || ICON.AMENITY} />\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}>\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n </View>\n )}\n\n {isMobile && clubDiscount !== undefined && <Filter />}\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_helpers","_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","BannerLoyalty","_ref","_club$banner","clubConditions","others","isDesktop","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","variants","finder","place","session","skeleton","useStore","benefits","setBenefits","useState","banner","clubActive","setClubActive","active","clubDiscount","setClubDiscount","discount","expanded","setExpanded","scrollIndex","setScrollIndex","useEffect","callback","nextClubDiscount","undefined","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","title","publish","METRICS","id","hotelId","isHotel","nextBenefits","find","toString","handleExpanded","handlePressBenefit","index","handlePressFilter","Filter","createElement","View","row","className","filter","Text","action","medium","L10N","LABEL_ONLY_MEMBERS","Switch","checked","name","onChange","description","url","buttonProps","secondary","squared","rounded","lastBenefit","getNormalizedLocale","testId","container","highlight","bold","brand","headline","level","DEFAULT_LOCALE","small","Fragment","Action","href","underline","textInline","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","conditions","ACTION_CLUB_VIEW_CONDITIONS","Button","transparent","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","wide","LEFT","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","accent","AMENITY","REPLAY","RIGHT","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Switch, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { variants, ...club } = {}, finder: { place } = {}, session, skeleton = false },\n } = useStore();\n\n const [benefits, setBenefits] = useState(club?.banner?.benefits || []);\n const [clubActive, setClubActive] = useState(club.active);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [expanded, setExpanded] = useState(false);\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n const callback = (nextClubDiscount) =>\n setClubDiscount(typeof nextClubDiscount !== 'object' ? nextClubDiscount : undefined);\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, []);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useEffect(() => {\n if (!place) return;\n\n const { id: [hotelId] = [], isHotel } = place || {};\n\n if (hotelId && isHotel && variants) {\n const { active, banner: { benefits: nextBenefits } = {} } =\n variants.find(({ id = '' } = {}) => id.toString() === hotelId.toString()) || club || {};\n nextBenefits && setBenefits(nextBenefits);\n setClubActive(active);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n const handleExpanded = () => {\n if (!expanded) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:EXPAND_BENEFITS' });\n setExpanded(!expanded);\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const handlePressFilter = (value) => {\n Event.publish(EVENT.RATES_FILTER_CLUB, value);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value });\n };\n\n const Filter = () => (\n <View row className={style.filter}>\n <Text action medium>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n <Switch checked={clubDiscount} name={`switch`} onChange={handlePressFilter} />\n </View>\n );\n\n const { banner: { description = {}, title, url } = {} } = club || {};\n const buttonProps = { secondary: true, squared: true, rounded: true };\n const lastBenefit = scrollIndex === benefits.length - 4;\n const locale = getNormalizedLocale(stateLocale);\n\n return clubActive && skeleton && !session ? (\n <Skeleton />\n ) : clubActive && !session && title ? (\n <View testId={others.testId} className={[style.container, others.className]}>\n <View row className={style.highlight}>\n <View>\n <Text bold brand headline level={isDesktop ? 2 : 3} className={style.title}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n {url && (\n <>\n {' '}\n <Action bold href={url} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n {clubConditions && (\n <Text action={isDesktop} small={!isDesktop}>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n\n {isMobile ? (\n <Button small squared transparent onPress={handleExpanded}>\n <Icon value={expanded ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n </Button>\n ) : (\n clubDiscount !== undefined && <Filter />\n )}\n </View>\n\n {(!isMobile || expanded) && benefits.length > 0 && (\n <View row wide>\n {!isMobile && scrollIndex !== 0 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(scrollIndex - 1)}>\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View row key={index}>\n <Icon accent headline level={!isDesktop ? 3 : 2} value={ICON[icon] || ICON.AMENITY} />\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}>\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n </View>\n )}\n\n {isMobile && clubDiscount !== undefined && <Filter />}\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n};\n\nexport { BannerLoyalty };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,eAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AAA8D,SAAAY,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAjB,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAE9D,MAAMK,aAAa,GAAGC,IAAA,IAAmC;EAAA,IAAAC,YAAA;EAAA,IAAlC;IAAEC,cAAc;IAAE,GAAGC;EAAO,CAAC,GAAAH,IAAA;EAClD,MAAM;IAAEI,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC3C,MAAM;IAAEC,MAAM,EAAEC,WAAW;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACtD,MAAM;IACJC,KAAK,EAAE;MAAEC,IAAI,EAAE;QAAEC,QAAQ;QAAE,GAAGD;MAAK,CAAC,GAAG,CAAC,CAAC;MAAEE,MAAM,EAAE;QAAEC;MAAM,CAAC,GAAG,CAAC,CAAC;MAAEC,OAAO;MAAEC,QAAQ,GAAG;IAAM;EAC/F,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAAT,IAAI,aAAJA,IAAI,wBAAAX,YAAA,GAAJW,IAAI,CAAEU,MAAM,cAAArB,YAAA,uBAAZA,YAAA,CAAckB,QAAQ,KAAI,EAAE,CAAC;EACtE,MAAM,CAACI,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAH,eAAQ,EAACT,IAAI,CAACa,MAAM,CAAC;EACzD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAN,eAAQ,EAACT,IAAI,CAACgB,QAAQ,CAAC;EAC/D,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAT,eAAQ,EAAC,KAAK,CAAC;EAC/C,MAAM,CAACU,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC,CAAC;EAEjD,IAAAY,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAIC,gBAAgB,IAChCR,eAAe,CAAC,OAAOQ,gBAAgB,KAAK,QAAQ,GAAGA,gBAAgB,GAAGC,SAAS,CAAC;IAEtFC,kBAAK,CAACC,SAAS,CAACC,cAAK,CAACC,iBAAiB,EAAEN,QAAQ,CAAC;IAElD,OAAO,MAAMG,kBAAK,CAACI,WAAW,CAACF,cAAK,CAACC,iBAAiB,EAAEN,QAAQ,CAAC;EACnE,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACjB,OAAO,IAAI0B,KAAK,IAAIvB,QAAQ,CAACxB,MAAM,GAAG,CAAC,EAAE0C,kBAAK,CAACM,OAAO,CAACJ,cAAK,CAACK,OAAO,EAAE;MAAEC,EAAE,EAAE;IAAwB,CAAC,CAAC;IAC3G;EACF,CAAC,EAAE,CAAC7B,OAAO,CAAC,CAAC;EAEb,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAI,CAAClB,KAAK,EAAE;IAEZ,MAAM;MAAE8B,EAAE,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE;MAAEC;IAAQ,CAAC,GAAGhC,KAAK,IAAI,CAAC,CAAC;IAEnD,IAAI+B,OAAO,IAAIC,OAAO,IAAIlC,QAAQ,EAAE;MAClC,MAAM;QAAEY,MAAM;QAAEH,MAAM,EAAE;UAAEH,QAAQ,EAAE6B;QAAa,CAAC,GAAG,CAAC;MAAE,CAAC,GACvDnC,QAAQ,CAACoC,IAAI,CAAC;QAAA,IAAC;UAAEJ,EAAE,GAAG;QAAG,CAAC,GAAAnD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKmD,EAAE,CAACK,QAAQ,CAAC,CAAC,KAAKJ,OAAO,CAACI,QAAQ,CAAC,CAAC;MAAA,EAAC,IAAItC,IAAI,IAAI,CAAC,CAAC;MACzFoC,YAAY,IAAI5B,WAAW,CAAC4B,YAAY,CAAC;MACzCxB,aAAa,CAACC,MAAM,CAAC;IACvB;IACA;EACF,CAAC,EAAE,CAACV,KAAK,CAAC,CAAC;EAEX,MAAMoC,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,CAACtB,QAAQ,EAAEQ,kBAAK,CAACM,OAAO,CAACJ,cAAK,CAACK,OAAO,EAAE;MAAEC,EAAE,EAAE;IAAiC,CAAC,CAAC;IACrFf,WAAW,CAAC,CAACD,QAAQ,CAAC;EACxB,CAAC;EAED,MAAMuB,kBAAkB,GAAIC,KAAK,IAAK;IACpCrB,cAAc,CAACqB,KAAK,CAAC;IACrBhB,kBAAK,CAACM,OAAO,CAACJ,cAAK,CAACK,OAAO,EAAE;MAAEC,EAAE,EAAE;IAAiC,CAAC,CAAC;EACxE,CAAC;EAED,MAAMS,iBAAiB,GAAI3C,KAAK,IAAK;IACnC0B,kBAAK,CAACM,OAAO,CAACJ,cAAK,CAACC,iBAAiB,EAAE7B,KAAK,CAAC;IAC7C0B,kBAAK,CAACM,OAAO,CAACJ,cAAK,CAACK,OAAO,EAAE;MAAEC,EAAE,EAAE,6BAA6B;MAAElC;IAAM,CAAC,CAAC;EAC5E,CAAC;EAED,MAAM4C,MAAM,GAAGA,CAAA,kBACb9F,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAmG,IAAI;IAACC,GAAG;IAACC,SAAS,EAAE9F,KAAK,CAAC+F;EAAO,gBAChCnG,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAuG,IAAI;IAACC,MAAM;IAACC,MAAM;EAAA,GAChBtD,SAAS,CAACuD,oBAAI,CAACC,kBAAkB,CAC9B,CAAC,eACPxG,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA4G,MAAM;IAACC,OAAO,EAAEzC,YAAa;IAAC0C,IAAI,UAAW;IAACC,QAAQ,EAAEf;EAAkB,CAAE,CACzE,CACP;EAED,MAAM;IAAEhC,MAAM,EAAE;MAAEgD,WAAW,GAAG,CAAC,CAAC;MAAE5B,KAAK;MAAE6B;IAAI,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG3D,IAAI,IAAI,CAAC,CAAC;EACpE,MAAM4D,WAAW,GAAG;IAAEC,SAAS,EAAE,IAAI;IAAEC,OAAO,EAAE,IAAI;IAAEC,OAAO,EAAE;EAAK,CAAC;EACrE,MAAMC,WAAW,GAAG7C,WAAW,KAAKZ,QAAQ,CAACxB,MAAM,GAAG,CAAC;EACvD,MAAMY,MAAM,GAAG,IAAAsE,4BAAmB,EAACrE,WAAW,CAAC;EAE/C,OAAOe,UAAU,IAAIN,QAAQ,IAAI,CAACD,OAAO,gBACvCvD,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAC1F,eAAA,CAAAQ,OAAQ,MAAE,CAAC,GACViD,UAAU,IAAI,CAACP,OAAO,IAAI0B,KAAK,gBACjCjF,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAmG,IAAI;IAACqB,MAAM,EAAE3E,MAAM,CAAC2E,MAAO;IAACnB,SAAS,EAAE,CAAC9F,KAAK,CAACkH,SAAS,EAAE5E,MAAM,CAACwD,SAAS;EAAE,gBAC1ElG,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAmG,IAAI;IAACC,GAAG;IAACC,SAAS,EAAE9F,KAAK,CAACmH;EAAU,gBACnCvH,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAmG,IAAI,qBACHhG,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAuG,IAAI;IAACoB,IAAI;IAACC,KAAK;IAACC,QAAQ;IAACC,KAAK,EAAEhF,SAAS,GAAG,CAAC,GAAG,CAAE;IAACuD,SAAS,EAAE9F,KAAK,CAAC6E;EAAM,GACxEA,KAAK,CAACnC,MAAM,CAAC,IAAImC,KAAK,CAAC2C,6BAAc,CAClC,CAAC,eACP5H,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAuG,IAAI;IAACC,MAAM,EAAE1D,SAAU;IAACkF,KAAK,EAAE,CAAClF;EAAU,GACxCkE,WAAW,CAAC/D,MAAM,CAAC,IAAI+D,WAAW,CAACe,6BAAc,CAAC,EAClDd,GAAG,iBACF9G,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAA/F,MAAA,CAAAa,OAAA,CAAAiH,QAAA,QACG,GAAG,eACJ9H,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAkI,MAAM;IAACP,IAAI;IAACQ,IAAI,EAAElB,GAAI;IAAC9E,MAAM,EAAC,QAAQ;IAACiG,SAAS;IAAC/B,SAAS,EAAE9F,KAAK,CAAC8H;EAAW,GAC3ElF,SAAS,CAACuD,oBAAI,CAAC4B,gBAAgB,CAC1B,CACR,CAEA,CAAC,EACN1F,cAAc,iBACbzC,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAuG,IAAI;IAACC,MAAM,EAAE1D,SAAU;IAACkF,KAAK,EAAE,CAAClF;EAAU,GACxCK,SAAS,CAACuD,oBAAI,CAAC6B,qBAAqB,EAAE;IACrCC,UAAU,eACRrI,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAkI,MAAM;MAACC,IAAI,EAAEvF,cAAe;MAACT,MAAM,EAAC,QAAQ;MAACiG,SAAS;MAAC/B,SAAS,EAAE9F,KAAK,CAAC8H;IAAW,GACjFlF,SAAS,CAACuD,oBAAI,CAAC+B,2BAA2B,CACrC;EAEZ,CAAC,CACG,CAEJ,CAAC,EAEN1F,QAAQ,gBACP5C,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA0I,MAAM;IAACV,KAAK;IAACZ,OAAO;IAACuB,WAAW;IAACC,OAAO,EAAE/C;EAAe,gBACxD1F,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA6I,IAAI;IAACxF,KAAK,EAAEkB,QAAQ,GAAGuE,aAAI,CAACC,WAAW,GAAGD,aAAI,CAACE;EAAY,CAAE,CACxD,CAAC,GAET5E,YAAY,KAAKU,SAAS,iBAAI3E,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAACD,MAAM,MAAE,CAErC,CAAC,EAEN,CAAC,CAAClD,QAAQ,IAAIwB,QAAQ,KAAKV,QAAQ,CAACxB,MAAM,GAAG,CAAC,iBAC7ClC,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAmG,IAAI;IAACC,GAAG;IAAC6C,IAAI;EAAA,GACX,CAAClG,QAAQ,IAAI0B,WAAW,KAAK,CAAC,iBAC7BtE,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA0I,MAAM,EAAA1G,QAAA,KAAKkF,WAAW;IAAE0B,OAAO,EAAEA,CAAA,KAAM9C,kBAAkB,CAACrB,WAAW,GAAG,CAAC;EAAE,iBAC1EtE,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA6I,IAAI;IAACxF,KAAK,EAAEyF,aAAI,CAACI;EAAK,CAAE,CACnB,CACT,eAEAC,cAAK,CAACjD,aAAa,CAClBnD,QAAQ,GAAGoD,QAAI,GAAGiD,cAAU,EAC5B;IACE,IAAI,CAACrG,QAAQ,GAAG;MAAEsG,UAAU,EAAE,CAACtG,QAAQ;MAAEuG,QAAQ,EAAE7E,WAAW,GAAG8E;IAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1FlD,SAAS,EAAE9F,KAAK,CAACiJ;EACnB,CAAC,EACD3F,QAAQ,CAAC4F,GAAG,CAAC;IAAA,IAAC;MAAEzC,WAAW,GAAG,CAAC,CAAC;MAAE0C;IAAK,CAAC,GAAAtH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE2D,KAAK,GAAA3D,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA0C,SAAA;IAAA,oBAClD3E,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAmG,IAAI;MAACC,GAAG;MAAC7D,GAAG,EAAEwD;IAAM,gBACnB5F,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA6I,IAAI;MAACc,MAAM;MAAC9B,QAAQ;MAACC,KAAK,EAAE,CAAChF,SAAS,GAAG,CAAC,GAAG,CAAE;MAACO,KAAK,EAAEyF,aAAI,CAACY,IAAI,CAAC,IAAIZ,aAAI,CAACc;IAAQ,CAAE,CAAC,eACtFzJ,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAAuG,IAAI;MAACC,MAAM,EAAE1D,SAAU;MAACkF,KAAK,EAAE,CAAClF;IAAU,GACxCkE,WAAW,CAAC/D,MAAM,CAAC,IAAI+D,WAAW,CAACe,6BAAc,CAC9C,CACF,CAAC;EAAA,CACR,CACH,CAAC,EAEA,CAAChF,QAAQ,IAAIc,QAAQ,CAACxB,MAAM,GAAG,CAAC,iBAC/BlC,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA0I,MAAM,EAAA1G,QAAA,KAAKkF,WAAW;IAAE0B,OAAO,EAAEA,CAAA,KAAM9C,kBAAkB,CAACwB,WAAW,GAAG,CAAC,GAAG7C,WAAW,GAAG,CAAC;EAAE,iBAC5FtE,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAAClG,GAAA,CAAA6I,IAAI;IAACxF,KAAK,EAAEiE,WAAW,GAAGwB,aAAI,CAACe,MAAM,GAAGf,aAAI,CAACgB;EAAM,CAAE,CAChD,CAEN,CACP,EAEA/G,QAAQ,IAAIqB,YAAY,KAAKU,SAAS,iBAAI3E,MAAA,CAAAa,OAAA,CAAAkF,aAAA,CAACD,MAAM,MAAE,CAChD,CAAC,GACL,IAAI;AACV,CAAC;AAAC8D,OAAA,CAAAtH,aAAA,GAAAA,aAAA;AAEFA,aAAa,CAACuH,WAAW,GAAG,0BAA0B;AAEtDvH,aAAa,CAACwH,SAAS,GAAG;EACxBrH,cAAc,EAAEsH,kBAAS,CAACC;AAC5B,CAAC"}
|
|
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _OTAPrices = require("./OTAPrices.l10n");
|
|
13
13
|
var style = _interopRequireWildcard(require("./OTAPrices.module.css"));
|
|
14
14
|
var _shared__ = require("../../../__shared__");
|
|
15
|
+
var _helpers = require("../../../helpers");
|
|
15
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -92,8 +93,13 @@ const OTAPrices = _ref => {
|
|
|
92
93
|
return () => clearTimeout(timeout);
|
|
93
94
|
}, [otas]);
|
|
94
95
|
(0, _react.useEffect)(() => {
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
const initialize = () => {
|
|
97
|
+
setDataSource();
|
|
98
|
+
setOtas([]);
|
|
99
|
+
};
|
|
100
|
+
_dataSources.Event.subscribe(_helpers.EVENT.RATES_FILTER_CLUB, initialize);
|
|
101
|
+
initialize();
|
|
102
|
+
return () => _dataSources.Event.unsubscribe(_helpers.EVENT.RATES_FILTER_CLUB, initialize);
|
|
97
103
|
}, [calendar, currency, occupation, place, promocode]);
|
|
98
104
|
const currencyFormatProps = {
|
|
99
105
|
currency,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_shared__","_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","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","value","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","clearTimeout","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","b","map","_ref2","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n let timeout = setTimeout(() => setFetching(false), 5000);\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n setDataSource();\n setOtas([]);\n }, [calendar, currency, occupation, place, promocode]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_shared__","_helpers","_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","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","value","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","clearTimeout","initialize","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","b","map","_ref2","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n let timeout = setTimeout(() => setFetching(false), 5000);\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n const initialize = () => {\n setDataSource();\n setOtas([]);\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, initialize);\n initialize();\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, initialize);\n }, [calendar, currency, occupation, place, promocode]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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"}
|
|
@@ -17,11 +17,22 @@ const loadSentry = (dsn, release) => {
|
|
|
17
17
|
event,
|
|
18
18
|
hint
|
|
19
19
|
});
|
|
20
|
+
if (hint !== null) {
|
|
21
|
+
const {
|
|
22
|
+
originalException: {
|
|
23
|
+
message = '',
|
|
24
|
+
stack = ''
|
|
25
|
+
} = {}
|
|
26
|
+
} = hint || {};
|
|
27
|
+
if (message === "Cannot read properties of null (reading 'style')" && stack !== null && stack !== void 0 && stack.includes('HTMLLIElement.changeBackground')) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
20
31
|
return event;
|
|
21
32
|
},
|
|
22
33
|
dsn,
|
|
23
34
|
release,
|
|
24
|
-
ignoreErrors: [/^Object captured as exception with keys: code, message$/, /^null is not an object (evaluating 'document.getElementById("cartAbandonment123_send_mail_offer_button").click')$/, /^Java exception was raised during method invocation$/, /^
|
|
35
|
+
ignoreErrors: [/^Object captured as exception with keys: code, message$/, /^null is not an object (evaluating 'document.getElementById("cartAbandonment123_send_mail_offer_button").click')$/, /^Java exception was raised during method invocation$/, /^a.target.className.includes is not a function$/, /^undefined is not an object (evaluating 'window.webkit.messageHandlers')$/, /^Java bridge method invocation error$/],
|
|
25
36
|
integrations: [new Sentry.Replay({
|
|
26
37
|
networkDetailAllowUrls: /mirai/g
|
|
27
38
|
}), new Sentry.GlobalHandlers({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadSentry.js","names":["Sentry","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","loadSentry","dsn","release","init","allowUrls","beforeSend","event","hint","console","log","ignoreErrors","integrations","Replay","networkDetailAllowUrls","GlobalHandlers","onerror","onunhandledrejection","tracesSampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","exports"],"sources":["../../src/helpers/loadSentry.js"],"sourcesContent":["import * as Sentry from '@sentry/react';\n\nexport const loadSentry = (dsn, release) => {\n if (!dsn || !release) return;\n\n Sentry.init({\n allowUrls: [/https?:\\/\\/((static)\\.)?mirai\\.com/],\n beforeSend(event, hint) {\n // eslint-disable-next-line no-console\n console.log({ event, hint });\n\n return event;\n },\n dsn,\n release,\n ignoreErrors: [\n /^Object captured as exception with keys: code, message$/,\n /^null is not an object (evaluating 'document.getElementById(\"cartAbandonment123_send_mail_offer_button\").click')$/,\n /^Java exception was raised during method invocation$/,\n /^
|
|
1
|
+
{"version":3,"file":"loadSentry.js","names":["Sentry","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","loadSentry","dsn","release","init","allowUrls","beforeSend","event","hint","console","log","originalException","message","stack","includes","ignoreErrors","integrations","Replay","networkDetailAllowUrls","GlobalHandlers","onerror","onunhandledrejection","tracesSampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","exports"],"sources":["../../src/helpers/loadSentry.js"],"sourcesContent":["import * as Sentry from '@sentry/react';\n\nexport const loadSentry = (dsn, release) => {\n if (!dsn || !release) return;\n\n Sentry.init({\n allowUrls: [/https?:\\/\\/((static)\\.)?mirai\\.com/],\n beforeSend(event, hint) {\n // eslint-disable-next-line no-console\n console.log({ event, hint });\n\n if (hint !== null) {\n const { originalException: { message = '', stack = '' } = {} } = hint || {};\n if (\n message === `Cannot read properties of null (reading 'style')` &&\n stack?.includes('HTMLLIElement.changeBackground')\n ) {\n return null;\n }\n }\n return event;\n },\n dsn,\n release,\n ignoreErrors: [\n /^Object captured as exception with keys: code, message$/,\n /^null is not an object (evaluating 'document.getElementById(\"cartAbandonment123_send_mail_offer_button\").click')$/,\n /^Java exception was raised during method invocation$/,\n /^a.target.className.includes is not a function$/,\n /^undefined is not an object (evaluating 'window.webkit.messageHandlers')$/,\n /^Java bridge method invocation error$/,\n ],\n integrations: [\n new Sentry.Replay({ networkDetailAllowUrls: /mirai/g }),\n new Sentry.GlobalHandlers({ onerror: false, onunhandledrejection: false }),\n ],\n tracesSampleRate: 0.1, // Capture 100% of the transactions, reduce in production!\n replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.\n replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.\n });\n\n return Sentry;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAwC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEjC,MAAMY,UAAU,GAAGA,CAACC,GAAG,EAAEC,OAAO,KAAK;EAC1C,IAAI,CAACD,GAAG,IAAI,CAACC,OAAO,EAAE;EAEtB1B,MAAM,CAAC2B,IAAI,CAAC;IACVC,SAAS,EAAE,CAAC,oCAAoC,CAAC;IACjDC,UAAUA,CAACC,KAAK,EAAEC,IAAI,EAAE;MACtB;MACAC,OAAO,CAACC,GAAG,CAAC;QAAEH,KAAK;QAAEC;MAAK,CAAC,CAAC;MAE5B,IAAIA,IAAI,KAAK,IAAI,EAAE;QACjB,MAAM;UAAEG,iBAAiB,EAAE;YAAEC,OAAO,GAAG,EAAE;YAAEC,KAAK,GAAG;UAAG,CAAC,GAAG,CAAC;QAAE,CAAC,GAAGL,IAAI,IAAI,CAAC,CAAC;QAC3E,IACEI,OAAO,uDAAuD,IAC9DC,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,QAAQ,CAAC,gCAAgC,CAAC,EACjD;UACA,OAAO,IAAI;QACb;MACF;MACA,OAAOP,KAAK;IACd,CAAC;IACDL,GAAG;IACHC,OAAO;IACPY,YAAY,EAAE,CACZ,yDAAyD,EACzD,mHAAmH,EACnH,sDAAsD,EACtD,iDAAiD,EACjD,2EAA2E,EAC3E,uCAAuC,CACxC;IACDC,YAAY,EAAE,CACZ,IAAIvC,MAAM,CAACwC,MAAM,CAAC;MAAEC,sBAAsB,EAAE;IAAS,CAAC,CAAC,EACvD,IAAIzC,MAAM,CAAC0C,cAAc,CAAC;MAAEC,OAAO,EAAE,KAAK;MAAEC,oBAAoB,EAAE;IAAM,CAAC,CAAC,CAC3E;IACDC,gBAAgB,EAAE,GAAG;IAAE;IACvBC,wBAAwB,EAAE,GAAG;IAAE;IAC/BC,wBAAwB,EAAE,GAAG,CAAE;EACjC,CAAC,CAAC;EAEF,OAAO/C,MAAM;AACf,CAAC;AAACgD,OAAA,CAAAxB,UAAA,GAAAA,UAAA"}
|