@mirai/core 0.3.139 → 0.3.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Core.constants.js +5 -1
- package/build/Core.constants.js.map +1 -1
- package/build/Core.js +1 -0
- package/build/Core.js.map +1 -1
- package/build/components/Finder/Finder.js +4 -0
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.js +26 -2
- package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Finder/components/Calendar/Calendar.l10n.js +6 -1
- package/build/components/Finder/components/Calendar/Calendar.l10n.js.map +1 -1
- package/build/components/Finder/components/Calendar/helpers/calcMinStay.js +34 -0
- package/build/components/Finder/components/Calendar/helpers/calcMinStay.js.map +1 -0
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js +33 -0
- package/build/components/Finder/components/Calendar/helpers/calcTooltips.js.map +1 -0
- package/build/components/Finder/components/Calendar/helpers/index.js +22 -0
- package/build/components/Finder/components/Calendar/helpers/index.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +0 -1
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.Header.js +15 -43
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +19 -9
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +29 -31
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +0 -4
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/helpers/consolidateStore.js +2 -2
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/helpers/index.js +11 -0
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/themeDirection.js +14 -0
- package/build/helpers/themeDirection.js.map +1 -0
- package/build/services/Rates/helpers/compareSuggestions.js +40 -0
- package/build/services/Rates/helpers/compareSuggestions.js.map +1 -0
- package/build/services/Rates/helpers/getCalendarSuggestions.js +60 -0
- package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -0
- package/build/services/Rates/helpers/getDisabledDates.js +35 -0
- package/build/services/Rates/helpers/getDisabledDates.js.map +1 -0
- package/build/services/Rates/helpers/getMinStayDates.js +36 -0
- package/build/services/Rates/helpers/getMinStayDates.js.map +1 -0
- package/build/services/Rates/helpers/getOccupationSuggestions.js +22 -47
- package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
- package/build/services/Rates/helpers/getRooms.js +55 -0
- package/build/services/Rates/helpers/getRooms.js.map +1 -0
- package/build/services/Rates/helpers/parseUnavailability.js +31 -2
- package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
- package/build/services/Rates/rates.js +2 -0
- package/build/services/Rates/rates.js.map +1 -1
- package/package.json +1 -1
- package/public/routes/Step1-Rates.jsx +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Footer","_ref","cart","dataSource","taxesType","extras","occupation","onSubmit","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","arguments","length","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","key","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","bold","action","description","concat","lighten","currencyFormat","summary","headline","level","tiny","getLabelTaxes","Button","disabled","large","onPress","L10N","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({ cart = [], dataSource: { taxesType } = {}, extras, occupation = [], onSubmit = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={id} className={style.cartItem}>\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n <Text lighten small>{`| ${boardName}`}</Text>\n </Text>\n\n <Text bold action={!isMobile} small={isMobile}>\n {currencyFormat({ currency, value: amount * price })}\n </Text>\n </View>\n );\n })}\n </View>\n </View>\n\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: totalPrice })}\n </Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.shape({}),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Footer","_ref","cart","dataSource","taxesType","extras","occupation","onSubmit","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","arguments","length","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","key","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","bold","action","description","concat","lighten","currencyFormat","summary","headline","level","tiny","getLabelTaxes","Button","disabled","large","onPress","L10N","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({ cart = [], dataSource: { taxesType } = {}, extras, occupation = [], onSubmit = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={id} className={style.cartItem}>\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n <Text lighten small>{`| ${boardName}`}</Text>\n </Text>\n\n <Text bold action={!isMobile} small={isMobile}>\n {currencyFormat({ currency, value: amount * price })}\n </Text>\n </View>\n );\n })}\n </View>\n </View>\n\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: totalPrice })}\n </Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var _locale = require("@mirai/locale");
|
|
|
9
9
|
var _services = require("@mirai/services");
|
|
10
10
|
var _ui = require("@mirai/ui");
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _react =
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
var _components = require("./components");
|
|
14
14
|
var _Rates = require("./Rates.constants");
|
|
15
15
|
var _Rates2 = require("./Rates.l10n");
|
|
@@ -21,17 +21,21 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
21
21
|
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); }
|
|
22
22
|
const Header = _ref => {
|
|
23
23
|
let {
|
|
24
|
+
children,
|
|
25
|
+
clubDiscount = false,
|
|
24
26
|
dataSource: {
|
|
25
27
|
clubConditions,
|
|
26
28
|
items = [],
|
|
27
29
|
...dataSource
|
|
28
30
|
} = {},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
onChange = () => {},
|
|
31
|
+
multiRoom,
|
|
32
|
+
onClubDiscount = () => {},
|
|
32
33
|
onSelect = () => {},
|
|
33
34
|
...others
|
|
34
35
|
} = _ref;
|
|
36
|
+
const {
|
|
37
|
+
isMobile
|
|
38
|
+
} = (0, _ui.useDevice)();
|
|
35
39
|
const {
|
|
36
40
|
translate
|
|
37
41
|
} = (0, _locale.useLocale)();
|
|
@@ -45,49 +49,20 @@ const Header = _ref => {
|
|
|
45
49
|
session
|
|
46
50
|
} = {}
|
|
47
51
|
} = (0, _dataSources.useStore)();
|
|
48
|
-
(0, _react.useEffect)(() => {
|
|
49
|
-
// ! TODO: This should be in <Rates>
|
|
50
|
-
const callback = function () {
|
|
51
|
-
let {
|
|
52
|
-
currency
|
|
53
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
54
|
-
return onChange({
|
|
55
|
-
...value,
|
|
56
|
-
currency
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
_dataSources.Event.subscribe(_helpers.EVENT.INTENT_CURRENCY, callback);
|
|
60
|
-
return () => _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_CURRENCY, callback);
|
|
61
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
|
-
}, []);
|
|
63
|
-
const handleChange = function () {
|
|
64
|
-
let {
|
|
65
|
-
clubDiscount,
|
|
66
|
-
currency
|
|
67
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
68
|
-
const next = {
|
|
69
|
-
...value
|
|
70
|
-
};
|
|
71
|
-
if (clubDiscount !== undefined) next.clubDiscount = clubDiscount;
|
|
72
|
-
if (currency !== undefined) next.currency = currency;
|
|
73
|
-
onChange(next);
|
|
74
|
-
};
|
|
75
|
-
const {
|
|
76
|
-
clubDiscount = false
|
|
77
|
-
} = value;
|
|
78
52
|
const {
|
|
79
53
|
contentBackground
|
|
80
54
|
} = _ui.Theme.get();
|
|
81
55
|
const hasItems = items.length > 0;
|
|
82
|
-
const expandClubDiscount = clubConditions || _services.ServiceFeatures.get(_Rates.FEATURE_SHOW_CLUB_DISCOUNT, id) || clubDiscount === false || false;
|
|
56
|
+
const expandClubDiscount = clubConditions !== undefined || _services.ServiceFeatures.get(_Rates.FEATURE_SHOW_CLUB_DISCOUNT, id) || clubDiscount === false || false;
|
|
83
57
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
84
58
|
row: true,
|
|
85
|
-
className: (0, _ui.styles)(style.header, style.blur, others.className),
|
|
59
|
+
className: (0, _ui.styles)(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className),
|
|
86
60
|
style: {
|
|
87
61
|
backgroundColor: (0, _helpers.opacity)(contentBackground, 0.66)
|
|
88
62
|
}
|
|
89
63
|
}, children, hasItems && /*#__PURE__*/_react.default.createElement(_components.Hotelverse, _extends({}, dataSource, {
|
|
90
64
|
items,
|
|
65
|
+
multiRoom,
|
|
91
66
|
onSelect
|
|
92
67
|
}, others, {
|
|
93
68
|
className: [style.tag, style.highlight]
|
|
@@ -125,9 +100,7 @@ const Header = _ref => {
|
|
|
125
100
|
}))), /*#__PURE__*/_react.default.createElement(_ui.Switch, {
|
|
126
101
|
checked: clubDiscount,
|
|
127
102
|
name: "clubDiscount",
|
|
128
|
-
onChange:
|
|
129
|
-
clubDiscount: next
|
|
130
|
-
}),
|
|
103
|
+
onChange: onClubDiscount,
|
|
131
104
|
className: style.switch
|
|
132
105
|
})));
|
|
133
106
|
};
|
|
@@ -135,11 +108,10 @@ exports.Header = Header;
|
|
|
135
108
|
Header.displayName = 'Mirai:Core:Rates:Header';
|
|
136
109
|
Header.propTypes = {
|
|
137
110
|
children: _propTypes.default.node,
|
|
111
|
+
clubDiscount: _propTypes.default.bool,
|
|
138
112
|
dataSource: _propTypes.default.shape({}),
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}),
|
|
142
|
-
onChange: _propTypes.default.func,
|
|
113
|
+
multiRoom: _propTypes.default.bool,
|
|
114
|
+
onClubDiscount: _propTypes.default.func,
|
|
143
115
|
onSelect: _propTypes.default.func
|
|
144
116
|
};
|
|
145
117
|
//# sourceMappingURL=Rates.Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Rates","_Rates2","style","_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","Header","_ref","dataSource","clubConditions","items","children","value","onChange","onSelect","others","translate","useLocale","club","discount","name","id","session","useStore","useEffect","callback","currency","undefined","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","handleChange","clubDiscount","next","contentBackground","Theme","hasItems","expandClubDiscount","ServiceFeatures","FEATURE_SHOW_CLUB_DISCOUNT","createElement","View","row","className","styles","header","blur","backgroundColor","opacity","Hotelverse","tag","highlight","Text","action","bold","L10N","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","Switch","checked","switch","exports","displayName","propTypes","PropTypes","node","shape","bool","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, styles, Switch, Text, Theme, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { Hotelverse } from './components';\nimport { FEATURE_SHOW_CLUB_DISCOUNT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n children,\n value = {},\n onChange = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, id, session } = {} } = useStore();\n\n useEffect(() => {\n // ! TODO: This should be in <Rates>\n const callback = ({ currency } = {}) => onChange({ ...value, currency });\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleChange = ({ clubDiscount, currency } = {}) => {\n const next = { ...value };\n\n if (clubDiscount !== undefined) next.clubDiscount = clubDiscount;\n if (currency !== undefined) next.currency = currency;\n\n onChange(next);\n };\n\n const { clubDiscount = false } = value;\n const { contentBackground } = Theme.get();\n const hasItems = items.length > 0;\n const expandClubDiscount =\n clubConditions || ServiceFeatures.get(FEATURE_SHOW_CLUB_DISCOUNT, id) || clubDiscount === false || false;\n\n return (\n <View\n row\n className={styles(style.header, style.blur, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse {...{ ...dataSource, items, onSelect, ...others }} className={[style.tag, style.highlight]} />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <View row className={[style.tag, style.clubDiscount, clubDiscount && style.highlight]}>\n <View row>\n <Text action bold>\n {translate(L10N.LABEL_APPLY_DISCOUNTS)}\n </Text>\n\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </View>\n\n <Switch\n checked={clubDiscount}\n name=\"clubDiscount\"\n onChange={(next) => handleChange({ clubDiscount: next })}\n className={style.switch}\n />\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({}),\n value: PropTypes.shape({\n clubDiscount: PropTypes.bool,\n }),\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAJ,uBAAA,CAAAP,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AAAmC,SAAAa,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;AAGnC,MAAMK,MAAM,GAAGC,IAAA,IAOT;EAAA,IAPU;IACdC,UAAU,EAAE;MAAEC,cAAc;MAAEC,KAAK,GAAG,EAAE;MAAE,GAAGF;IAAW,CAAC,GAAG,CAAC,CAAC;IAC9DG,QAAQ;IACRC,KAAK,GAAG,CAAC,CAAC;IACVC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnB,GAAGC;EACL,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEL,KAAK,EAAE;MAAEM,IAAI,EAAE;QAAEC,QAAQ;QAAEC;MAAK,CAAC,GAAG,CAAC,CAAC;MAAEC,EAAE;MAAEC;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEjF,IAAAC,gBAAS,EAAC,MAAM;IACd;IACA,MAAMC,QAAQ,GAAG,SAAAA,CAAA;MAAA,IAAC;QAAEC;MAAS,CAAC,GAAAzB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKY,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEc;MAAS,CAAC,CAAC;IAAA;IAExEE,kBAAK,CAACC,SAAS,CAACC,cAAK,CAACC,eAAe,EAAEN,QAAQ,CAAC;IAChD,OAAO,MAAMG,kBAAK,CAACI,WAAW,CAACF,cAAK,CAACC,eAAe,EAAEN,QAAQ,CAAC;IAC/D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,YAAY,GAAG,SAAAA,CAAA,EAAqC;IAAA,IAApC;MAAEC,YAAY;MAAER;IAAS,CAAC,GAAAzB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG,CAAC,CAAC;IACnD,MAAMkC,IAAI,GAAG;MAAE,GAAGvB;IAAM,CAAC;IAEzB,IAAIsB,YAAY,KAAKP,SAAS,EAAEQ,IAAI,CAACD,YAAY,GAAGA,YAAY;IAChE,IAAIR,QAAQ,KAAKC,SAAS,EAAEQ,IAAI,CAACT,QAAQ,GAAGA,QAAQ;IAEpDb,QAAQ,CAACsB,IAAI,CAAC;EAChB,CAAC;EAED,MAAM;IAAED,YAAY,GAAG;EAAM,CAAC,GAAGtB,KAAK;EACtC,MAAM;IAAEwB;EAAkB,CAAC,GAAGC,SAAK,CAACtD,GAAG,CAAC,CAAC;EACzC,MAAMuD,QAAQ,GAAG5B,KAAK,CAACR,MAAM,GAAG,CAAC;EACjC,MAAMqC,kBAAkB,GACtB9B,cAAc,IAAI+B,yBAAe,CAACzD,GAAG,CAAC0D,iCAA0B,EAAEpB,EAAE,CAAC,IAAIa,YAAY,KAAK,KAAK,IAAI,KAAK;EAE1G,oBACElE,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAA8E,IAAI;IACHC,GAAG;IACHC,SAAS,EAAE,IAAAC,UAAM,EAACzE,KAAK,CAAC0E,MAAM,EAAE1E,KAAK,CAAC2E,IAAI,EAAEjC,MAAM,CAAC8B,SAAS,CAAE;IAC9DxE,KAAK,EAAE;MAAE4E,eAAe,EAAE,IAAAC,gBAAO,EAACd,iBAAiB,EAAE,IAAI;IAAE;EAAE,GAE5DzB,QAAQ,EAER2B,QAAQ,iBACPtE,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAACxE,WAAA,CAAAiF,UAAU,EAAAtD,QAAA,KAAUW,UAAU;IAAEE,KAAK;IAAEI;EAAQ,GAAKC,MAAM;IAAI8B,SAAS,EAAE,CAACxE,KAAK,CAAC+E,GAAG,EAAE/E,KAAK,CAACgF,SAAS;EAAE,EAAE,CAC1G,EAEAlC,QAAQ,KAAKQ,SAAS,IAAI,CAACL,OAAO,IAAIgB,QAAQ,iBAC7CtE,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAA8E,IAAI;IAACC,GAAG;IAACC,SAAS,EAAE,CAACxE,KAAK,CAAC+E,GAAG,EAAE/E,KAAK,CAAC6D,YAAY,EAAEA,YAAY,IAAI7D,KAAK,CAACgF,SAAS;EAAE,gBACpFrF,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAA8E,IAAI;IAACC,GAAG;EAAA,gBACP5E,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAAyF,IAAI;IAACC,MAAM;IAACC,IAAI;EAAA,GACdxC,SAAS,CAACyC,YAAI,CAACC,qBAAqB,CACjC,CAAC,eAEP1F,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAA8F,OAAO;IACNC,SAAS;IACTC,QAAQ,EAAEA,CAAA,kBACR7F,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAA1E,MAAA,CAAAa,OAAA,CAAAiF,QAAA,qBACE9F,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAAyF,IAAI;MAACE,IAAI;MAACD,MAAM;IAAA,GACdvC,SAAS,CAACyC,YAAI,CAACM,4BAA4B,EAAE;MAAE7C,IAAI,EAAEE;IAAK,CAAC,CACxD,CAAC,EAENX,cAAc,gBACbzC,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAAyF,IAAI;MAACU,KAAK;IAAA,GACRhD,SAAS,CAACyC,YAAI,CAACQ,qBAAqB,EAAE;MACrCC,UAAU,eACRlG,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAAsG,MAAM;QAACC,IAAI,EAAE3D,cAAe;QAAC4D,MAAM;QAACrE,MAAM,EAAC,QAAQ;QAAC6C,SAAS,EAAExE,KAAK,CAACkF;MAAO,GAC1EvC,SAAS,CAACyC,YAAI,CAACa,2BAA2B,CACrC;IAEZ,CAAC,CACG,CAAC,gBAEPtG,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAAyF,IAAI;MAACU,KAAK;IAAA,GAAEhD,SAAS,CAACyC,YAAI,CAACc,mBAAmB,CAAQ,CAEzD,CACF;IACFC,OAAO,EAAEjC,kBAAmB;IAC5BM,SAAS,EAAExE,KAAK,CAACoG;EAAQ,gBAEzBzG,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAA6G,IAAI;IAAC9D,KAAK,EAAE+D,aAAI,CAACC;EAAK,CAAE,CAClB,CACL,CAAC,eAEP5G,MAAA,CAAAa,OAAA,CAAA6D,aAAA,CAAC7E,GAAA,CAAAgH,MAAM;IACLC,OAAO,EAAE5C,YAAa;IACtBd,IAAI,EAAC,cAAc;IACnBP,QAAQ,EAAGsB,IAAI,IAAKF,YAAY,CAAC;MAAEC,YAAY,EAAEC;IAAK,CAAC,CAAE;IACzDU,SAAS,EAAExE,KAAK,CAAC0G;EAAO,CACzB,CACG,CAEJ,CAAC;AAEX,CAAC;AAACC,OAAA,CAAA1E,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC2E,WAAW,GAAG,yBAAyB;AAE9C3E,MAAM,CAAC4E,SAAS,GAAG;EACjBvE,QAAQ,EAAEwE,kBAAS,CAACC,IAAI;EACxB5E,UAAU,EAAE2E,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/BzE,KAAK,EAAEuE,kBAAS,CAACE,KAAK,CAAC;IACrBnD,YAAY,EAAEiD,kBAAS,CAACG;EAC1B,CAAC,CAAC;EACFzE,QAAQ,EAAEsE,kBAAS,CAACI,IAAI;EACxBzE,QAAQ,EAAEqE,kBAAS,CAACI;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","_Rates2","style","_interopRequireWildcard","_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","Header","_ref","children","clubDiscount","dataSource","clubConditions","items","multiRoom","onClubDiscount","onSelect","others","isMobile","useDevice","translate","useLocale","value","club","discount","name","id","session","useStore","contentBackground","Theme","hasItems","expandClubDiscount","undefined","ServiceFeatures","FEATURE_SHOW_CLUB_DISCOUNT","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","tag","highlight","Text","action","bold","L10N","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","Switch","checked","onChange","switch","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, styles, Switch, Text, Theme, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { FEATURE_SHOW_CLUB_DISCOUNT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n multiRoom,\n onClubDiscount = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, id, session } = {} } = useStore();\n\n const { contentBackground } = Theme.get();\n const hasItems = items.length > 0;\n const expandClubDiscount =\n clubConditions !== undefined ||\n ServiceFeatures.get(FEATURE_SHOW_CLUB_DISCOUNT, id) ||\n clubDiscount === false ||\n false;\n\n return (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <View row className={[style.tag, style.clubDiscount, clubDiscount && style.highlight]}>\n <View row>\n <Text action bold>\n {translate(L10N.LABEL_APPLY_DISCOUNTS)}\n </Text>\n\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </View>\n\n <Switch checked={clubDiscount} name=\"clubDiscount\" onChange={onClubDiscount} className={style.switch} />\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ var _dataSources = require("@mirai/data-sources");
|
|
|
8
8
|
var _locale = require("@mirai/locale");
|
|
9
9
|
var _ui = require("@mirai/ui");
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _components = require("./components");
|
|
13
13
|
var _helpers = require("./helpers");
|
|
14
14
|
var _Rates = require("./Rates.constants");
|
|
@@ -21,10 +21,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
21
21
|
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); }
|
|
22
22
|
const Unavailability = _ref => {
|
|
23
23
|
let {
|
|
24
|
-
calendar =
|
|
24
|
+
calendar = {},
|
|
25
25
|
hotels = [],
|
|
26
26
|
suggestions: {
|
|
27
27
|
calendar: calendarSuggestions = [],
|
|
28
|
+
description,
|
|
28
29
|
occupation: occupationSuggestions = []
|
|
29
30
|
} = {},
|
|
30
31
|
taxesType
|
|
@@ -41,6 +42,12 @@ const Unavailability = _ref => {
|
|
|
41
42
|
set,
|
|
42
43
|
value: store
|
|
43
44
|
} = (0, _dataSources.useStore)();
|
|
45
|
+
(0, _react.useEffect)(() => {
|
|
46
|
+
_dataSources.Event.publish(_helpers2.EVENT.FINDER, {
|
|
47
|
+
calendar
|
|
48
|
+
});
|
|
49
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
+
}, []);
|
|
44
51
|
const {
|
|
45
52
|
club = {},
|
|
46
53
|
currency,
|
|
@@ -67,8 +74,11 @@ const Unavailability = _ref => {
|
|
|
67
74
|
});
|
|
68
75
|
};
|
|
69
76
|
const handleFinder = () => {
|
|
70
|
-
_dataSources.Event.publish(_helpers2.EVENT.FINDER, {
|
|
71
|
-
|
|
77
|
+
_dataSources.Event.publish(_helpers2.EVENT.FINDER, isCalendar ? {
|
|
78
|
+
calendar,
|
|
79
|
+
focus: 'calendar'
|
|
80
|
+
} : {
|
|
81
|
+
focus: 'occupation'
|
|
72
82
|
});
|
|
73
83
|
};
|
|
74
84
|
const renderPrice = function () {
|
|
@@ -109,20 +119,21 @@ const Unavailability = _ref => {
|
|
|
109
119
|
type: accommodationType
|
|
110
120
|
}, translate);
|
|
111
121
|
const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;
|
|
122
|
+
const isCalendar = calendarSuggestions.length > 0;
|
|
112
123
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
113
124
|
className: style.unavailability
|
|
114
125
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
115
126
|
row: !isMobile,
|
|
116
127
|
className: style.banner
|
|
117
128
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
118
|
-
value:
|
|
129
|
+
value: isCalendar ? _helpers2.ICON.CALENDAR_BUSY : _helpers2.ICON.PERSON_OFF
|
|
119
130
|
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
120
131
|
wide: true,
|
|
121
132
|
className: style.texts
|
|
122
133
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
123
134
|
headline: true,
|
|
124
135
|
level: isMobile ? 3 : 2
|
|
125
|
-
},
|
|
136
|
+
}, isCalendar ? description || translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_CALENDAR) : translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_OCCUPATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
126
137
|
small: isMobile
|
|
127
138
|
}, translate(hotels.length ? _Rates2.L10N.LABEL_REFINE_SEARCH_CLUB : _Rates2.L10N.LABEL_REFINE_SEARCH, {
|
|
128
139
|
club: club.name
|
|
@@ -132,7 +143,7 @@ const Unavailability = _ref => {
|
|
|
132
143
|
}, translate(_Rates2.L10N.ACTION_REFINE_SEARCH))), hasSuggestions && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
133
144
|
bold: true,
|
|
134
145
|
headline: true
|
|
135
|
-
}, translate(_Rates2.L10N.LABEL_AVAILABLE_ALTERNATIVES)),
|
|
146
|
+
}, translate(_Rates2.L10N.LABEL_AVAILABLE_ALTERNATIVES)), isCalendar && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
136
147
|
row: !isMobile,
|
|
137
148
|
className: style.items
|
|
138
149
|
}, calendarSuggestions.map(function () {
|
|
@@ -230,8 +241,7 @@ const Unavailability = _ref => {
|
|
|
230
241
|
exports.Unavailability = Unavailability;
|
|
231
242
|
Unavailability.displayName = 'Mirai:Core:Rates:Unavailability';
|
|
232
243
|
Unavailability.propTypes = {
|
|
233
|
-
calendar: _propTypes.default.
|
|
234
|
-
occupation: _propTypes.default.bool,
|
|
244
|
+
calendar: _propTypes.default.shape({}),
|
|
235
245
|
hotels: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
236
246
|
suggestions: _propTypes.default.shape({
|
|
237
247
|
calendar: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_helpers","_Rates","_Rates2","style","_interopRequireWildcard","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","Event","publish","EVENT","FINDER","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = false,\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, { focus: calendar ? 'calendar' : 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={calendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {translate(calendar ? L10N.LABEL_NO_AVAILABILITY_CALENDAR : L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.bool,\n occupation: PropTypes.bool,\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":";;;;;;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,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAC,uBAAA,CAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AAAmC,SAAAa,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;AAAA,SAAAlB,uBAAA8B,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;AAGnC,MAAMK,cAAc,GAAGC,IAAA,IAKjB;EAAA,IALkB;IACtBC,QAAQ,GAAG,KAAK;IAChBC,MAAM,GAAG,EAAE;IACXC,WAAW,EAAE;MAAEF,QAAQ,EAAEG,mBAAmB,GAAG,EAAE;MAAEC,UAAU,EAAEC,qBAAqB,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IAChGC;EACF,CAAC,GAAAP,IAAA;EACC,MAAM;IAAEQ,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACvC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACzC,MAAM;IAAEzB,GAAG;IAAE0B,KAAK,EAAEC;EAAM,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAExC,MAAM;IACJC,IAAI,GAAG,CAAC,CAAC;IACTC,QAAQ;IACRC,MAAM,GAAG,CAAC,CAAC;IACXC,KAAK,EAAE;MAAEC,iBAAiB,EAAEC,sBAAsB;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EACzE,CAAC,GAAGR,KAAK;EAET,MAAMS,cAAc,GAAGA,CAACC,IAAI,EAAEC,EAAE,KAAK;IACnCtC,GAAG,CAAC;MAAE+B,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAElB,QAAQ,EAAE,CAACwB,IAAI,EAAEC,EAAE;MAAE;IAAE,CAAC,CAAC;EACtD,CAAC;EAED,MAAMC,gBAAgB,GAAItB,UAAU,IAAK;IACvCjB,GAAG,CAAC;MAAE+B,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAEd;MAAW;IAAE,CAAC,CAAC;EAC5C,CAAC;EAED,MAAMuB,YAAY,GAAGA,CAAA,KAAM;IACzBC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAEC,KAAK,EAAEhC,QAAQ,GAAG,UAAU,GAAG;IAAa,CAAC,CAAC;EAC9E,CAAC;EAED,MAAMiC,WAAW,GAAG,SAAAA,CAAA;IAAA,IAAC;MAAEC,KAAK;MAAEC;IAAQ,CAAC,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;IAAA,oBAC1ClC,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;MAACC,GAAG;MAACC,SAAS,EAAE5E,KAAK,CAACsE;IAAM,gBAC/B3E,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI,qBACH/E,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAACC,KAAK;IAAA,GAAE/B,SAAS,CAACgC,YAAI,CAACC,UAAU,CAAQ,CAAC,eAC/CrF,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAACI,IAAI;MAACC,QAAQ;MAACC,KAAK,EAAExC,QAAQ,IAAI2B,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;IAAE,GAC3D,IAAAc,sBAAc,EAAC;MAAE/B,QAAQ;MAAEP,MAAM;MAAEuC,qBAAqB,EAAE,CAAC;MAAEpC,KAAK,EAAEqB;IAAM,CAAC,CACxE,CAAC,eACP3E,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAACS,OAAO;MAACR,KAAK;IAAA,GAChB/B,SAAS,CAAC,IAAAwC,sBAAa,EAAC7C,SAAS,CAAC,CAC/B,CACF,CAAC,eAEP/C,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAgG,MAAM;MAACjB,OAAO,EAAEA;IAAQ,GAAExB,SAAS,CAACgC,YAAI,CAACU,gBAAgB,CAAU,CAChE,CAAC;EAAA,CACR;EAED,MAAM;IAAEC,KAAK,EAAE;MAAEC,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGrC,MAAM;EAChD,MAAM;IAAEE,iBAAiB,GAAGC;EAAuB,CAAC,GAAGC,QAAQ,CAACiC,EAAE,CAAC,IAAI,CAAC,CAAC;EAEzE,MAAMC,aAAa,GAAG,IAAAC,+BAAqB,EAAC;IAAEC,IAAI,EAAEtC;EAAkB,CAAC,EAAET,SAAS,CAAC;EACnF,MAAMgD,cAAc,GAAGxD,mBAAmB,CAACT,MAAM,GAAG,CAAC,IAAIW,qBAAqB,CAACX,MAAM,GAAG,CAAC;EAEzF,oBACEnC,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;IAACE,SAAS,EAAE5E,KAAK,CAACgG;EAAe,gBACpCrG,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;IAACC,GAAG,EAAE,CAAChC,QAAS;IAACiC,SAAS,EAAE5E,KAAK,CAACiG;EAAO,gBAC5CtG,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAA0G,IAAI;IAACjD,KAAK,EAAEb,QAAQ,GAAG+D,cAAI,CAACC,aAAa,GAAGD,cAAI,CAACE;EAAW,CAAE,CAAC,eAChE1G,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;IAAC4B,IAAI;IAAC1B,SAAS,EAAE5E,KAAK,CAACuG;EAAM,gBAChC5G,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;IAACK,QAAQ;IAACC,KAAK,EAAExC,QAAQ,GAAG,CAAC,GAAG;EAAE,GACpCI,SAAS,CAACX,QAAQ,GAAG2C,YAAI,CAACyB,8BAA8B,GAAGzB,YAAI,CAAC0B,gCAAgC,CAC7F,CAAC,eACP9G,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;IAACC,KAAK,EAAEnC;EAAS,GACnBI,SAAS,CAACV,MAAM,CAACP,MAAM,GAAGiD,YAAI,CAAC2B,wBAAwB,GAAG3B,YAAI,CAAC4B,mBAAmB,EAAE;IACnFvD,IAAI,EAAEA,IAAI,CAACwD;EACb,CAAC,CACG,CAOF,CAAC,eACPjH,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAgG,MAAM;IAACc,IAAI,EAAE3D,QAAS;IAAC4B,OAAO,EAAER;EAAa,GAC3ChB,SAAS,CAACgC,YAAI,CAAC8B,oBAAoB,CAC9B,CACJ,CAAC,EAENd,cAAc,iBACbpG,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChBnC,SAAS,CAACgC,YAAI,CAAC+B,4BAA4B,CACxC,CACP,EAEAvE,mBAAmB,CAACT,MAAM,GAAG,CAAC,iBAC7BnC,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;IAACC,GAAG,EAAE,CAAChC,QAAS;IAACiC,SAAS,EAAE5E,KAAK,CAAC+G;EAAM,GAC1CxE,mBAAmB,CAACyE,GAAG,CAAC;IAAA,IAAC;MAAEpD,IAAI;MAAEC,EAAE;MAAES,KAAK,GAAG,CAAC;MAAE2C;IAAM,CAAC,GAAApF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEqF,KAAK,GAAArF,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA2C,SAAA;IAAA,oBAClE7E,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;MAAC1C,GAAG,cAAAmF,MAAA,CAAcD,KAAK,CAAG;MAACtC,SAAS,EAAE5E,KAAK,CAACoH;IAAK,gBACpDzH,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI,qBACH/E,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;MAACC,GAAG;IAAA,gBACPhF,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACvC,QAAS;MAACwC,KAAK,EAAE;IAAE,GACtC,IAAAkC,kBAAU,EAACzD,IAAI,EAAE;MAAEd,MAAM;MAAE,GAAGwE;IAAY,CAAC,CACxC,CAAC,eACP3H,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAACD,SAAS,EAAE5E,KAAK,CAACuH;IAAY,GAAC,QAAO,CAAC,eAC5C5H,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACvC,QAAS;MAACwC,KAAK,EAAE;IAAE,GACtC,IAAAkC,kBAAU,EAACxD,EAAE,IAAIO,KAAK,EAAE;MAAEtB,MAAM;MAAE,GAAGwE;IAAY,CAAC,CAC/C,CACF,CAAC,eACP3H,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAAC2C,MAAM,EAAE,CAAC7E,QAAS;MAACmC,KAAK,EAAEnC;IAAS,MAAAwE,MAAA,CAAK,IAAAM,gBAAQ,EAAC7D,IAAI,EAAEC,EAAE,CAAC,CAAC6D,IAAI,OAAAP,MAAA,CAAIpE,SAAS,CAChFgC,YAAI,CAAC4C,YACP,CAAC,CAAS,CACN,CAAC,EAENtD,WAAW,CAAC;MAAEC,KAAK;MAAE2C,KAAK;MAAE1C,OAAO,EAAEA,CAAA,KAAMZ,cAAc,CAACC,IAAI,EAAEC,EAAE;IAAE,CAAC,CAClE,CAAC;EAAA,CACR,CACG,CACP,EAEApB,qBAAqB,CAACX,MAAM,GAAG,CAAC,iBAC/BnC,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;IAACC,GAAG,EAAE,CAAChC,QAAS;IAACiC,SAAS,EAAE5E,KAAK,CAAC+G;EAAM,GAC1CtE,qBAAqB,CAACuE,GAAG,CAAC,CAAAY,KAAA,EAAwCV,KAAK;IAAA,IAA5C;MAAE1E,UAAU,GAAG,EAAE;MAAE8B,KAAK,GAAG,CAAC;MAAE2C;IAAM,CAAC,GAAAW,KAAA;IAAA,oBAC/DjI,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;MAAC1C,GAAG,gBAAAmF,MAAA,CAAgBD,KAAK,CAAG;MAACtC,SAAS,EAAE5E,KAAK,CAACoH;IAAK,gBACtDzH,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;MAACI,IAAI;MAAC4C,UAAU;MAAC3C,QAAQ,EAAE,CAACvC,QAAS;MAACwC,KAAK,EAAE;IAAE,MAAAgC,MAAA,CAC9C3E,UAAU,CAACV,MAAM,OAAAqF,MAAA,CAAI,IAAAtB,+BAAqB,EAC5C;MAAEiC,MAAM,EAAEtF,UAAU,CAACV,MAAM,GAAG,CAAC;MAAEgE,IAAI,EAAEtC;IAAkB,CAAC,EAC1DT,SACF,CAAC,CACG,CAAC,eAEPpD,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;MAACE,SAAS,EAAE5E,KAAK,CAAC+H;IAAa,GACjCvF,UAAU,CAACwE,GAAG,CAAC;MAAA,IAACe,YAAY,GAAAlG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,EAAE;MAAA,IAAEmG,SAAS,GAAAnG,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA2C,SAAA;MAAA,oBAC3C7E,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;QAAC1C,GAAG,gBAAAmF,MAAA,CAAgBD,KAAK,YAAAC,MAAA,CAASa,SAAS,CAAG;QAACpD,SAAS,EAAE5E,KAAK,CAACiI;MAAK,gBACxEtI,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;QAAC2C,MAAM;QAACK,UAAU;MAAA,MAAAV,MAAA,CAAKvB,aAAa,OAAAuB,MAAA,CAAIa,SAAS,GAAG,CAAC,CAAS,CAAC,EACnED,YAAY,CAACf,GAAG,CAAC;QAAA,IAAClB,IAAI,GAAAjE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;QAAA,IAAEqG,SAAS,GAAArG,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA2C,SAAA;QAAA,oBACrC7E,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;UAAC7C,GAAG,gBAAAmF,MAAA,CAAgBD,KAAK,YAAAC,MAAA,CAASa,SAAS,OAAAb,MAAA,CAAIe,SAAS,CAAG;UAAC5C,OAAO;UAACR,KAAK;QAAA,GAC3E,IAAAqD,4BAAkB,EAACrC,IAAI,EAAE/C,SAAS,CAC/B,CAAC;MAAA,CACR,CACG,CAAC;IAAA,CACR,CACG,CAAC,EAENsB,WAAW,CAAC;MAAEC,KAAK;MAAE2C,KAAK;MAAE1C,OAAO,EAAEA,CAAA,KAAMT,gBAAgB,CAACtB,UAAU;IAAE,CAAC,CACtE,CAAC;EAAA,CACR,CACG,CACP,EAEAuD,cAAc,IAAI1D,MAAM,CAACP,MAAM,GAAG,CAAC,iBAClCnC,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAqF,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChB9B,IAAI,CAACwD,IACF,CACP,eACDjH,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAACjF,GAAA,CAAAkF,IAAI;IAACC,GAAG,EAAE,CAAChC,QAAS;IAACiC,SAAS,EAAE5E,KAAK,CAAC+G;EAAM,GAC1C1E,MAAM,CAAC2E,GAAG,CAAC,CAACoB,IAAI,EAAElB,KAAK,kBACtBvH,MAAA,CAAAc,OAAA,CAAAgE,aAAA,CAAC7E,WAAA,CAAAyI,SAAS,EAAA5G,QAAA;IAACO,GAAG,KAAAmF,MAAA,CAAKiB,IAAI,CAAClB,KAAK,IAAIA,KAAK,OAAAC,MAAA,CAAIvE,KAAK;EAAG,GAAKwF,IAAI,CAAG,CAC/D,CACG,CACF,CAAC;AAEX,CAAC;AAACE,OAAA,CAAApG,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAACqG,WAAW,GAAG,iCAAiC;AAE9DrG,cAAc,CAACsG,SAAS,GAAG;EACzBpG,QAAQ,EAAEqG,kBAAS,CAACC,IAAI;EACxBlG,UAAU,EAAEiG,kBAAS,CAACC,IAAI;EAC1BrG,MAAM,EAAEoG,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9CtG,WAAW,EAAEmG,kBAAS,CAACG,KAAK,CAAC;IAC3BxG,QAAQ,EAAEqG,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChDpG,UAAU,EAAEiG,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EACnD,CAAC,CAAC;EACFlG,SAAS,EAAE+F,kBAAS,CAACI;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","isCalendar","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","shape","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":";;;;;;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,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAL,uBAAA,CAAAN,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AAAmC,SAAAa,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,SAAAR,wBAAAQ,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,SAAAlB,uBAAA8B,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;AAGnC,MAAMK,cAAc,GAAGC,IAAA,IAKjB;EAAA,IALkB;IACtBC,QAAQ,GAAG,CAAC,CAAC;IACbC,MAAM,GAAG,EAAE;IACXC,WAAW,EAAE;MAAEF,QAAQ,EAAEG,mBAAmB,GAAG,EAAE;MAAEC,WAAW;MAAEC,UAAU,EAAEC,qBAAqB,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IAC7GC;EACF,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACvC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACzC,MAAM;IAAE1B,GAAG;IAAE2B,KAAK,EAAEC;EAAM,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAExC,IAAAC,gBAAS,EAAC,MAAM;IACdC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAErB;IAAS,CAAC,CAAC;IACzC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IACJsB,IAAI,GAAG,CAAC,CAAC;IACTC,QAAQ;IACRC,MAAM,GAAG,CAAC,CAAC;IACXC,KAAK,EAAE;MAAEC,iBAAiB,EAAEC,sBAAsB;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EACzE,CAAC,GAAGb,KAAK;EAET,MAAMc,cAAc,GAAGA,CAACC,IAAI,EAAEC,EAAE,KAAK;IACnC5C,GAAG,CAAC;MAAEqC,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAExB,QAAQ,EAAE,CAAC8B,IAAI,EAAEC,EAAE;MAAE;IAAE,CAAC,CAAC;EACtD,CAAC;EAED,MAAMC,gBAAgB,GAAI3B,UAAU,IAAK;IACvClB,GAAG,CAAC;MAAEqC,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAEnB;MAAW;IAAE,CAAC,CAAC;EAC5C,CAAC;EAED,MAAM4B,YAAY,GAAGA,CAAA,KAAM;IACzBf,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAEa,UAAU,GAAG;MAAElC,QAAQ;MAAEmC,KAAK,EAAE;IAAW,CAAC,GAAG;MAAEA,KAAK,EAAE;IAAa,CAAC,CAAC;EACrG,CAAC;EAED,MAAMC,WAAW,GAAG,SAAAA,CAAA;IAAA,IAAC;MAAEC,KAAK;MAAEC;IAAQ,CAAC,GAAA7C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8C,SAAA,GAAA9C,SAAA,MAAG,CAAC,CAAC;IAAA,oBAC1ClC,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;MAACC,GAAG;MAACC,SAAS,EAAE9E,KAAK,CAACwE;IAAM,gBAC/B9E,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI,qBACHlF,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAACC,KAAK;IAAA,GAAEjC,SAAS,CAACkC,YAAI,CAACC,UAAU,CAAQ,CAAC,eAC/CxF,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAACI,IAAI;MAACC,QAAQ;MAACC,KAAK,EAAE1C,QAAQ,IAAI6B,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;IAAE,GAC3D,IAAAc,sBAAc,EAAC;MAAE5B,QAAQ;MAAEZ,MAAM;MAAEyC,qBAAqB,EAAE,CAAC;MAAEtC,KAAK,EAAEuB;IAAM,CAAC,CACxE,CAAC,eACP9E,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAACS,OAAO;MAACR,KAAK;IAAA,GAChBjC,SAAS,CAAC,IAAA0C,sBAAa,EAAC/C,SAAS,CAAC,CAC/B,CACF,CAAC,eAEPhD,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAmG,MAAM;MAACjB,OAAO,EAAEA;IAAQ,GAAE1B,SAAS,CAACkC,YAAI,CAACU,gBAAgB,CAAU,CAChE,CAAC;EAAA,CACR;EAED,MAAM;IAAEC,KAAK,EAAE;MAAEC,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGlC,MAAM;EAChD,MAAM;IAAEE,iBAAiB,GAAGC;EAAuB,CAAC,GAAGC,QAAQ,CAAC8B,EAAE,CAAC,IAAI,CAAC,CAAC;EAEzE,MAAMC,aAAa,GAAG,IAAAC,+BAAqB,EAAC;IAAEC,IAAI,EAAEnC;EAAkB,CAAC,EAAEd,SAAS,CAAC;EACnF,MAAMkD,cAAc,GAAG3D,mBAAmB,CAACT,MAAM,GAAG,CAAC,IAAIY,qBAAqB,CAACZ,MAAM,GAAG,CAAC;EACzF,MAAMwC,UAAU,GAAG/B,mBAAmB,CAACT,MAAM,GAAG,CAAC;EAEjD,oBACEnC,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;IAACE,SAAS,EAAE9E,KAAK,CAACkG;EAAe,gBACpCxG,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;IAACC,GAAG,EAAE,CAAClC,QAAS;IAACmC,SAAS,EAAE9E,KAAK,CAACmG;EAAO,gBAC5CzG,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAA6G,IAAI;IAACnD,KAAK,EAAEoB,UAAU,GAAGgC,cAAI,CAACC,aAAa,GAAGD,cAAI,CAACE;EAAW,CAAE,CAAC,eAClE7G,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;IAAC4B,IAAI;IAAC1B,SAAS,EAAE9E,KAAK,CAACyG;EAAM,gBAChC/G,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;IAACK,QAAQ;IAACC,KAAK,EAAE1C,QAAQ,GAAG,CAAC,GAAG;EAAE,GACpC0B,UAAU,GACP9B,WAAW,IAAIQ,SAAS,CAACkC,YAAI,CAACyB,8BAA8B,CAAC,GAC7D3D,SAAS,CAACkC,YAAI,CAAC0B,gCAAgC,CAC/C,CAAC,eACPjH,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;IAACC,KAAK,EAAErC;EAAS,GACnBI,SAAS,CAACX,MAAM,CAACP,MAAM,GAAGoD,YAAI,CAAC2B,wBAAwB,GAAG3B,YAAI,CAAC4B,mBAAmB,EAAE;IACnFpD,IAAI,EAAEA,IAAI,CAACqD;EACb,CAAC,CACG,CAOF,CAAC,eACPpH,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAmG,MAAM;IAACc,IAAI,EAAE7D,QAAS;IAAC8B,OAAO,EAAEL;EAAa,GAC3CrB,SAAS,CAACkC,YAAI,CAAC8B,oBAAoB,CAC9B,CACJ,CAAC,EAENd,cAAc,iBACbvG,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChBrC,SAAS,CAACkC,YAAI,CAAC+B,4BAA4B,CACxC,CACP,EAEA3C,UAAU,iBACT3E,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;IAACC,GAAG,EAAE,CAAClC,QAAS;IAACmC,SAAS,EAAE9E,KAAK,CAACiH;EAAM,GAC1C3E,mBAAmB,CAAC4E,GAAG,CAAC;IAAA,IAAC;MAAEjD,IAAI;MAAEC,EAAE;MAAEM,KAAK,GAAG,CAAC;MAAE2C;IAAM,CAAC,GAAAvF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8C,SAAA,GAAA9C,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEwF,KAAK,GAAAxF,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA8C,SAAA;IAAA,oBAClEhF,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;MAAC7C,GAAG,cAAAsF,MAAA,CAAcD,KAAK,CAAG;MAACtC,SAAS,EAAE9E,KAAK,CAACsH;IAAK,gBACpD5H,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI,qBACHlF,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;MAACC,GAAG;IAAA,gBACPnF,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,GACtC,IAAAkC,kBAAU,EAACtD,IAAI,EAAE;MAAEnB,MAAM;MAAE,GAAG0E;IAAY,CAAC,CACxC,CAAC,eACP9H,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAACD,SAAS,EAAE9E,KAAK,CAACyH;IAAY,GAAC,QAAO,CAAC,eAC5C/H,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,GACtC,IAAAkC,kBAAU,EAACrD,EAAE,IAAII,KAAK,EAAE;MAAExB,MAAM;MAAE,GAAG0E;IAAY,CAAC,CAC/C,CACF,CAAC,eACP9H,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAAC2C,MAAM,EAAE,CAAC/E,QAAS;MAACqC,KAAK,EAAErC;IAAS,MAAA0E,MAAA,CAAK,IAAAM,gBAAQ,EAAC1D,IAAI,EAAEC,EAAE,CAAC,CAAC0D,IAAI,OAAAP,MAAA,CAAItE,SAAS,CAChFkC,YAAI,CAAC4C,YACP,CAAC,CAAS,CACN,CAAC,EAENtD,WAAW,CAAC;MAAEC,KAAK;MAAE2C,KAAK;MAAE1C,OAAO,EAAEA,CAAA,KAAMT,cAAc,CAACC,IAAI,EAAEC,EAAE;IAAE,CAAC,CAClE,CAAC;EAAA,CACR,CACG,CACP,EAEAzB,qBAAqB,CAACZ,MAAM,GAAG,CAAC,iBAC/BnC,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;IAACC,GAAG,EAAE,CAAClC,QAAS;IAACmC,SAAS,EAAE9E,KAAK,CAACiH;EAAM,GAC1CxE,qBAAqB,CAACyE,GAAG,CAAC,CAAAY,KAAA,EAAwCV,KAAK;IAAA,IAA5C;MAAE5E,UAAU,GAAG,EAAE;MAAEgC,KAAK,GAAG,CAAC;MAAE2C;IAAM,CAAC,GAAAW,KAAA;IAAA,oBAC/DpI,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;MAAC7C,GAAG,gBAAAsF,MAAA,CAAgBD,KAAK,CAAG;MAACtC,SAAS,EAAE9E,KAAK,CAACsH;IAAK,gBACtD5H,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;MAACI,IAAI;MAAC4C,UAAU;MAAC3C,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,MAAAgC,MAAA,CAC9C7E,UAAU,CAACX,MAAM,OAAAwF,MAAA,CAAI,IAAAtB,+BAAqB,EAC5C;MAAEiC,MAAM,EAAExF,UAAU,CAACX,MAAM,GAAG,CAAC;MAAEmE,IAAI,EAAEnC;IAAkB,CAAC,EAC1Dd,SACF,CAAC,CACG,CAAC,eAEPrD,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;MAACE,SAAS,EAAE9E,KAAK,CAACiI;IAAa,GACjCzF,UAAU,CAAC0E,GAAG,CAAC;MAAA,IAACe,YAAY,GAAArG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8C,SAAA,GAAA9C,SAAA,MAAG,EAAE;MAAA,IAAEsG,SAAS,GAAAtG,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA8C,SAAA;MAAA,oBAC3ChF,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;QAAC7C,GAAG,gBAAAsF,MAAA,CAAgBD,KAAK,YAAAC,MAAA,CAASa,SAAS,CAAG;QAACpD,SAAS,EAAE9E,KAAK,CAACmI;MAAK,gBACxEzI,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;QAAC2C,MAAM;QAACK,UAAU;MAAA,MAAAV,MAAA,CAAKvB,aAAa,OAAAuB,MAAA,CAAIa,SAAS,GAAG,CAAC,CAAS,CAAC,EACnED,YAAY,CAACf,GAAG,CAAC;QAAA,IAAClB,IAAI,GAAApE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8C,SAAA,GAAA9C,SAAA,MAAG,CAAC,CAAC;QAAA,IAAEwG,SAAS,GAAAxG,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA8C,SAAA;QAAA,oBACrChF,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;UAAChD,GAAG,gBAAAsF,MAAA,CAAgBD,KAAK,YAAAC,MAAA,CAASa,SAAS,OAAAb,MAAA,CAAIe,SAAS,CAAG;UAAC5C,OAAO;UAACR,KAAK;QAAA,GAC3E,IAAAqD,4BAAkB,EAACrC,IAAI,EAAEjD,SAAS,CAC/B,CAAC;MAAA,CACR,CACG,CAAC;IAAA,CACR,CACG,CAAC,EAENwB,WAAW,CAAC;MAAEC,KAAK;MAAE2C,KAAK;MAAE1C,OAAO,EAAEA,CAAA,KAAMN,gBAAgB,CAAC3B,UAAU;IAAE,CAAC,CACtE,CAAC;EAAA,CACR,CACG,CACP,EAEAyD,cAAc,IAAI7D,MAAM,CAACP,MAAM,GAAG,CAAC,iBAClCnC,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAwF,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChB3B,IAAI,CAACqD,IACF,CACP,eACDpH,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAACpF,GAAA,CAAAqF,IAAI;IAACC,GAAG,EAAE,CAAClC,QAAS;IAACmC,SAAS,EAAE9E,KAAK,CAACiH;EAAM,GAC1C7E,MAAM,CAAC8E,GAAG,CAAC,CAACoB,IAAI,EAAElB,KAAK,kBACtB1H,MAAA,CAAAc,OAAA,CAAAmE,aAAA,CAAC/E,WAAA,CAAA2I,SAAS,EAAA/G,QAAA;IAACO,GAAG,KAAAsF,MAAA,CAAKiB,IAAI,CAAClB,KAAK,IAAIA,KAAK,OAAAC,MAAA,CAAIzE,KAAK;EAAG,GAAK0F,IAAI,CAAG,CAC/D,CACG,CACF,CAAC;AAEX,CAAC;AAACE,OAAA,CAAAvG,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAACwG,WAAW,GAAG,iCAAiC;AAE9DxG,cAAc,CAACyG,SAAS,GAAG;EACzBvG,QAAQ,EAAEwG,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BxG,MAAM,EAAEuG,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9CvG,WAAW,EAAEsG,kBAAS,CAACC,KAAK,CAAC;IAC3BzG,QAAQ,EAAEwG,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChDpG,UAAU,EAAEmG,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EACnD,CAAC,CAAC;EACFlG,SAAS,EAAEiG,kBAAS,CAACG;AACvB,CAAC"}
|
|
@@ -71,18 +71,31 @@ const Rates = _ref => {
|
|
|
71
71
|
place = {}
|
|
72
72
|
} = finder;
|
|
73
73
|
const [cart, setCart] = (0, _react.useState)([]);
|
|
74
|
+
const [clubDiscount, setClubDiscount] = (0, _react.useState)(discount);
|
|
74
75
|
const [dataSource, setDataSource] = (0, _react.useState)();
|
|
75
76
|
const [extras, setExtras] = (0, _react.useState)();
|
|
76
77
|
const [fetching, setFetching] = (0, _react.useState)(undefined);
|
|
77
|
-
const [filter, setFilter] = (0, _react.useState)({
|
|
78
|
-
clubDiscount: discount
|
|
79
|
-
});
|
|
80
78
|
const [itemInfo, setItemInfo] = (0, _react.useState)();
|
|
81
79
|
const [itemRateInfo, setItemRateInfo] = (0, _react.useState)();
|
|
82
80
|
const [itemUrl, setItemUrl] = (0, _react.useState)();
|
|
83
81
|
const [login, setLogin] = (0, _react.useState)(false);
|
|
84
82
|
const [responseError, setResponseError] = (0, _react.useState)();
|
|
85
83
|
const [room, setRoom] = (0, _react.useState)();
|
|
84
|
+
(0, _react.useEffect)(() => {
|
|
85
|
+
const callback = async function () {
|
|
86
|
+
let {
|
|
87
|
+
currency
|
|
88
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
89
|
+
set({
|
|
90
|
+
currency
|
|
91
|
+
});
|
|
92
|
+
// ! TODO: Here locale is not correct
|
|
93
|
+
await fetch(currency, clubDiscount, undefined, room);
|
|
94
|
+
};
|
|
95
|
+
_dataSources.Event.subscribe(_helpers2.EVENT.INTENT_CURRENCY, callback);
|
|
96
|
+
return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.INTENT_CURRENCY, callback);
|
|
97
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
|
+
}, []);
|
|
86
99
|
|
|
87
100
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
101
|
(0, _react.useEffect)(() => skeleton && setFetching(true), [skeleton]);
|
|
@@ -126,6 +139,7 @@ const Rates = _ref => {
|
|
|
126
139
|
setDataSource();
|
|
127
140
|
}
|
|
128
141
|
fetch(currency, undefined, getNextUrlParams(), room);
|
|
142
|
+
replaceHistory();
|
|
129
143
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
130
144
|
}, [finder, locale, room, session]);
|
|
131
145
|
(0, _react.useEffect)(() => {
|
|
@@ -139,16 +153,19 @@ const Rates = _ref => {
|
|
|
139
153
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
140
154
|
}, [dataSource]);
|
|
141
155
|
const fetch = async function (currency) {
|
|
142
|
-
let
|
|
156
|
+
let nextClubDiscount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : clubDiscount;
|
|
143
157
|
let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : urlParams;
|
|
144
158
|
let room = arguments.length > 3 ? arguments[3] : undefined;
|
|
145
159
|
if (skeleton || !multiRoom && room !== undefined) return;
|
|
160
|
+
_dataSources.Event.publish(_helpers2.EVENT.FINDER, {
|
|
161
|
+
calendar: undefined
|
|
162
|
+
});
|
|
146
163
|
setFetching(true);
|
|
147
164
|
setResponseError();
|
|
148
165
|
const nextParams = {
|
|
149
166
|
...params,
|
|
150
167
|
club,
|
|
151
|
-
clubDiscount,
|
|
168
|
+
clubDiscount: nextClubDiscount,
|
|
152
169
|
currency,
|
|
153
170
|
id,
|
|
154
171
|
locale,
|
|
@@ -201,20 +218,11 @@ const Rates = _ref => {
|
|
|
201
218
|
});
|
|
202
219
|
replaceHistory(params);
|
|
203
220
|
};
|
|
204
|
-
const
|
|
205
|
-
let {
|
|
206
|
-
clubDiscount: nextClubDiscount,
|
|
207
|
-
currency: nextCurrency = currency
|
|
208
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
221
|
+
const handleClubDiscount = async next => {
|
|
209
222
|
setCart([]);
|
|
210
|
-
|
|
211
|
-
clubDiscount: nextClubDiscount
|
|
212
|
-
});
|
|
223
|
+
setClubDiscount(next);
|
|
213
224
|
login && setLogin(false);
|
|
214
|
-
await fetch(
|
|
215
|
-
if (currency !== nextCurrency) set({
|
|
216
|
-
currency: nextCurrency
|
|
217
|
-
});
|
|
225
|
+
await fetch(currency, next, undefined, room);
|
|
218
226
|
};
|
|
219
227
|
const handleSelect = (board, others) => {
|
|
220
228
|
const nextCart = [...cart];
|
|
@@ -232,9 +240,6 @@ const Rates = _ref => {
|
|
|
232
240
|
|
|
233
241
|
// eslint-disable-next-line no-unused-vars
|
|
234
242
|
const handleSubmit = async cart => {
|
|
235
|
-
const {
|
|
236
|
-
clubDiscount
|
|
237
|
-
} = filter;
|
|
238
243
|
const isPestana = _services.ServiceFeatures.get(_Rates.FEATURE_PESTANA, id) || false;
|
|
239
244
|
setLogin(false);
|
|
240
245
|
if (!isPestana && clubDiscount && !session && !loginShown) {
|
|
@@ -266,9 +271,6 @@ const Rates = _ref => {
|
|
|
266
271
|
const handleCheckout = function () {
|
|
267
272
|
let cart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
268
273
|
let extras = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
269
|
-
const {
|
|
270
|
-
clubDiscount
|
|
271
|
-
} = filter;
|
|
272
274
|
const urlParams = getNextUrlParams();
|
|
273
275
|
document.location.href = (0, _helpers.getForwarderUrl)({
|
|
274
276
|
cart,
|
|
@@ -315,12 +317,11 @@ const Rates = _ref => {
|
|
|
315
317
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
316
318
|
className: [style.wrapper, style.content]
|
|
317
319
|
}, response && !responseError && /*#__PURE__*/_react.default.createElement(_Rates2.Content, others), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
|
|
320
|
+
clubDiscount,
|
|
318
321
|
dataSource,
|
|
319
322
|
multiRoom,
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
onSelect: handleSelect,
|
|
323
|
-
className: multiRoom && !isMobile ? style.sticky : undefined
|
|
323
|
+
onClubDiscount: handleClubDiscount,
|
|
324
|
+
onSelect: handleSelect
|
|
324
325
|
}, !isMobile && /*#__PURE__*/_react.default.createElement(_Rates6.RoomSelector, roomSelectorProps)), response ? /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
325
326
|
row: !isMobile,
|
|
326
327
|
className: style.items
|
|
@@ -333,7 +334,6 @@ const Rates = _ref => {
|
|
|
333
334
|
key: "".concat(id || index, ":").concat(fetching, ":").concat(width),
|
|
334
335
|
id
|
|
335
336
|
}, item, {
|
|
336
|
-
filter,
|
|
337
337
|
multiRoom,
|
|
338
338
|
nights,
|
|
339
339
|
showIncluded,
|
|
@@ -383,9 +383,7 @@ const Rates = _ref => {
|
|
|
383
383
|
onClose: () => handleSelect(),
|
|
384
384
|
onSuccess: () => handleSubmit(cart)
|
|
385
385
|
}, /*#__PURE__*/_react.default.createElement(_components.ClubRate, {
|
|
386
|
-
onCancel: () =>
|
|
387
|
-
clubDiscount: false
|
|
388
|
-
}),
|
|
386
|
+
onCancel: () => handleClubDiscount(false),
|
|
389
387
|
onSubmit: () => handleSubmit(cart)
|
|
390
388
|
}))));
|
|
391
389
|
};
|