@mirai/core 0.4.270 → 0.4.272
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/Checkout/Checkout.js +39 -10
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +34 -4
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Rates/Rates.js +1 -1
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +1 -2
- package/build/contexts/PerformanceManager/PerformanceManager.constants.js +3 -1
- package/build/contexts/PerformanceManager/PerformanceManager.constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -36,9 +36,7 @@ const Checkout = _ref => {
|
|
|
36
36
|
const {
|
|
37
37
|
value: {
|
|
38
38
|
currency,
|
|
39
|
-
finder
|
|
40
|
-
promocode = ''
|
|
41
|
-
} = {},
|
|
39
|
+
finder = {},
|
|
42
40
|
hotel,
|
|
43
41
|
language,
|
|
44
42
|
locale,
|
|
@@ -58,12 +56,43 @@ const Checkout = _ref => {
|
|
|
58
56
|
const [modalAgency, setModalAgency] = (0, _react.useState)(false);
|
|
59
57
|
const [responseError, setResponseError] = (0, _react.useState)();
|
|
60
58
|
const [validateError, setValiadeError] = (0, _react.useState)();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
try {
|
|
61
|
+
var _JSON$parse;
|
|
62
|
+
const {
|
|
63
|
+
place,
|
|
64
|
+
promocode
|
|
65
|
+
} = finder;
|
|
66
|
+
const {
|
|
67
|
+
meta,
|
|
68
|
+
applyClubDiscount,
|
|
69
|
+
extras,
|
|
70
|
+
nights,
|
|
71
|
+
rooms = ''
|
|
72
|
+
} = urlParams;
|
|
73
|
+
const metrics = {
|
|
74
|
+
tpvError: !!tpvError,
|
|
75
|
+
// -- type
|
|
76
|
+
meta: meta === 'true',
|
|
77
|
+
// -- selection
|
|
78
|
+
chain: !!place,
|
|
79
|
+
nights: parseInt(nights),
|
|
80
|
+
rooms: rooms.split(',').length || 1,
|
|
81
|
+
loyalty: !!applyClubDiscount,
|
|
82
|
+
extras: extras ? (_JSON$parse = JSON.parse(extras)) === null || _JSON$parse === void 0 ? void 0 : _JSON$parse.length : 0,
|
|
83
|
+
promocode: !!promocode,
|
|
84
|
+
session: !!session
|
|
85
|
+
};
|
|
86
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
87
|
+
id: "".concat(_Checkout.METRIC, ":RENDER"),
|
|
88
|
+
...metrics
|
|
89
|
+
});
|
|
90
|
+
} catch (error) {
|
|
91
|
+
// eslint-disable-next-line no-console
|
|
92
|
+
console.log('Metrics.error', error);
|
|
93
|
+
}
|
|
94
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
95
|
+
}, []);
|
|
67
96
|
(0, _react.useEffect)(() => {
|
|
68
97
|
if (skeleton) return;
|
|
69
98
|
(async () => await fetch())();
|
|
@@ -94,7 +123,7 @@ const Checkout = _ref => {
|
|
|
94
123
|
currency,
|
|
95
124
|
language,
|
|
96
125
|
notification: type,
|
|
97
|
-
promocode,
|
|
126
|
+
promocode: finder.promocode || '',
|
|
98
127
|
variant,
|
|
99
128
|
...urlParams
|
|
100
129
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_interopRequireDefault","_partials","_Core","_shared__","_Booking","_Header","_helpers","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","others","isDesktop","useDevice","translate","useLocale","value","currency","finder","promocode","hotel","language","locale","session","skeleton","urlParams","posError","tpvError","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","validateError","setValiadeError","useEffect","Event","publish","EVENT","METRICS","id","concat","METRIC","fetch","EXTRA_CHANGED","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","PRICE_CHANGED","VALIDATE_ERROR","price","type","replaceUrlParams","totalPrice","includes","document","location","href","getRatesUrl","notification","ERROR","UNKNOWN","response","ServiceBooking","checkout","undefined","catch","URL_GENERIC","betterPrice","CHECKOUT_RESPONSE","event","agency","payment","NOTIFICATION","success","warning","defaultMessage","L10N","NOTIFICATION_BETTER_PRICE","NOTIFICATION_PRICE_CHANGED","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","schema","values","name","Notification","small","info","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ModalAgency","onClose","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { METRIC } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { Confirmation, Form } from './partials';\nimport { ERROR, VALIDATE_ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, getRatesUrl, replaceUrlParams } from '../helpers';\n\nconst Checkout = ({ ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n finder: { promocode = '' } = {},\n hotel,\n language,\n locale,\n session,\n skeleton = false,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n const [validateError, setValiadeError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: `${METRIC}:RENDER`, tpvError: !!tpvError }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => await fetch())();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session]);\n\n useEffect(() => {\n if (!validateError) return;\n\n const { EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS, PRICE_CHANGED } =\n VALIDATE_ERROR;\n (async () => {\n const { price, type } = validateError;\n\n if (type === PRICE_CHANGED && price) {\n replaceUrlParams({ totalPrice: price });\n await fetch(price);\n } else if ([EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS].includes(type)) {\n document.location.href = getRatesUrl({\n currency,\n language,\n notification: type,\n promocode,\n variant,\n ...urlParams,\n });\n } else {\n setResponseError(ERROR.UNKNOWN);\n }\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateError]);\n\n const fetch = async (price) => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...(price ? { totalPrice: price } : undefined),\n }).catch((error) => {\n if (error.type)\n setValiadeError(validateError?.price && error?.price ? { type: VALIDATE_ERROR.URL_GENERIC } : error);\n else setResponseError(error);\n Event.publish(EVENT.METRICS, { id: `${METRIC}:ERROR`, error });\n });\n setBusy(false);\n setValiadeError();\n setDataSource(response);\n if (response) {\n const betterPrice = price && price < urlParams.totalPrice;\n Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n Event.publish(EVENT.METRICS, {\n id: `${METRIC}:READY`,\n agency: !!response.agency,\n betterPrice,\n payment: !!response.payment,\n });\n if (betterPrice !== undefined) {\n Event.publish(EVENT.NOTIFICATION, {\n ...(betterPrice ? { success: true } : { warning: true }),\n defaultMessage: translate(betterPrice ? L10N.NOTIFICATION_BETTER_PRICE : L10N.NOTIFICATION_PRICE_CHANGED),\n });\n }\n }\n };\n\n const handleModalAgency = () => {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:AGENCY:INFO` });\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_interopRequireDefault","_partials","_Core","_shared__","_Booking","_Header","_helpers","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","others","isDesktop","useDevice","translate","useLocale","value","currency","finder","hotel","language","locale","session","skeleton","urlParams","posError","tpvError","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","validateError","setValiadeError","useEffect","_JSON$parse","place","promocode","meta","applyClubDiscount","extras","nights","rooms","metrics","chain","parseInt","split","loyalty","JSON","parse","Event","publish","EVENT","METRICS","id","concat","METRIC","console","log","fetch","EXTRA_CHANGED","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","PRICE_CHANGED","VALIDATE_ERROR","price","type","replaceUrlParams","totalPrice","includes","document","location","href","getRatesUrl","notification","ERROR","UNKNOWN","response","ServiceBooking","checkout","undefined","catch","URL_GENERIC","betterPrice","CHECKOUT_RESPONSE","event","agency","payment","NOTIFICATION","success","warning","defaultMessage","L10N","NOTIFICATION_BETTER_PRICE","NOTIFICATION_PRICE_CHANGED","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","schema","values","name","Notification","small","info","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ModalAgency","onClose","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { METRIC } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { Confirmation, Form } from './partials';\nimport { ERROR, VALIDATE_ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, getRatesUrl, replaceUrlParams } from '../helpers';\n\nconst Checkout = ({ ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n finder = {},\n hotel,\n language,\n locale,\n session,\n skeleton = false,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n const [validateError, setValiadeError] = useState();\n\n useEffect(() => {\n try {\n const { place, promocode } = finder;\n const { meta, applyClubDiscount, extras, nights, rooms = '' } = urlParams;\n\n const metrics = {\n tpvError: !!tpvError,\n // -- type\n meta: meta === 'true',\n // -- selection\n chain: !!place,\n nights: parseInt(nights),\n rooms: rooms.split(',').length || 1,\n loyalty: !!applyClubDiscount,\n extras: extras ? JSON.parse(extras)?.length : 0,\n promocode: !!promocode,\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: `${METRIC}:RENDER`, ...metrics });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Metrics.error', error);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => await fetch())();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session]);\n\n useEffect(() => {\n if (!validateError) return;\n\n const { EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS, PRICE_CHANGED } =\n VALIDATE_ERROR;\n (async () => {\n const { price, type } = validateError;\n\n if (type === PRICE_CHANGED && price) {\n replaceUrlParams({ totalPrice: price });\n await fetch(price);\n } else if ([EXTRA_CHANGED, NOT_ENOUGH_ROOMS, NOT_ENOUGH_ROOMS_FOR_OFFER, NO_SELECTED_ROOMS].includes(type)) {\n document.location.href = getRatesUrl({\n currency,\n language,\n notification: type,\n promocode: finder.promocode || '',\n variant,\n ...urlParams,\n });\n } else {\n setResponseError(ERROR.UNKNOWN);\n }\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateError]);\n\n const fetch = async (price) => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...(price ? { totalPrice: price } : undefined),\n }).catch((error) => {\n if (error.type)\n setValiadeError(validateError?.price && error?.price ? { type: VALIDATE_ERROR.URL_GENERIC } : error);\n else setResponseError(error);\n Event.publish(EVENT.METRICS, { id: `${METRIC}:ERROR`, error });\n });\n setBusy(false);\n setValiadeError();\n setDataSource(response);\n if (response) {\n const betterPrice = price && price < urlParams.totalPrice;\n Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n Event.publish(EVENT.METRICS, {\n id: `${METRIC}:READY`,\n agency: !!response.agency,\n betterPrice,\n payment: !!response.payment,\n });\n if (betterPrice !== undefined) {\n Event.publish(EVENT.NOTIFICATION, {\n ...(betterPrice ? { success: true } : { warning: true }),\n defaultMessage: translate(betterPrice ? L10N.NOTIFICATION_BETTER_PRICE : L10N.NOTIFICATION_PRICE_CHANGED),\n });\n }\n }\n };\n\n const handleModalAgency = () => {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:AGENCY:INFO` });\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ const Confirmation = _ref => {
|
|
|
39
39
|
const {
|
|
40
40
|
value: {
|
|
41
41
|
checkout,
|
|
42
|
+
finder = {},
|
|
42
43
|
hotel = {},
|
|
43
44
|
language,
|
|
44
45
|
locale,
|
|
@@ -86,10 +87,39 @@ const Confirmation = _ref => {
|
|
|
86
87
|
});
|
|
87
88
|
return onError();
|
|
88
89
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
try {
|
|
91
|
+
const {
|
|
92
|
+
place,
|
|
93
|
+
promocode
|
|
94
|
+
} = finder;
|
|
95
|
+
const {
|
|
96
|
+
meta,
|
|
97
|
+
applyClubDiscount,
|
|
98
|
+
extras,
|
|
99
|
+
nights,
|
|
100
|
+
rooms = ''
|
|
101
|
+
} = urlParams;
|
|
102
|
+
const metrics = {
|
|
103
|
+
...getPaymentMetrics(),
|
|
104
|
+
// -- type
|
|
105
|
+
meta: meta === 'true',
|
|
106
|
+
// -- selection
|
|
107
|
+
chain: !!place,
|
|
108
|
+
nights: parseInt(nights),
|
|
109
|
+
rooms: rooms.split(',').length || 1,
|
|
110
|
+
loyalty: !!applyClubDiscount,
|
|
111
|
+
extras: extras === null || extras === void 0 ? void 0 : extras.length,
|
|
112
|
+
promocode: !!promocode,
|
|
113
|
+
session: !!session
|
|
114
|
+
};
|
|
115
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
116
|
+
id: "".concat(_Checkout.METRIC, ":SUBMIT"),
|
|
117
|
+
...metrics
|
|
118
|
+
});
|
|
119
|
+
} catch (error) {
|
|
120
|
+
// eslint-disable-next-line no-console
|
|
121
|
+
console.log('Metrics.error', error);
|
|
122
|
+
}
|
|
93
123
|
onValid();
|
|
94
124
|
setResponseError();
|
|
95
125
|
const response = await _services.ServiceBooking.confirm({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_Checkout2","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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","concat","METRIC","getPaymentMetrics","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","config","provider","CTA","_config$publicKey","_dataSource$payment","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR`, ...getPaymentMetrics() });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR_PAYMENT`, ...getPaymentMetrics() });\n return onError();\n }\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT`, ...getPaymentMetrics() });\n\n onValid();\n setResponseError();\n\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const getPaymentMetrics = () => {\n const { payment: { config: { provider } = {} } = {} } = dataSource || {};\n return { method: payment?.method, provider };\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","_Checkout2","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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","finder","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","hotelCurrency","method","handleError","handlePress","METRICS","id","concat","METRIC","getPaymentMetrics","handleSubmit","place","promocode","meta","applyClubDiscount","extras","nights","rooms","metrics","chain","parseInt","split","loyalty","console","log","response","ServiceBooking","confirm","form","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","config","provider","CTA","_config$publicKey","_dataSource$payment","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func","onSubmit"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { METRIC } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, finder = {}, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency: hotelCurrency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR`, ...getPaymentMetrics() });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) {\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT_WITH_ERROR_PAYMENT`, ...getPaymentMetrics() });\n return onError();\n }\n\n try {\n const { place, promocode } = finder;\n const { meta, applyClubDiscount, extras, nights, rooms = '' } = urlParams;\n\n const metrics = {\n ...getPaymentMetrics(),\n // -- type\n meta: meta === 'true',\n // -- selection\n chain: !!place,\n nights: parseInt(nights),\n rooms: rooms.split(',').length || 1,\n loyalty: !!applyClubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n Event.publish(EVENT.METRICS, { id: `${METRIC}:SUBMIT`, ...metrics });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Metrics.error', error);\n }\n\n onValid();\n setResponseError();\n\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n });\n\n return response;\n };\n\n const getPaymentMetrics = () => {\n const { payment: { config: { provider } = {} } = {} } = dataSource || {};\n return { method: payment?.method, provider };\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency: hotelCurrency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
@@ -258,7 +258,6 @@ const Rates = _ref => {
|
|
|
258
258
|
// -- selection
|
|
259
259
|
chain: !!place,
|
|
260
260
|
nights,
|
|
261
|
-
multiRoom,
|
|
262
261
|
rooms: (cart === null || cart === void 0 ? void 0 : cart.length) || 1,
|
|
263
262
|
loyalty: clubDiscount,
|
|
264
263
|
extras: extras === null || extras === void 0 ? void 0 : extras.length,
|
|
@@ -278,6 +277,7 @@ const Rates = _ref => {
|
|
|
278
277
|
dataSource,
|
|
279
278
|
extras,
|
|
280
279
|
forwarder,
|
|
280
|
+
meta: !!metaBoard,
|
|
281
281
|
session,
|
|
282
282
|
urlParams: {
|
|
283
283
|
...(0, _helpers2.fetchUrlParams)(location.search),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items3","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twin","setTwin","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","_dataSource$items","_dataSource$items2","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","chain","rooms","loyalty","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","onTwin","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twin, setTwin] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwin();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!metaBoard,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n // -- selection\n chain: !!place,\n nights,\n multiRoom,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items3","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twin","setTwin","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","_dataSource$items","_dataSource$items2","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","chain","rooms","loyalty","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","onTwin","Cards","select","map","_ref5","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twin, setTwin] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwin();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!metaBoard,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!metaBoard,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -114,8 +114,7 @@
|
|
|
114
114
|
@media only screen and (min-width: 481px) {
|
|
115
115
|
.modal {
|
|
116
116
|
max-height: 90svh;
|
|
117
|
-
max-width: calc(var(--mirai-ui-breakpoint-content) / 2);
|
|
118
|
-
min-width: calc(var(--mirai-ui-breakpoint-S) * 0.9);
|
|
117
|
+
max-width: calc(calc(var(--mirai-ui-breakpoint-content) / 2) + calc(var(--mirai-ui-space-XXL) * 3));
|
|
119
118
|
}
|
|
120
119
|
|
|
121
120
|
.card {
|
|
@@ -7,5 +7,7 @@ exports.KPI_EVENTS = exports.CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_ANSWER
|
|
|
7
7
|
var _Core = require("../../Core.constants");
|
|
8
8
|
const CONSENT_MODE_ANSWERED = exports.CONSENT_MODE_ANSWERED = [_Core.PERFORMANCE.ANALYTICS, _Core.PERFORMANCE.COMPARE, _Core.PERFORMANCE.GTM, _Core.PERFORMANCE.GOOGLE_ADS];
|
|
9
9
|
const CONSENT_MODE_REQUIRED = exports.CONSENT_MODE_REQUIRED = [_Core.PERFORMANCE.AFFILIRED, _Core.PERFORMANCE.BING, _Core.PERFORMANCE.FACEBOOK, _Core.PERFORMANCE.THE_HOTEL_NETWORK];
|
|
10
|
-
const KPI_EVENTS = exports.KPI_EVENTS = [
|
|
10
|
+
const KPI_EVENTS = exports.KPI_EVENTS = [
|
|
11
|
+
//
|
|
12
|
+
'UNAVAILABILITY:RENDER', 'RATES:RENDER', 'RATES:SUBMIT', 'CHECKOUT:RENDER', 'CHECKOUT:SUBMIT', 'BOOKING:RENDER'];
|
|
11
13
|
//# sourceMappingURL=PerformanceManager.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.constants.js","names":["_Core","require","CONSENT_MODE_ANSWERED","exports","PERFORMANCE","ANALYTICS","COMPARE","GTM","GOOGLE_ADS","CONSENT_MODE_REQUIRED","AFFILIRED","BING","FACEBOOK","THE_HOTEL_NETWORK","KPI_EVENTS"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.constants.js"],"sourcesContent":["import { PERFORMANCE } from '../../Core.constants';\n\nconst CONSENT_MODE_ANSWERED = [PERFORMANCE.ANALYTICS, PERFORMANCE.COMPARE, PERFORMANCE.GTM, PERFORMANCE.GOOGLE_ADS];\n\nconst CONSENT_MODE_REQUIRED = [\n PERFORMANCE.AFFILIRED,\n PERFORMANCE.BING,\n PERFORMANCE.FACEBOOK,\n PERFORMANCE.THE_HOTEL_NETWORK,\n];\n\nconst KPI_EVENTS = ['UNAVAILABILITY:RENDER'
|
|
1
|
+
{"version":3,"file":"PerformanceManager.constants.js","names":["_Core","require","CONSENT_MODE_ANSWERED","exports","PERFORMANCE","ANALYTICS","COMPARE","GTM","GOOGLE_ADS","CONSENT_MODE_REQUIRED","AFFILIRED","BING","FACEBOOK","THE_HOTEL_NETWORK","KPI_EVENTS"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.constants.js"],"sourcesContent":["import { PERFORMANCE } from '../../Core.constants';\n\nconst CONSENT_MODE_ANSWERED = [PERFORMANCE.ANALYTICS, PERFORMANCE.COMPARE, PERFORMANCE.GTM, PERFORMANCE.GOOGLE_ADS];\n\nconst CONSENT_MODE_REQUIRED = [\n PERFORMANCE.AFFILIRED,\n PERFORMANCE.BING,\n PERFORMANCE.FACEBOOK,\n PERFORMANCE.THE_HOTEL_NETWORK,\n];\n\nconst KPI_EVENTS = [\n //\n 'UNAVAILABILITY:RENDER',\n 'RATES:RENDER',\n 'RATES:SUBMIT',\n 'CHECKOUT:RENDER',\n 'CHECKOUT:SUBMIT',\n 'BOOKING:RENDER',\n];\n\nexport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED, KPI_EVENTS };\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,CAACE,iBAAW,CAACC,SAAS,EAAED,iBAAW,CAACE,OAAO,EAAEF,iBAAW,CAACG,GAAG,EAAEH,iBAAW,CAACI,UAAU,CAAC;AAEnH,MAAMC,qBAAqB,GAAAN,OAAA,CAAAM,qBAAA,GAAG,CAC5BL,iBAAW,CAACM,SAAS,EACrBN,iBAAW,CAACO,IAAI,EAChBP,iBAAW,CAACQ,QAAQ,EACpBR,iBAAW,CAACS,iBAAiB,CAC9B;AAED,MAAMC,UAAU,GAAAX,OAAA,CAAAW,UAAA,GAAG;AACjB;AACA,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB"}
|