@mirai/core 0.3.321 → 0.3.322

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.
@@ -66,7 +66,7 @@ const Booking = _ref => {
66
66
  setAction();
67
67
  })();
68
68
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
- }, [id]);
69
+ }, [id, locale]);
70
70
  (0, _react.useEffect)(() => {
71
71
  if (!dataSource) return;
72
72
  dataSource.tracking && (0, _helpers.trace)({
@@ -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","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 />\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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"}
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, locale]);\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 />\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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"}
@@ -98,7 +98,7 @@ const Checkout = _ref => {
98
98
  if (scrollY >= scrollHeight - innerHeight) track("".concat(_Checkout.TRACKING, ":SCROLL:BOTTOM"));else if (scrollY === 0) track("".concat(_Checkout.TRACKING, ":SCROLL:TOP"));
99
99
  });
100
100
  // eslint-disable-next-line react-hooks/exhaustive-deps
101
- }, [session]);
101
+ }, [locale, session]);
102
102
  const handleModalAgency = () => {
103
103
  setModalAgency(true);
104
104
  };
@@ -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","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 />\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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"}
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 }, [locale, 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 />\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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"}
@@ -7,7 +7,6 @@ body {
7
7
  [data-mirai-component='rates'] {
8
8
  background-color: var(--mirai-ui-content-background);
9
9
  min-height: calc(100vh - var(--mirai-ui-space-XXL));
10
- padding-bottom: calc(var(--mirai-ui-space-XXL) * 2);
11
10
  z-index: 1;
12
11
  }
13
12
 
@@ -67,6 +67,10 @@
67
67
 
68
68
  /* S */
69
69
  @media only screen and (max-width: 480px) {
70
+ .container {
71
+ padding-bottom: calc(var(--mirai-ui-space-XXL) + var(--mirai-ui-space-XL));
72
+ }
73
+
70
74
  .content {
71
75
  gap: var(--mirai-ui-space-M);
72
76
  padding: var(--mirai-ui-space-M);
@@ -75,6 +79,10 @@
75
79
 
76
80
  /* M & L */
77
81
  @media only screen and (min-width: 481px) {
82
+ .container {
83
+ padding-bottom: var(--mirai-ui-space-XL);
84
+ }
85
+
78
86
  .content {
79
87
  padding: var(--mirai-ui-space-M) 0;
80
88
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.321",
3
+ "version": "0.3.322",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",