@mirai/core 0.3.303 → 0.3.304
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/Booking/Booking.js +1 -1
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.module.css +1 -1
- package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +220 -0
- package/build/components/Checkout/Checkout.js +1 -1
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.module.css +1 -1
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +352 -0
- package/build/components/Rates/Rates.js +1 -1
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.module.css +1 -0
- package/build/components/__shared__/Footer/Footer.js +105 -0
- package/build/components/__shared__/Footer/Footer.js.map +1 -0
- package/build/components/__shared__/Footer/Footer.l10n.js +15 -0
- package/build/components/__shared__/Footer/Footer.l10n.js.map +1 -0
- package/build/components/__shared__/Footer/Footer.module.css +71 -0
- package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +149 -0
- package/build/components/__shared__/Footer/index.js +17 -0
- package/build/components/__shared__/Footer/index.js.map +1 -0
- package/build/components/__shared__/index.js +11 -0
- package/build/components/__shared__/index.js.map +1 -1
- package/package.json +1 -1
- package/public/App.Container.jsx +2 -2
- package/public/App.module.css +0 -5
- package/public/routes/Deals.jsx +1 -1
- package/public/routes/Home.jsx +4 -4
- package/public/routes/Profile.jsx +1 -1
- package/public/routes/Signup.jsx +1 -1
- package/public/routes/components/Logo.jsx +2 -5
- package/public/routes/routes.module.css +0 -5
- package/public/themes/monalisa.theme.css +8 -2
|
@@ -175,7 +175,7 @@ const Booking = _ref => {
|
|
|
175
175
|
underline: true,
|
|
176
176
|
wide: true,
|
|
177
177
|
onPress: handleBackHome
|
|
178
|
-
}, translate(_Booking2.L10N.ACTION_BACK_HOME))) : /*#__PURE__*/_react.default.createElement(_Booking3.default, null)));
|
|
178
|
+
}, translate(_Booking2.L10N.ACTION_BACK_HOME))) : /*#__PURE__*/_react.default.createElement(_Booking3.default, null)), /*#__PURE__*/_react.default.createElement(_shared__.Footer, null));
|
|
179
179
|
};
|
|
180
180
|
exports.Booking = Booking;
|
|
181
181
|
Booking.displayName = 'Mirai:Core:Booking';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_components","_partials","_Booking4","_shared__","_Header","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Booking","_ref","skeleton","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","ServiceBooking","catch","error","trace","chainId","idchain","state","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","hotelUrl","location","origin","payment","response","undefined","isCancelled","STATE","CANCELLED","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","Notification","info","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","Details","BookingTerms","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","underline","ACTION_BACK_HOME","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { 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 PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Details, Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingSummary, BookingTerms } from '../__shared__';\nimport { Header } from '../Header';\nimport { trace } from '../helpers';\n\nconst Booking = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking, ...urlParams } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n useEffect(() => {\n if (!dataSource) return;\n\n dataSource.tracking && trace({ ...dataSource.tracking, chainId: urlParams.idchain });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload: { hotelUrl } = {} } = responseError;\n\n window.location = hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header locale />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n small={isMobile}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n\n <Details dataSource={dataSource} expanded={expanded} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Booking };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_components","_partials","_Booking4","_shared__","_Header","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Booking","_ref","skeleton","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","ServiceBooking","catch","error","trace","chainId","idchain","state","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","hotelUrl","location","origin","payment","response","undefined","isCancelled","STATE","CANCELLED","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","Notification","info","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","Details","BookingTerms","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","underline","ACTION_BACK_HOME","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { 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 PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Details, Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingSummary, BookingTerms, Footer } from '../__shared__';\nimport { Header } from '../Header';\nimport { trace } from '../helpers';\n\nconst Booking = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking, ...urlParams } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n useEffect(() => {\n if (!dataSource) return;\n\n dataSource.tracking && trace({ ...dataSource.tracking, chainId: urlParams.idchain });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload: { hotelUrl } = {} } = responseError;\n\n window.location = hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header locale />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n small={isMobile}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n\n <Details dataSource={dataSource} expanded={expanded} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer />\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Booking };\n"],"mappings":"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"}
|
|
@@ -231,6 +231,50 @@ exports[`component:<Booking> inherit:className 1`] = `
|
|
|
231
231
|
</div>
|
|
232
232
|
</div>
|
|
233
233
|
</div>
|
|
234
|
+
<div
|
|
235
|
+
class="view row"
|
|
236
|
+
>
|
|
237
|
+
<div
|
|
238
|
+
class="view row"
|
|
239
|
+
>
|
|
240
|
+
<div
|
|
241
|
+
class="view row"
|
|
242
|
+
>
|
|
243
|
+
<span
|
|
244
|
+
class="text light small"
|
|
245
|
+
>
|
|
246
|
+
© 2024
|
|
247
|
+
<button
|
|
248
|
+
class="pressable action inline small"
|
|
249
|
+
>
|
|
250
|
+
.
|
|
251
|
+
</button>
|
|
252
|
+
</span>
|
|
253
|
+
<span
|
|
254
|
+
class="text light small"
|
|
255
|
+
>
|
|
256
|
+
common.label.all
|
|
257
|
+
<span
|
|
258
|
+
style="text-decoration: underline;"
|
|
259
|
+
>
|
|
260
|
+
rights
|
|
261
|
+
</span>
|
|
262
|
+
reserved
|
|
263
|
+
</span>
|
|
264
|
+
</div>
|
|
265
|
+
<a
|
|
266
|
+
class="pressable action inline small"
|
|
267
|
+
href="https://www.mirai.com/"
|
|
268
|
+
>
|
|
269
|
+
Powered by
|
|
270
|
+
<span
|
|
271
|
+
class="text bold light paragraph"
|
|
272
|
+
>
|
|
273
|
+
mirai
|
|
274
|
+
</span>
|
|
275
|
+
</a>
|
|
276
|
+
</div>
|
|
277
|
+
</div>
|
|
234
278
|
</DocumentFragment>
|
|
235
279
|
`;
|
|
236
280
|
|
|
@@ -465,6 +509,50 @@ exports[`component:<Booking> prop:skeleton 1`] = `
|
|
|
465
509
|
</div>
|
|
466
510
|
</div>
|
|
467
511
|
</div>
|
|
512
|
+
<div
|
|
513
|
+
class="view row"
|
|
514
|
+
>
|
|
515
|
+
<div
|
|
516
|
+
class="view row"
|
|
517
|
+
>
|
|
518
|
+
<div
|
|
519
|
+
class="view row"
|
|
520
|
+
>
|
|
521
|
+
<span
|
|
522
|
+
class="text light small"
|
|
523
|
+
>
|
|
524
|
+
© 2024
|
|
525
|
+
<button
|
|
526
|
+
class="pressable action inline small"
|
|
527
|
+
>
|
|
528
|
+
.
|
|
529
|
+
</button>
|
|
530
|
+
</span>
|
|
531
|
+
<span
|
|
532
|
+
class="text light small"
|
|
533
|
+
>
|
|
534
|
+
common.label.all
|
|
535
|
+
<span
|
|
536
|
+
style="text-decoration: underline;"
|
|
537
|
+
>
|
|
538
|
+
rights
|
|
539
|
+
</span>
|
|
540
|
+
reserved
|
|
541
|
+
</span>
|
|
542
|
+
</div>
|
|
543
|
+
<a
|
|
544
|
+
class="pressable action inline small"
|
|
545
|
+
href="https://www.mirai.com/"
|
|
546
|
+
>
|
|
547
|
+
Powered by
|
|
548
|
+
<span
|
|
549
|
+
class="text bold light paragraph"
|
|
550
|
+
>
|
|
551
|
+
mirai
|
|
552
|
+
</span>
|
|
553
|
+
</a>
|
|
554
|
+
</div>
|
|
555
|
+
</div>
|
|
468
556
|
</DocumentFragment>
|
|
469
557
|
`;
|
|
470
558
|
|
|
@@ -699,6 +787,50 @@ exports[`component:<Booking> renders 1`] = `
|
|
|
699
787
|
</div>
|
|
700
788
|
</div>
|
|
701
789
|
</div>
|
|
790
|
+
<div
|
|
791
|
+
class="view row"
|
|
792
|
+
>
|
|
793
|
+
<div
|
|
794
|
+
class="view row"
|
|
795
|
+
>
|
|
796
|
+
<div
|
|
797
|
+
class="view row"
|
|
798
|
+
>
|
|
799
|
+
<span
|
|
800
|
+
class="text light small"
|
|
801
|
+
>
|
|
802
|
+
© 2024
|
|
803
|
+
<button
|
|
804
|
+
class="pressable action inline small"
|
|
805
|
+
>
|
|
806
|
+
.
|
|
807
|
+
</button>
|
|
808
|
+
</span>
|
|
809
|
+
<span
|
|
810
|
+
class="text light small"
|
|
811
|
+
>
|
|
812
|
+
common.label.all
|
|
813
|
+
<span
|
|
814
|
+
style="text-decoration: underline;"
|
|
815
|
+
>
|
|
816
|
+
rights
|
|
817
|
+
</span>
|
|
818
|
+
reserved
|
|
819
|
+
</span>
|
|
820
|
+
</div>
|
|
821
|
+
<a
|
|
822
|
+
class="pressable action inline small"
|
|
823
|
+
href="https://www.mirai.com/"
|
|
824
|
+
>
|
|
825
|
+
Powered by
|
|
826
|
+
<span
|
|
827
|
+
class="text bold light paragraph"
|
|
828
|
+
>
|
|
829
|
+
mirai
|
|
830
|
+
</span>
|
|
831
|
+
</a>
|
|
832
|
+
</div>
|
|
833
|
+
</div>
|
|
702
834
|
</DocumentFragment>
|
|
703
835
|
`;
|
|
704
836
|
|
|
@@ -934,6 +1066,50 @@ exports[`component:<Booking> testID 1`] = `
|
|
|
934
1066
|
</div>
|
|
935
1067
|
</div>
|
|
936
1068
|
</div>
|
|
1069
|
+
<div
|
|
1070
|
+
class="view row"
|
|
1071
|
+
>
|
|
1072
|
+
<div
|
|
1073
|
+
class="view row"
|
|
1074
|
+
>
|
|
1075
|
+
<div
|
|
1076
|
+
class="view row"
|
|
1077
|
+
>
|
|
1078
|
+
<span
|
|
1079
|
+
class="text light small"
|
|
1080
|
+
>
|
|
1081
|
+
© 2024
|
|
1082
|
+
<button
|
|
1083
|
+
class="pressable action inline small"
|
|
1084
|
+
>
|
|
1085
|
+
.
|
|
1086
|
+
</button>
|
|
1087
|
+
</span>
|
|
1088
|
+
<span
|
|
1089
|
+
class="text light small"
|
|
1090
|
+
>
|
|
1091
|
+
common.label.all
|
|
1092
|
+
<span
|
|
1093
|
+
style="text-decoration: underline;"
|
|
1094
|
+
>
|
|
1095
|
+
rights
|
|
1096
|
+
</span>
|
|
1097
|
+
reserved
|
|
1098
|
+
</span>
|
|
1099
|
+
</div>
|
|
1100
|
+
<a
|
|
1101
|
+
class="pressable action inline small"
|
|
1102
|
+
href="https://www.mirai.com/"
|
|
1103
|
+
>
|
|
1104
|
+
Powered by
|
|
1105
|
+
<span
|
|
1106
|
+
class="text bold light paragraph"
|
|
1107
|
+
>
|
|
1108
|
+
mirai
|
|
1109
|
+
</span>
|
|
1110
|
+
</a>
|
|
1111
|
+
</div>
|
|
1112
|
+
</div>
|
|
937
1113
|
</DocumentFragment>
|
|
938
1114
|
`;
|
|
939
1115
|
|
|
@@ -1168,5 +1344,49 @@ exports[`component:<Booking> with a store 1`] = `
|
|
|
1168
1344
|
</div>
|
|
1169
1345
|
</div>
|
|
1170
1346
|
</div>
|
|
1347
|
+
<div
|
|
1348
|
+
class="view row"
|
|
1349
|
+
>
|
|
1350
|
+
<div
|
|
1351
|
+
class="view row"
|
|
1352
|
+
>
|
|
1353
|
+
<div
|
|
1354
|
+
class="view row"
|
|
1355
|
+
>
|
|
1356
|
+
<span
|
|
1357
|
+
class="text light small"
|
|
1358
|
+
>
|
|
1359
|
+
© 2024
|
|
1360
|
+
<button
|
|
1361
|
+
class="pressable action inline small"
|
|
1362
|
+
>
|
|
1363
|
+
.
|
|
1364
|
+
</button>
|
|
1365
|
+
</span>
|
|
1366
|
+
<span
|
|
1367
|
+
class="text light small"
|
|
1368
|
+
>
|
|
1369
|
+
common.label.all
|
|
1370
|
+
<span
|
|
1371
|
+
style="text-decoration: underline;"
|
|
1372
|
+
>
|
|
1373
|
+
rights
|
|
1374
|
+
</span>
|
|
1375
|
+
reserved
|
|
1376
|
+
</span>
|
|
1377
|
+
</div>
|
|
1378
|
+
<a
|
|
1379
|
+
class="pressable action inline small"
|
|
1380
|
+
href="https://www.mirai.com/"
|
|
1381
|
+
>
|
|
1382
|
+
Powered by
|
|
1383
|
+
<span
|
|
1384
|
+
class="text bold light paragraph"
|
|
1385
|
+
>
|
|
1386
|
+
mirai
|
|
1387
|
+
</span>
|
|
1388
|
+
</a>
|
|
1389
|
+
</div>
|
|
1390
|
+
</div>
|
|
1171
1391
|
</DocumentFragment>
|
|
1172
1392
|
`;
|
|
@@ -174,7 +174,7 @@ const Checkout = _ref => {
|
|
|
174
174
|
}, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Core.ERROR.UNKNOWN])) : /*#__PURE__*/_react.default.createElement(_Checkout3.default, null)), agency.name && /*#__PURE__*/_react.default.createElement(_Booking.ModalAgency, _extends({}, agency, {
|
|
175
175
|
visible: modalAgency,
|
|
176
176
|
onClose: () => setModalAgency(false)
|
|
177
|
-
})));
|
|
177
|
+
})), /*#__PURE__*/_react.default.createElement(_shared__.Footer, null));
|
|
178
178
|
};
|
|
179
179
|
exports.Checkout = Checkout;
|
|
180
180
|
Checkout.displayName = 'Mirai:Core:Checkout';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_partials","_Core","_shared__","_Booking","_Header","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","session","urlParams","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","applyClubDiscount","undefined","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","handleErrorConfirmation","scrollTo","top","behavior","agency","payment","hasRequiredFields","keys","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","values","BookingSummary","box","Details","name","Notification","small","info","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { Confirmation, Details, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingSummary, BookingTerms, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\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\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\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 locale />\n\n <View role=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <Details dataSource={dataSource} />\n </BookingSummary>\n )}\n\n {(agency.name || !payment) && (\n <Notification small info wide className={styles(style.agency, others.className)}>\n {!payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <Details dataSource={dataSource} />}\n\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation\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 );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAH,uBAAA,CAAAP,OAAA;AACA,IAAAW,UAAA,GAAAN,sBAAA,CAAAL,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,QAAA,GAAAf,OAAA;AACA,IAAAgB,OAAA,GAAAhB,OAAA;AACA,IAAAiB,QAAA,GAAAjB,OAAA;AAAmC,SAAAkB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAtB,uBAAAkC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEnC,IAAIK,WAAW,GAAG,KAAK;AAEvB,MAAMC,QAAQ,GAAGC,IAAA,IAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAF,IAAA;EACvC,MAAM;IAAEG;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,EAAE;MAAEC,QAAQ;MAAEC,MAAM;MAAEC,OAAO;MAAEC,SAAS,GAAG,CAAC;IAAE;EAC1E,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACG,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAN,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACO,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAR,eAAQ,EAAC,CAAC;EAEpD,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAI7B,QAAQ,EAAE;IAEdH,WAAW,GAAGiC,yBAAe,CAACxD,GAAG,CAACyD,mCAAyB,EAAEnB,EAAE,CAAC;IAChEf,WAAW,IAAIU,WAAW,IAAAyB,MAAA,CAAIC,kBAAQ,cAAW;MAAEnB;IAAO,CAAC,CAAC;IAE5D,CAAC,YAAY;MACX,MAAMoB,QAAQ,GAAG,MAAMC,wBAAc,CAACC,QAAQ,CAAC;QAC7C1B,QAAQ;QACRC,KAAK;QACLE,QAAQ;QACRC,MAAM;QACNC,OAAO,EAAEC,SAAS,CAACqB,iBAAiB,KAAK,MAAM,GAAGtB,OAAO,GAAGuB,SAAS;QACrE,GAAGtB;MACL,CAAC,CAAC,CAACuB,KAAK,CAAElB,KAAK,IAAK;QAClBO,gBAAgB,CAACP,KAAK,CAAC;QACvBxB,WAAW,IAAIS,KAAK,IAAA0B,MAAA,CAAIC,kBAAQ,qBAAkB;UAAEO,OAAO,EAAE,SAAS;UAAEC,MAAM,EAAE,UAAU;UAAEpB;QAAM,CAAC,CAAC;MACtG,CAAC,CAAC;MACFF,aAAa,CAACe,QAAQ,CAAC;MACvBA,QAAQ,IAAI,IAAAQ,cAAK,EAAC;QAAE,GAAGR,QAAQ,CAACS,QAAQ;QAAEC,OAAO,EAAE5B,SAAS,CAAC6B;MAAQ,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC;IAEJC,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;MACtC,IAAI,CAAClD,WAAW,EAAE;MAClB,MAAM;QAAEmD,WAAW,GAAG,CAAC;QAAEC;MAAQ,CAAC,GAAGH,MAAM;MAC3C,MAAM;QAAEI,eAAe,EAAE;UAAEC,YAAY,GAAG;QAAE,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGC,QAAQ;MAE/D,IAAIH,OAAO,IAAIE,YAAY,GAAGH,WAAW,EAAE1C,KAAK,IAAA0B,MAAA,CAAIC,kBAAQ,mBAAgB,CAAC,CAAC,KACzE,IAAIgB,OAAO,KAAK,CAAC,EAAE3C,KAAK,IAAA0B,MAAA,CAAIC,kBAAQ,gBAAa,CAAC;IACzD,CAAC,CAAC;IACF;EACF,CAAC,EAAE,CAAClB,OAAO,CAAC,CAAC;EAEb,MAAMsC,iBAAiB,GAAGA,CAAA,KAAM;IAC9B3B,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAM4B,uBAAuB,GAAGA,CAAA,KAAM;IACpCR,MAAM,CAACS,QAAQ,CAAC;MAAEC,GAAG,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAS,CAAC,CAAC;IAC/CjC,iBAAiB,CAACH,KAAK,CAAC;EAC1B,CAAC;EAED,MAAM;IAAEqC,MAAM,GAAG,CAAC,CAAC;IAAEC;EAAQ,CAAC,GAAGzC,UAAU,IAAI,CAAC,CAAC;EACjD,MAAMgB,QAAQ,GAAGhB,UAAU,KAAKoB,SAAS;EACzC,MAAMsB,iBAAiB,GAAGlF,MAAM,CAACmF,IAAI,CAACtC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC9B,MAAM,GAAG,CAAC;EAEtE,oBACEvC,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAA5G,MAAA,CAAAkB,OAAA,CAAA2F,QAAA,qBACE7G,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAClG,OAAA,CAAAoG,MAAM;IAAClD,MAAM;EAAA,CAAE,CAAC,eAEjB5D,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAC/G,GAAA,CAAAkH,IAAI;IAACC,IAAI,EAAC,UAAU;IAACC,MAAM,EAAElE,MAAM,CAACkE,MAAO;IAACC,SAAS,EAAE,IAAAC,UAAM,EAAC/G,KAAK,CAACgH,SAAS,EAAErE,MAAM,CAACmE,SAAS;EAAE,gBAChGlH,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAC/G,GAAA,CAAAwH,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE,CAACvC,QAAQ,IAAI,CAACP,aAAc;IAACyC,SAAS,EAAE9G,KAAK,CAACoH;EAAS,CAAE,CAAC,EAC1FxC,QAAQ,gBACPhF,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAC/G,GAAA,CAAAkH,IAAI;IAACU,GAAG,EAAEzE,SAAU;IAACkE,SAAS,EAAE9G,KAAK,CAACsH;EAAQ,gBAC7C1H,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAC/G,GAAA,CAAAkH,IAAI;IAACY,IAAI;IAACT,SAAS,EAAE9G,KAAK,CAACwH;EAAK,GAC9BlB,iBAAiB,iBAAI1G,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACpG,SAAA,CAAAqH,0BAA0B;IAACC,IAAI,EAAC,UAAU;IAACC,MAAM,EAAE1D;EAAe,CAAE,CAAC,EAE3F,CAACrB,SAAS,iBACThD,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACpG,SAAA,CAAAwH,cAAc;IAACC,GAAG;IAACjE,UAAU,EAAEA;EAAW,gBACzChE,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACtG,SAAA,CAAA4H,OAAO;IAAClE,UAAU,EAAEA;EAAW,CAAE,CACpB,CACjB,EAEA,CAACwC,MAAM,CAAC2B,IAAI,IAAI,CAAC1B,OAAO,kBACvBzG,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAC/G,GAAA,CAAAuI,YAAY;IAACC,KAAK;IAACC,IAAI;IAACX,IAAI;IAACT,SAAS,EAAE,IAAAC,UAAM,EAAC/G,KAAK,CAACoG,MAAM,EAAEzD,MAAM,CAACmE,SAAS;EAAE,GAC7E,CAACT,OAAO,OAAA3B,MAAA,CAAO5B,SAAS,CAACqF,eAAI,CAACC,oBAAoB,CAAC,MAAG,EACtDhC,MAAM,CAAC2B,IAAI,IACVjF,SAAS,CAACqF,eAAI,CAACE,mBAAmB,EAAE;IAClCjC,MAAM,EAAEA,MAAM,CAAC2B,IAAI;IACnBO,IAAI,eACF1I,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAA5G,MAAA,CAAAkB,OAAA,CAAA2F,QAAA,qBACE7G,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAC/G,GAAA,CAAA8I,MAAM;MAACC,MAAM;MAACC,SAAS;MAACR,KAAK;MAACS,OAAO,EAAE3C,iBAAkB;MAACe,SAAS,EAAE,IAAAC,UAAM,EAAC/G,KAAK,CAAC2I,MAAM;IAAE,GACxF7F,SAAS,CAACqF,eAAI,CAACS,gBAAgB,CAC1B,CACR;EAEN,CAAC,CACS,CACf,eAEDhJ,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACtG,SAAA,CAAA2I,IAAI;IAACjF,UAAU,EAAEA,UAAW;IAACkF,UAAU,EAAExC,iBAAkB;IAACyC,OAAO,EAAE/E;EAAS,CAAE,CAAC,EAEjFpB,SAAS,iBAAIhD,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACtG,SAAA,CAAA4H,OAAO;IAAClE,UAAU,EAAEA;EAAW,CAAE,CAAC,eAEjDhE,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACpG,SAAA,CAAA4I,YAAY;IAACpF,UAAU,EAAEA,UAAW;IAACqE,KAAK;IAAC5C,QAAQ,EAAEV;EAAS,CAAE,CAC7D,CAAC,eAEP/E,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACtG,SAAA,CAAA+I,YAAY;IACXrF,UAAU,EAAEA,UAAW;IACvBG,KAAK,EAAE3C,MAAM,CAACmF,IAAI,CAACxC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC5B,MAAM,GAAG,CAAE;IAC3C4G,OAAO,EAAE/C,uBAAwB;IACjCkD,OAAO,EAAEA,CAAA,KAAMhF,iBAAiB,CAAC;EAAE,CACpC,CACG,CAAC,GACLG,aAAa,gBACfzE,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAAC/G,GAAA,CAAAuI,YAAY;IAACjE,KAAK;IAACoF,KAAK;EAAA,GACtBrG,SAAS,CAACqF,eAAI,CAACiB,kBAAkB,CAAC,CAAA/E,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEgF,IAAI,KAAIC,WAAK,CAACC,OAAO,CAAC,CAC5D,CAAC,gBAEf3J,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACvG,UAAA,CAAAa,OAAQ,MAAE,CAET,CAAC,EACNsF,MAAM,CAAC2B,IAAI,iBAAInI,MAAA,CAAAkB,OAAA,CAAA0F,aAAA,CAACnG,QAAA,CAAAmJ,WAAW,EAAA1H,QAAA,KAAKsE,MAAM;IAAEe,OAAO,EAAEhD,WAAY;IAACsF,OAAO,EAAEA,CAAA,KAAMrF,cAAc,CAAC,KAAK;EAAE,EAAE,CACtG,CAAC;AAEP,CAAC;AAACsF,OAAA,CAAAlH,QAAA,GAAAA,QAAA;AAEFA,QAAQ,CAACmH,WAAW,GAAG,qBAAqB;AAE5CnH,QAAQ,CAACoH,SAAS,GAAG;EACnBlH,QAAQ,EAAEmH,kBAAS,CAACC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_partials","_Core","_shared__","_Booking","_Header","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","session","urlParams","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","applyClubDiscount","undefined","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","handleErrorConfirmation","scrollTo","top","behavior","agency","payment","hasRequiredFields","keys","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","values","BookingSummary","box","Details","name","Notification","small","info","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { Confirmation, Details, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\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\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\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 locale />\n\n <View role=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <Details dataSource={dataSource} />\n </BookingSummary>\n )}\n\n {(agency.name || !payment) && (\n <Notification small info wide className={styles(style.agency, others.className)}>\n {!payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <Details dataSource={dataSource} />}\n\n <BookingTerms dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation\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 skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
|