@mirai/core 0.4.545 → 0.4.547
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/Banner/Banner.js +11 -0
- package/build/components/Banner/Banner.js.map +1 -1
- package/build/components/Booking/Booking.js +19 -28
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/partials/Booking.Menu.js +12 -0
- package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
- package/build/components/Booking/partials/Booking.Modal.js +2 -2
- package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
- package/build/components/Booking/partials/Booking.ModalCalendar.js +5 -1
- package/build/components/Booking/partials/Booking.ModalCalendar.js.map +1 -1
- package/build/components/Chat/Chat.js +10 -3
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/components/Aura/Aura.js +2 -2
- package/build/components/Chat/components/Aura/Aura.js.map +1 -1
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js +4 -4
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js.map +1 -1
- package/build/components/Chat/components/Rating/Rating.js +1 -1
- package/build/components/Chat/components/Rating/Rating.js.map +1 -1
- package/build/components/Checkout/Checkout.js +74 -15
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +22 -3
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +36 -18
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +28 -3
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +47 -14
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +11 -0
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +17 -2
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +32 -10
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +4 -1
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +4 -1
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +9 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +31 -2
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +46 -6
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/components/ModalTwin/ModalTwin.js +51 -5
- package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
- package/build/components/Rates/components/OTAPrices/OTAPrices.js +66 -2
- package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
- package/build/components/Rates/hooks/useRates.js +13 -0
- package/build/components/Rates/hooks/useRates.js.map +1 -1
- package/build/components/Session/Session.Account.js +4 -0
- package/build/components/Session/Session.Account.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +38 -4
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/Signup/Signup.js +12 -0
- package/build/components/Signup/Signup.js.map +1 -1
- package/build/components/__shared__/BookingDetails/BookingDetails.js +5 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +10 -0
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js +13 -3
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
- package/build/components/__shared__/Payment/Payment.js +11 -1
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/components/helpers/constants.js +22 -1
- package/build/components/helpers/constants.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +30 -8
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/helpers/SHA256.js +6 -83
- package/build/contexts/PerformanceManager/providers/helpers/SHA256.js.map +1 -1
- package/build/helpers/SHA256.js +73 -0
- package/build/helpers/SHA256.js.map +1 -0
- package/build/helpers/getRefundableFromItems.js +22 -0
- package/build/helpers/getRefundableFromItems.js.map +1 -0
- package/build/helpers/getSearchProps.js +100 -0
- package/build/helpers/getSearchProps.js.map +1 -0
- package/build/helpers/getSuperProps.js +54 -0
- package/build/helpers/getSuperProps.js.map +1 -0
- package/build/helpers/index.js +48 -4
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/trackError.js +2 -1
- package/build/helpers/trackError.js.map +1 -1
- package/build/index.js +4 -2
- package/build/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","style","_Core","_helpers2","_Rates","_Item","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ALL_EXCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_TYPE","PriceDetails","_ref","board","cart","extras","taxesType","others","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","timestamp","setTimestamp","useState","Date","now","useEffect","callback","Event","subscribe","EVENT","OTA_PRICES_READY","unsubscribe","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","getPrices","totalBreakdown","reduce","total","_ref2","confidential","current","renderSubtotal","createElement","Fragment","View","className","anchor","row","item","Text","action","bold","L10N","LABEL_SUBTOTAL","renderTaxes","LABEL_TAXES","renderFees","LABEL_FEES","taxesTypes","Tooltip","pressable","Template","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","concat","toUpperCase","render","index","LABEL_TOTAL","tooltip","accent","medium","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getPrices } from './helpers';\nimport * as style from './PriceDetails.module.css';\nimport { TAXES_TYPE } from '../../../../../../Core.constants';\nimport { EVENT } from '../../../../../helpers';\nimport { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst { ALL_EXCLUDED, FEES_EXCLUDED, FEES_INCLUDED_TAXES_EXCLUDED, TAXES_EXCLUDED, TAXES_INCLUDED_FEES_EXCLUDED } =\n TAXES_TYPE;\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], taxesType, ...others }) => {\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\n\n const [timestamp, setTimestamp] = useState(Date.now());\n\n useEffect(() => {\n const callback = () => {\n setTimestamp(Date.now());\n };\n Event.subscribe(EVENT.OTA_PRICES_READY, callback);\n\n return () => {\n Event.unsubscribe(EVENT.OTA_PRICES_READY, callback);\n };\n }, []);\n\n const {\n basePrice = 0,\n discount: { breakdown = [] } = {},\n fees: boardFees = 0,\n taxes: boardTaxes = 0,\n totalBaseExtras = 0,\n } = cart.length === 0 ? board : getPrices({ cart, extras, ...others });\n\n const totalBreakdown = breakdown.reduce((total, { value }) => total + value, 0);\n const total = basePrice + boardFees + boardTaxes + totalBaseExtras - totalBreakdown;\n const { confidential } =\n cart.length === 0\n ? board\n : cart.reduce((total, current) => ({ confidential: current?.confidential && total?.confidential }), {\n confidential: true,\n });\n\n const renderSubtotal = () =>\n (totalBreakdown > 0 || totalBaseExtras > 0) && (\n <>\n <View className={style.anchor} />\n <View row className={style.item}>\n <Text action bold>\n {translate(L10N.LABEL_SUBTOTAL)}\n </Text>\n <Text action bold>\n {currencyFormat({\n currency,\n value:\n basePrice +\n totalBaseExtras -\n totalBreakdown +\n (taxesType === TAXES_INCLUDED_FEES_EXCLUDED ? boardTaxes : 0) +\n (taxesType === FEES_INCLUDED_TAXES_EXCLUDED ? boardFees : 0),\n })}\n </Text>\n </View>\n </>\n );\n\n const renderTaxes = () =>\n boardTaxes > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_TAXES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardTaxes })}</Text>\n </View>\n );\n\n const renderFees = () =>\n boardFees > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_FEES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardFees })}</Text>\n </View>\n );\n\n const taxesTypes = {\n [ALL_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [TAXES_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [TAXES_INCLUDED_FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [FEES_INCLUDED_TAXES_EXCLUDED]: [renderFees, renderSubtotal, renderTaxes],\n };\n\n return (\n <View row>\n <Tooltip\n pressable\n Template={() => (\n <View className={style.breakdown}>\n {basePrice > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_BASE_PRICE)}</Text>\n <Text action>{currencyFormat({ currency, value: basePrice })}</Text>\n </View>\n )}\n\n {totalBaseExtras > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_EXTRAS)}</Text>\n <Text action>{currencyFormat({ currency, value: totalBaseExtras })}</Text>\n </View>\n )}\n\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text action>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n {promocode &&\n (type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential)) &&\n ` ${promocode.toUpperCase()}`}\n </Text>\n <Text action>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n\n {(taxesTypes[taxesType] || [renderTaxes, renderFees]).map((render, index) => (\n <React.Fragment key={index}>{render()}</React.Fragment>\n ))}\n\n <View className={style.anchor} />\n\n <View row className={style.item}>\n <Text bold>{translate(L10N.LABEL_TOTAL)}</Text>\n <Text bold>{currencyFormat({ currency, value: total })}</Text>\n </View>\n </View>\n )}\n timestamp={timestamp}\n className={style.tooltip}\n >\n <Text accent action medium className={others.className}>\n {translate(L10N.LABEL_PRICE_DETAILS)}\n </Text>\n </Tooltip>\n </View>\n );\n};\n\nPriceDetails.displayName = 'Mirai:Core:Rates:Item:PriceDetails';\n\nPriceDetails.propTypes = {\n board: PropTypes.shape({\n discount: PropTypes.shape({\n breakdown: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n ),\n percentage: PropTypes.number,\n }),\n originalPrice: PropTypes.number,\n }),\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n};\n\nexport { PriceDetails };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","style","_Core","_helpers2","_Rates","_Item","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ALL_EXCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_TYPE","PriceDetails","_ref","board","cart","extras","resultPosition","taxesType","others","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","timestamp","setTimestamp","useState","Date","now","useEffect","callback","Event","subscribe","EVENT","OTA_PRICES_READY","unsubscribe","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","getPrices","totalBreakdown","reduce","total","_ref2","confidential","current","renderSubtotal","createElement","Fragment","View","className","anchor","row","item","Text","action","bold","L10N","LABEL_SUBTOTAL","renderTaxes","LABEL_TAXES","renderFees","LABEL_FEES","taxesTypes","Tooltip","pressable","onPress","publish","METRICS","id","METRICS_EVENTS","RATES_INTERACTION","element_clicked","result_position","Template","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","concat","toUpperCase","render","index","LABEL_TOTAL","tooltip","accent","medium","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getPrices } from './helpers';\nimport * as style from './PriceDetails.module.css';\nimport { TAXES_TYPE } from '../../../../../../Core.constants';\nimport { EVENT, METRICS_EVENTS } from '../../../../../helpers';\nimport { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst { ALL_EXCLUDED, FEES_EXCLUDED, FEES_INCLUDED_TAXES_EXCLUDED, TAXES_EXCLUDED, TAXES_INCLUDED_FEES_EXCLUDED } =\n TAXES_TYPE;\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], resultPosition, taxesType, ...others }) => {\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\n\n const [timestamp, setTimestamp] = useState(Date.now());\n\n useEffect(() => {\n const callback = () => {\n setTimestamp(Date.now());\n };\n Event.subscribe(EVENT.OTA_PRICES_READY, callback);\n\n return () => {\n Event.unsubscribe(EVENT.OTA_PRICES_READY, callback);\n };\n }, []);\n\n const {\n basePrice = 0,\n discount: { breakdown = [] } = {},\n fees: boardFees = 0,\n taxes: boardTaxes = 0,\n totalBaseExtras = 0,\n } = cart.length === 0 ? board : getPrices({ cart, extras, ...others });\n\n const totalBreakdown = breakdown.reduce((total, { value }) => total + value, 0);\n const total = basePrice + boardFees + boardTaxes + totalBaseExtras - totalBreakdown;\n const { confidential } =\n cart.length === 0\n ? board\n : cart.reduce((total, current) => ({ confidential: current?.confidential && total?.confidential }), {\n confidential: true,\n });\n\n const renderSubtotal = () =>\n (totalBreakdown > 0 || totalBaseExtras > 0) && (\n <>\n <View className={style.anchor} />\n <View row className={style.item}>\n <Text action bold>\n {translate(L10N.LABEL_SUBTOTAL)}\n </Text>\n <Text action bold>\n {currencyFormat({\n currency,\n value:\n basePrice +\n totalBaseExtras -\n totalBreakdown +\n (taxesType === TAXES_INCLUDED_FEES_EXCLUDED ? boardTaxes : 0) +\n (taxesType === FEES_INCLUDED_TAXES_EXCLUDED ? boardFees : 0),\n })}\n </Text>\n </View>\n </>\n );\n\n const renderTaxes = () =>\n boardTaxes > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_TAXES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardTaxes })}</Text>\n </View>\n );\n\n const renderFees = () =>\n boardFees > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_FEES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardFees })}</Text>\n </View>\n );\n\n const taxesTypes = {\n [ALL_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [TAXES_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [TAXES_INCLUDED_FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [FEES_INCLUDED_TAXES_EXCLUDED]: [renderFees, renderSubtotal, renderTaxes],\n };\n\n return (\n <View row>\n <Tooltip\n pressable\n onPress={() =>\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'card',\n element_clicked: 'price_details',\n result_position: resultPosition,\n })\n }\n Template={() => (\n <View className={style.breakdown}>\n {basePrice > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_BASE_PRICE)}</Text>\n <Text action>{currencyFormat({ currency, value: basePrice })}</Text>\n </View>\n )}\n\n {totalBaseExtras > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_EXTRAS)}</Text>\n <Text action>{currencyFormat({ currency, value: totalBaseExtras })}</Text>\n </View>\n )}\n\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text action>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n {promocode &&\n (type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential)) &&\n ` ${promocode.toUpperCase()}`}\n </Text>\n <Text action>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n\n {(taxesTypes[taxesType] || [renderTaxes, renderFees]).map((render, index) => (\n <React.Fragment key={index}>{render()}</React.Fragment>\n ))}\n\n <View className={style.anchor} />\n\n <View row className={style.item}>\n <Text bold>{translate(L10N.LABEL_TOTAL)}</Text>\n <Text bold>{currencyFormat({ currency, value: total })}</Text>\n </View>\n </View>\n )}\n timestamp={timestamp}\n className={style.tooltip}\n >\n <Text accent action medium className={others.className}>\n {translate(L10N.LABEL_PRICE_DETAILS)}\n </Text>\n </Tooltip>\n </View>\n );\n};\n\nPriceDetails.displayName = 'Mirai:Core:Rates:Item:PriceDetails';\n\nPriceDetails.propTypes = {\n board: PropTypes.shape({\n discount: PropTypes.shape({\n breakdown: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n ),\n percentage: PropTypes.number,\n }),\n originalPrice: PropTypes.number,\n }),\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n resultPosition: PropTypes.number,\n taxesType: PropTypes.number,\n};\n\nexport { PriceDetails };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,18 +40,40 @@ const ModalClubRate = _ref => {
|
|
|
40
40
|
name: club
|
|
41
41
|
} = {},
|
|
42
42
|
currency
|
|
43
|
-
}
|
|
43
|
+
}
|
|
44
44
|
} = (0, _dataSources.useStore)();
|
|
45
45
|
(0, _react.useEffect)(() => {
|
|
46
46
|
if (!cart.length || !cart[0] || cart.length > 1) memoizedDiscount = undefined;
|
|
47
47
|
}, [cart]);
|
|
48
48
|
const handleCancel = () => {
|
|
49
49
|
_dataSources.Event.publish(_helpers2.EVENT.RATES_FILTER_CLUB, false);
|
|
50
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
51
|
+
id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
|
|
52
|
+
action: 'loyalty_capture_modal_action',
|
|
53
|
+
action_selected: 'decline_discount'
|
|
54
|
+
});
|
|
50
55
|
};
|
|
51
56
|
if (!memoizedDiscount) memoizedDiscount = (0, _helpers.getDiscount)({
|
|
52
57
|
cart,
|
|
53
58
|
items
|
|
54
59
|
});
|
|
60
|
+
const total = cart.reduce(function (value) {
|
|
61
|
+
let {
|
|
62
|
+
price = 0
|
|
63
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
64
|
+
return value + price;
|
|
65
|
+
}, 0);
|
|
66
|
+
const percentage = total + memoizedDiscount > 0 ? Math.round(memoizedDiscount / (total + memoizedDiscount) * 1000) / 10 : 0;
|
|
67
|
+
(0, _react.useEffect)(() => {
|
|
68
|
+
if (!visible) return;
|
|
69
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
70
|
+
id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
|
|
71
|
+
action: 'loyalty_capture_modal_show',
|
|
72
|
+
loyalty_savings_amount: memoizedDiscount,
|
|
73
|
+
loyalty_savings_percentage: percentage
|
|
74
|
+
});
|
|
75
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
|
+
}, [visible]);
|
|
55
77
|
return /*#__PURE__*/_react.default.createElement(_ui.Modal, {
|
|
56
78
|
visible: visible
|
|
57
79
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
@@ -77,7 +99,14 @@ const ModalClubRate = _ref => {
|
|
|
77
99
|
className: style.text,
|
|
78
100
|
kwy: "registration"
|
|
79
101
|
}, translate(_ModalClubRate.L10N.LABEL_FREE_REGISTRATION_CLUB))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
80
|
-
onPress:
|
|
102
|
+
onPress: () => {
|
|
103
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
104
|
+
id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
|
|
105
|
+
action: 'loyalty_capture_modal_action',
|
|
106
|
+
action_selected: 'book_and_join'
|
|
107
|
+
});
|
|
108
|
+
onSubmit();
|
|
109
|
+
},
|
|
81
110
|
wide: true
|
|
82
111
|
}, translate(_ModalClubRate.L10N.ACTION_BOOK_AND_JOIN))), /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
83
112
|
secondary: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalClubRate","style","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","memoizedDiscount","undefined","ModalClubRate","_ref","cart","dataSource","items","visible","onSubmit","others","currencyFormat","translate","useLocale","value","club","name","currency","useStore","useEffect","handleCancel","Event","publish","EVENT","RATES_FILTER_CLUB","getDiscount","createElement","Modal","View","className","container","banner","texts","Text","bold","brand","headline","text","key","L10N","LABEL_SAVE_JOINING_CLUB","LABEL_UNLOCK_EXCLUSIVE_MEMBER","discount","action","kwy","LABEL_FREE_REGISTRATION_CLUB","Button","onPress","wide","ACTION_BOOK_AND_JOIN","Action","secondary","ACTION_SELECT_ANOTHER_FARE","exports","displayName","propTypes","PropTypes","array","shape","bool","onClose","func"],"sources":["../../../../../src/components/Rates/components/ModalClubRate/ModalClubRate.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getDiscount } from './helpers';\nimport { L10N } from './ModalClubRate.l10n';\nimport * as style from './ModalClubRate.module.css';\nimport { EVENT } from '../../../helpers';\n\nlet memoizedDiscount = undefined;\n\nconst ModalClubRate = ({ cart = [], dataSource: { items = [] } = {}, visible, onSubmit = () => {}, ...others }) => {\n const { currencyFormat, translate } = useLocale();\n const { value: { club: { name: club } = {}, currency } = {} } = useStore();\n\n useEffect(() => {\n if (!cart.length || !cart[0] || cart.length > 1) memoizedDiscount = undefined;\n }, [cart]);\n\n const handleCancel = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, false);\n };\n\n if (!memoizedDiscount) memoizedDiscount = getDiscount({ cart, items });\n\n return (\n <Modal visible={visible}>\n <View {...others} className={style.container}>\n <View className={style.banner}>\n <View className={style.texts}>\n <Text bold brand headline className={style.text} key=\"discount\">\n {translate(memoizedDiscount ? L10N.LABEL_SAVE_JOINING_CLUB : L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER, {\n club,\n discount: currencyFormat({ currency, value: memoizedDiscount }),\n })}\n </Text>\n <Text action className={style.text} kwy=\"registration\">\n {translate(L10N.LABEL_FREE_REGISTRATION_CLUB)}\n </Text>\n </View>\n\n <Button onPress={onSubmit} wide>\n {translate(L10N.ACTION_BOOK_AND_JOIN)}\n </Button>\n </View>\n\n <Action secondary wide onPress={handleCancel}>\n {translate(L10N.ACTION_SELECT_ANOTHER_FARE)}\n </Action>\n </View>\n </Modal>\n );\n};\n\nModalClubRate.displayName = 'Mirai:Core:Rates:ModalClubRate';\n\nModalClubRate.propTypes = {\n cart: PropTypes.array,\n dataSource: PropTypes.shape({}),\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { ModalClubRate };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ModalClubRate.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalClubRate","style","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","memoizedDiscount","undefined","ModalClubRate","_ref","cart","dataSource","items","visible","onSubmit","others","currencyFormat","translate","useLocale","value","club","name","currency","useStore","useEffect","handleCancel","Event","publish","EVENT","RATES_FILTER_CLUB","METRICS","id","METRICS_EVENTS","RATES_INTERACTION","action","action_selected","getDiscount","total","reduce","price","percentage","Math","round","loyalty_savings_amount","loyalty_savings_percentage","createElement","Modal","View","className","container","banner","texts","Text","bold","brand","headline","text","key","L10N","LABEL_SAVE_JOINING_CLUB","LABEL_UNLOCK_EXCLUSIVE_MEMBER","discount","kwy","LABEL_FREE_REGISTRATION_CLUB","Button","onPress","wide","ACTION_BOOK_AND_JOIN","Action","secondary","ACTION_SELECT_ANOTHER_FARE","exports","displayName","propTypes","PropTypes","array","shape","bool","onClose","func"],"sources":["../../../../../src/components/Rates/components/ModalClubRate/ModalClubRate.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getDiscount } from './helpers';\nimport { L10N } from './ModalClubRate.l10n';\nimport * as style from './ModalClubRate.module.css';\nimport { EVENT, METRICS_EVENTS } from '../../../helpers';\n\nlet memoizedDiscount = undefined;\n\nconst ModalClubRate = ({ cart = [], dataSource: { items = [] } = {}, visible, onSubmit = () => {}, ...others }) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { club: { name: club } = {}, currency },\n } = useStore();\n\n useEffect(() => {\n if (!cart.length || !cart[0] || cart.length > 1) memoizedDiscount = undefined;\n }, [cart]);\n\n const handleCancel = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, false);\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'loyalty_capture_modal_action',\n action_selected: 'decline_discount',\n });\n };\n\n if (!memoizedDiscount) memoizedDiscount = getDiscount({ cart, items });\n const total = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const percentage =\n total + memoizedDiscount > 0 ? Math.round((memoizedDiscount / (total + memoizedDiscount)) * 1000) / 10 : 0;\n\n useEffect(() => {\n if (!visible) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'loyalty_capture_modal_show',\n loyalty_savings_amount: memoizedDiscount,\n loyalty_savings_percentage: percentage,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n return (\n <Modal visible={visible}>\n <View {...others} className={style.container}>\n <View className={style.banner}>\n <View className={style.texts}>\n <Text bold brand headline className={style.text} key=\"discount\">\n {translate(memoizedDiscount ? L10N.LABEL_SAVE_JOINING_CLUB : L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER, {\n club,\n discount: currencyFormat({ currency, value: memoizedDiscount }),\n })}\n </Text>\n <Text action className={style.text} kwy=\"registration\">\n {translate(L10N.LABEL_FREE_REGISTRATION_CLUB)}\n </Text>\n </View>\n\n <Button\n onPress={() => {\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'loyalty_capture_modal_action',\n action_selected: 'book_and_join',\n });\n onSubmit();\n }}\n wide\n >\n {translate(L10N.ACTION_BOOK_AND_JOIN)}\n </Button>\n </View>\n\n <Action secondary wide onPress={handleCancel}>\n {translate(L10N.ACTION_SELECT_ANOTHER_FARE)}\n </Action>\n </View>\n </Modal>\n );\n};\n\nModalClubRate.displayName = 'Mirai:Core:Rates:ModalClubRate';\n\nModalClubRate.propTypes = {\n cart: PropTypes.array,\n dataSource: PropTypes.shape({}),\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { ModalClubRate };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,8 +54,23 @@ const ModalExtras = _ref => {
|
|
|
54
54
|
const [extras, setExtras] = (0, _react.useState)(propExtras);
|
|
55
55
|
(0, _react.useEffect)(() => {
|
|
56
56
|
if (visible) {
|
|
57
|
+
var _cart$;
|
|
57
58
|
setExtras(propExtras);
|
|
59
|
+
const roomType = cart === null || cart === void 0 ? void 0 : (_cart$ = cart[0]) === null || _cart$ === void 0 ? void 0 : _cart$.roomName;
|
|
60
|
+
const roomPrice = cart === null || cart === void 0 ? void 0 : cart.reduce(function (total) {
|
|
61
|
+
let {
|
|
62
|
+
price = 0
|
|
63
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
64
|
+
return total + price;
|
|
65
|
+
}, 0);
|
|
66
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
67
|
+
id: _helpers2.METRICS_EVENTS.EXTRAS_READY,
|
|
68
|
+
room_type: roomType,
|
|
69
|
+
room_price: roomPrice,
|
|
70
|
+
extras_count: propExtras === null || propExtras === void 0 ? void 0 : propExtras.length
|
|
71
|
+
});
|
|
58
72
|
}
|
|
73
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
74
|
}, [propExtras, visible]);
|
|
60
75
|
const handleChange = function () {
|
|
61
76
|
let {
|
|
@@ -69,6 +84,7 @@ const ModalExtras = _ref => {
|
|
|
69
84
|
})));
|
|
70
85
|
};
|
|
71
86
|
const handleSelect = id => {
|
|
87
|
+
var _value, _value2;
|
|
72
88
|
const next = extras.map(_ref2 => {
|
|
73
89
|
let {
|
|
74
90
|
selected = false
|
|
@@ -79,9 +95,33 @@ const ModalExtras = _ref => {
|
|
|
79
95
|
});
|
|
80
96
|
});
|
|
81
97
|
setExtras(next);
|
|
98
|
+
const selectedExtra = next.find(extra => extra.id === id);
|
|
99
|
+
const totalSelected = next.filter(_ref3 => {
|
|
100
|
+
let {
|
|
101
|
+
selected
|
|
102
|
+
} = _ref3;
|
|
103
|
+
return selected;
|
|
104
|
+
}).length;
|
|
105
|
+
const {
|
|
106
|
+
amount,
|
|
107
|
+
nights,
|
|
108
|
+
value,
|
|
109
|
+
valueAmount,
|
|
110
|
+
valueNights
|
|
111
|
+
} = selectedExtra || {};
|
|
112
|
+
const price = value === null || value === void 0 ? void 0 : (_value = value[valueAmount || amount]) === null || _value === void 0 ? void 0 : (_value2 = _value[valueNights || nights]) === null || _value2 === void 0 ? void 0 : _value2.price;
|
|
113
|
+
const position = next.findIndex(extra => extra.id === id) + 1;
|
|
114
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
115
|
+
id: _helpers2.METRICS_EVENTS.EXTRAS_INTERACTION,
|
|
116
|
+
action: selectedExtra !== null && selectedExtra !== void 0 && selectedExtra.selected ? 'add' : 'remove',
|
|
117
|
+
extra_name: selectedExtra === null || selectedExtra === void 0 ? void 0 : selectedExtra.title,
|
|
118
|
+
extra_price: price,
|
|
119
|
+
extra_position: position || undefined,
|
|
120
|
+
total_extras_selected: totalSelected
|
|
121
|
+
});
|
|
82
122
|
};
|
|
83
123
|
const handleSubmit = () => {
|
|
84
|
-
onSubmit(extras.filter(item => item.selected || item.included).map(
|
|
124
|
+
onSubmit(extras.filter(item => item.selected || item.included).map(_ref4 => {
|
|
85
125
|
var _baseValue;
|
|
86
126
|
let {
|
|
87
127
|
amount,
|
|
@@ -91,7 +131,7 @@ const ModalExtras = _ref => {
|
|
|
91
131
|
included,
|
|
92
132
|
valueAmount,
|
|
93
133
|
valueNights
|
|
94
|
-
} =
|
|
134
|
+
} = _ref4;
|
|
95
135
|
return {
|
|
96
136
|
id,
|
|
97
137
|
included,
|
|
@@ -109,7 +149,7 @@ const ModalExtras = _ref => {
|
|
|
109
149
|
return value + price;
|
|
110
150
|
}, 0);
|
|
111
151
|
const totalExtras = extras.filter(item => item.selected).reduce(function (total) {
|
|
112
|
-
var
|
|
152
|
+
var _value3;
|
|
113
153
|
let {
|
|
114
154
|
amount,
|
|
115
155
|
nights,
|
|
@@ -117,7 +157,7 @@ const ModalExtras = _ref => {
|
|
|
117
157
|
valueNights,
|
|
118
158
|
value = {}
|
|
119
159
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
120
|
-
return total + (((
|
|
160
|
+
return total + (((_value3 = value[valueAmount || amount][valueNights || nights]) === null || _value3 === void 0 ? void 0 : _value3.price) || 0);
|
|
121
161
|
}, 0);
|
|
122
162
|
const {
|
|
123
163
|
place: {
|
|
@@ -277,10 +317,10 @@ const ModalExtras = _ref => {
|
|
|
277
317
|
light: true,
|
|
278
318
|
small: true
|
|
279
319
|
}, translate((0, _helpers3.getLabelTaxes)(taxesType))), /*#__PURE__*/_react.default.createElement(_components.PriceDetails, _extends({
|
|
280
|
-
extras: extras.filter(
|
|
320
|
+
extras: extras.filter(_ref5 => {
|
|
281
321
|
let {
|
|
282
322
|
selected
|
|
283
|
-
} =
|
|
323
|
+
} = _ref5;
|
|
284
324
|
return selected;
|
|
285
325
|
}),
|
|
286
326
|
cart: cart,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","currencyFormat","translate","useLocale","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","handleChange","id","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","handleSubmit","item","included","_ref3","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","key","wide","styles","card","standalone","backgroundImage","concat","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref4","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","currencyFormat","translate","useLocale","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","_cart$","roomType","roomName","roomPrice","reduce","total","price","undefined","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","EXTRAS_READY","room_type","room_price","extras_count","handleChange","field","map","extra","parseInt","handleSelect","_value","_value2","next","_ref2","selected","selectedExtra","find","totalSelected","_ref3","amount","nights","valueAmount","valueNights","position","findIndex","EXTRAS_INTERACTION","action","extra_name","title","extra_price","extra_position","total_extras_selected","handleSubmit","item","included","_ref4","_baseValue","baseValue","hasSelected","totalExtras","_value3","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","key","wide","styles","card","standalone","backgroundImage","concat","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref5","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { EVENT, getGuestLabel, METRICS_EVENTS } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n const roomType = cart?.[0]?.roomName;\n const roomPrice = cart?.reduce((total, { price = 0 } = {}) => total + price, 0);\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_READY,\n room_type: roomType,\n room_price: roomPrice,\n extras_count: propExtras?.length,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n const selectedExtra = next.find((extra) => extra.id === id);\n const totalSelected = next.filter(({ selected }) => selected).length;\n const { amount, nights, value, valueAmount, valueNights } = selectedExtra || {};\n const price = value?.[valueAmount || amount]?.[valueNights || nights]?.price;\n const position = next.findIndex((extra) => extra.id === id) + 1;\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_INTERACTION,\n action: selectedExtra?.selected ? 'add' : 'remove',\n extra_name: selectedExtra?.title,\n extra_price: price,\n extra_position: position || undefined,\n total_extras_selected: totalSelected,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,6 +49,8 @@ const ModalTwin = _ref => {
|
|
|
49
49
|
} = (0, _ui.useDevice)();
|
|
50
50
|
const {
|
|
51
51
|
value: {
|
|
52
|
+
currency,
|
|
53
|
+
finder = {},
|
|
52
54
|
finder: {
|
|
53
55
|
place: {
|
|
54
56
|
id: [hotelId] = [],
|
|
@@ -56,7 +58,9 @@ const ModalTwin = _ref => {
|
|
|
56
58
|
} = {}
|
|
57
59
|
} = {},
|
|
58
60
|
hotel = {},
|
|
59
|
-
language
|
|
61
|
+
language,
|
|
62
|
+
locale,
|
|
63
|
+
urlParams
|
|
60
64
|
} = {}
|
|
61
65
|
} = (0, _dataSources.useStore)();
|
|
62
66
|
const iframeRef = (0, _react.useRef)();
|
|
@@ -65,6 +69,9 @@ const ModalTwin = _ref => {
|
|
|
65
69
|
const [loaded, setLoaded] = (0, _react.useState)();
|
|
66
70
|
const [scrollTo, setScrollTo] = (0, _react.useState)();
|
|
67
71
|
const [selectedId, setSelectedId] = (0, _react.useState)();
|
|
72
|
+
const loadStartRef = (0, _react.useRef)();
|
|
73
|
+
const loadedTrackedRef = (0, _react.useRef)(false);
|
|
74
|
+
const selectedByUserRef = (0, _react.useRef)(false);
|
|
68
75
|
(0, _react.useEffect)(() => {
|
|
69
76
|
const callback = _ref2 => {
|
|
70
77
|
let {
|
|
@@ -90,11 +97,24 @@ const ModalTwin = _ref => {
|
|
|
90
97
|
roomId
|
|
91
98
|
} = {}
|
|
92
99
|
} = event;
|
|
93
|
-
|
|
94
|
-
// eslint-disable-next-line no-console
|
|
95
|
-
console.log('Mensaje recibido:', event);
|
|
96
100
|
debounceSelectId(roomId);
|
|
97
|
-
if (
|
|
101
|
+
if (roomId) {
|
|
102
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
103
|
+
id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
|
|
104
|
+
action: 'change_room',
|
|
105
|
+
method: 'map'
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
if (isLoaded && !loadedTrackedRef.current) {
|
|
109
|
+
const loadTime = loadStartRef.current ? Math.round(performance.now() - loadStartRef.current) : undefined;
|
|
110
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
111
|
+
id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
|
|
112
|
+
action: 'loaded',
|
|
113
|
+
load_time_ms: loadTime
|
|
114
|
+
});
|
|
115
|
+
loadedTrackedRef.current = true;
|
|
116
|
+
setLoaded(true);
|
|
117
|
+
}
|
|
98
118
|
};
|
|
99
119
|
if (!isMobile && selectedId) setTimeout(() => {
|
|
100
120
|
var _itemsRef$current$sel;
|
|
@@ -144,6 +164,11 @@ const ModalTwin = _ref => {
|
|
|
144
164
|
iframeRef === null || iframeRef === void 0 ? void 0 : (_iframeRef$current = iframeRef.current) === null || _iframeRef$current === void 0 ? void 0 : (_iframeRef$current$co = _iframeRef$current.contentWindow) === null || _iframeRef$current$co === void 0 ? void 0 : _iframeRef$current$co.postMessage({
|
|
145
165
|
roomId: id
|
|
146
166
|
}, process.env.TWIN_URL);
|
|
167
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
168
|
+
id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
|
|
169
|
+
action: 'change_room',
|
|
170
|
+
method: 'card'
|
|
171
|
+
});
|
|
147
172
|
}
|
|
148
173
|
};
|
|
149
174
|
const handleClose = () => {
|
|
@@ -151,6 +176,12 @@ const ModalTwin = _ref => {
|
|
|
151
176
|
setLoaded();
|
|
152
177
|
setExpanded();
|
|
153
178
|
setScrollTo();
|
|
179
|
+
if (!selectedByUserRef.current) {
|
|
180
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
181
|
+
id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
|
|
182
|
+
action: 'close'
|
|
183
|
+
});
|
|
184
|
+
}
|
|
154
185
|
onClose();
|
|
155
186
|
};
|
|
156
187
|
const handleFilters = () => {
|
|
@@ -183,6 +214,11 @@ const ModalTwin = _ref => {
|
|
|
183
214
|
};
|
|
184
215
|
const handleSelect = id => {
|
|
185
216
|
var _filteredItems$find;
|
|
217
|
+
selectedByUserRef.current = true;
|
|
218
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
219
|
+
id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
|
|
220
|
+
action: 'select'
|
|
221
|
+
});
|
|
186
222
|
onSelect((_filteredItems$find = filteredItems.find(item => item.id === id)) === null || _filteredItems$find === void 0 ? void 0 : _filteredItems$find.boards[0]);
|
|
187
223
|
handleClose(false);
|
|
188
224
|
};
|
|
@@ -216,6 +252,16 @@ const ModalTwin = _ref => {
|
|
|
216
252
|
}),
|
|
217
253
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
218
254
|
[hotel, hotelId, isHotel, language]);
|
|
255
|
+
(0, _react.useEffect)(() => {
|
|
256
|
+
if (!selected) return;
|
|
257
|
+
loadStartRef.current = performance.now();
|
|
258
|
+
loadedTrackedRef.current = false;
|
|
259
|
+
selectedByUserRef.current = false;
|
|
260
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
261
|
+
id: _helpers3.METRICS_EVENTS.THREE_D_INTERACTION,
|
|
262
|
+
action: 'open'
|
|
263
|
+
});
|
|
264
|
+
}, [currency, dataSource, finder, language, locale, selected, urlParams]);
|
|
219
265
|
return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
|
|
220
266
|
displayName: ModalTwin.displayName,
|
|
221
267
|
fit: true,
|