@mirai/core 0.3.313 → 0.3.315
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/partials/Booking.Payment.js +1 -0
- package/build/components/Booking/partials/Booking.Payment.js.map +1 -1
- package/build/components/Rates/components/ModalMapView/ModalMapView.js +1 -1
- package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Booking.Payment.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Booking","_Booking2","style","_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","BookingPayment","_ref","_payment$config","_payment$info","_payment$info2","_payment$config2","dataSource","onError","isMobile","useDevice","locale","translate","useLocale","value","hotel","payment","storePayment","urlParams","code","idHotel","id","tracking","utm_medium","utm_source","useStore","method","busy","setBusy","useState","error","setError","visiblePayment","setVisiblePayment","requiredFields","setRequiredFields","useEffect","interval","setInterval","info","time","now","Date","getTime","window","location","reload","clearInterval","isPayLater","Event","publish","EVENT","PAY_LATER","handleError","scrollTo","top","behavior","handleSubmit","hasErrors","ServiceBooking","update","catch","handlePress","currency","price","prepayment","hasRequiredFields","keys","paymentCurrency","days","dateDiff","createElement","Fragment","Notification","small","warning","wide","View","row","className","notificationPayment","React","Text","Countdown","action","l10n","L10N","NOTIFICATION_PAY_LATER","timestamp","date","toLocaleDateString","FORMAT_PAY_LATER_DATE","Action","inline","onPress","noPrint","ACTION_COMPLETE_NOW","NotificationRequiredFields","form","values","Payment","config","publicKey","parseDate","undefined","showErrors","onChange","ButtonPayment","promise","getButtonPaymentKey","payLater","amount","currencyFormat","exports","displayName","propTypes","PropTypes","any","func"],"sources":["../../../../src/components/Booking/partials/Booking.Payment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Text, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonPayment, Countdown, NotificationRequiredFields, Payment } from '../../__shared__';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FORMAT_PAY_LATER_DATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst BookingPayment = ({ dataSource = {}, onError = () => {} }) => {\n const { isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel = {},\n payment: storePayment = {},\n urlParams: { code, idHotel: id, tracking, utm_medium, utm_source } = {},\n },\n } = useStore();\n\n const { method } = storePayment;\n\n const [busy, setBusy] = useState(false);\n const [error, setError] = useState({});\n const [visiblePayment, setVisiblePayment] = useState(false);\n const [requiredFields, setRequiredFields] = useState();\n\n useEffect(() => {\n const interval = setInterval(() => {\n const { payment: { info: { time: { value } = {} } = {} } = {} } = dataSource || {};\n const now = new Date().getTime();\n\n if (value < now) window.location.reload();\n }, 1000);\n\n return () => clearInterval(interval);\n }, [dataSource]);\n\n useEffect(() => {\n const isPayLater = utm_medium === 'email' && utm_source === 'confirmation';\n\n setVisiblePayment(isPayLater);\n isPayLater && Event.publish(EVENT.PAY_LATER, { utm_medium, utm_source });\n }, [utm_source, utm_medium]);\n\n const handleError = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleSubmit = (value) => {\n if (hasErrors) return handleError();\n setRequiredFields();\n onError();\n const { id } = dataSource;\n return ServiceBooking.update({ code, id, payment: { ...storePayment, ...value }, tracking }).catch((error) => {\n setBusy(false);\n onError(error);\n });\n };\n\n const handlePress = () => {\n if (hasErrors) {\n handleError();\n return false;\n }\n\n setBusy(true);\n };\n\n const { currency, payment = {}, price: { prepayment = {} } = {} } = dataSource || {};\n const { info: { time = {} } = {} } = payment;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n const hasErrors = Object.keys(error || {}).length > 0;\n const { currency: paymentCurrency, value } = prepayment[method] || {};\n const { days } = dateDiff(new Date(), new Date(time?.value));\n\n return (\n <>\n <Notification small={isMobile} warning wide>\n <View row={!isMobile} className={style.notificationPayment}>\n {React.createElement(\n days >= 3 ? Text : Countdown,\n {\n action: !isMobile,\n l10n: L10N.NOTIFICATION_PAY_LATER,\n small: isMobile,\n timestamp: time?.value,\n },\n translate(L10N.NOTIFICATION_PAY_LATER, {\n date: new Date(time?.value).toLocaleDateString(locale, FORMAT_PAY_LATER_DATE),\n }),\n )}\n {!visiblePayment && (\n <Action\n inline\n small={isMobile}\n onPress={() => setVisiblePayment(true)}\n className={[style.action, style.noPrint]}\n >\n {translate(L10N.ACTION_COMPLETE_NOW)}\n </Action>\n )}\n </View>\n </Notification>\n\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n\n {visiblePayment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n }}\n currency={currency}\n showErrors={hasRequiredFields}\n onChange={() => setRequiredFields()}\n onError={setError}\n className={style.noPrint}\n >\n <ButtonPayment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n }}\n busy={busy}\n hotel={{ ...hotel, id }}\n wide={isMobile}\n promise={handleSubmit}\n onError={handleError}\n onPress={handlePress}\n >\n {translate(getButtonPaymentKey({ ...payment.config, ...payment.info, method, payLater: true }), {\n amount: currencyFormat({ currency: paymentCurrency, locale, value }),\n })}\n </ButtonPayment>\n </Payment>\n )}\n </>\n );\n};\n\nBookingPayment.displayName = 'Mirai:Core:Booking:BookingPayment';\n\nBookingPayment.propTypes = {\n dataSource: PropTypes.any,\n onError: PropTypes.func,\n};\n\nexport { BookingPayment };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Booking.Payment.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Booking","_Booking2","style","_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","BookingPayment","_ref","_payment$config","_payment$info","_payment$info2","_payment$config2","dataSource","onError","isMobile","useDevice","locale","translate","useLocale","value","hotel","payment","storePayment","urlParams","code","idHotel","id","tracking","utm_medium","utm_source","useStore","method","busy","setBusy","useState","error","setError","visiblePayment","setVisiblePayment","requiredFields","setRequiredFields","useEffect","interval","setInterval","info","time","now","Date","getTime","window","location","reload","clearInterval","isPayLater","Event","publish","EVENT","PAY_LATER","handleError","scrollTo","top","behavior","handleSubmit","hasErrors","ServiceBooking","update","catch","handlePress","currency","price","prepayment","hasRequiredFields","keys","paymentCurrency","days","dateDiff","createElement","Fragment","Notification","small","warning","wide","View","row","className","notificationPayment","React","Text","Countdown","action","l10n","L10N","NOTIFICATION_PAY_LATER","timestamp","date","toLocaleDateString","FORMAT_PAY_LATER_DATE","Action","inline","onPress","noPrint","ACTION_COMPLETE_NOW","NotificationRequiredFields","form","values","Payment","config","publicKey","parseDate","undefined","showErrors","onChange","ButtonPayment","promise","getButtonPaymentKey","payLater","amount","currencyFormat","exports","displayName","propTypes","PropTypes","any","func"],"sources":["../../../../src/components/Booking/partials/Booking.Payment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, parseDate, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Text, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonPayment, Countdown, NotificationRequiredFields, Payment } from '../../__shared__';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FORMAT_PAY_LATER_DATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst BookingPayment = ({ dataSource = {}, onError = () => {} }) => {\n const { isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel = {},\n payment: storePayment = {},\n urlParams: { code, idHotel: id, tracking, utm_medium, utm_source } = {},\n },\n } = useStore();\n\n const { method } = storePayment;\n\n const [busy, setBusy] = useState(false);\n const [error, setError] = useState({});\n const [visiblePayment, setVisiblePayment] = useState(false);\n const [requiredFields, setRequiredFields] = useState();\n\n useEffect(() => {\n const interval = setInterval(() => {\n const { payment: { info: { time: { value } = {} } = {} } = {} } = dataSource || {};\n const now = new Date().getTime();\n\n if (value < now) window.location.reload();\n }, 1000);\n\n return () => clearInterval(interval);\n }, [dataSource]);\n\n useEffect(() => {\n const isPayLater = utm_medium === 'email' && utm_source === 'confirmation';\n\n setVisiblePayment(isPayLater);\n isPayLater && Event.publish(EVENT.PAY_LATER, { utm_medium, utm_source });\n }, [utm_source, utm_medium]);\n\n const handleError = () => {\n setBusy(false);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleSubmit = (value) => {\n if (hasErrors) return handleError();\n\n setRequiredFields();\n onError();\n const { id } = dataSource;\n return ServiceBooking.update({ code, id, payment: { ...storePayment, ...value }, tracking }).catch((error) => {\n setBusy(false);\n onError(error);\n });\n };\n\n const handlePress = () => {\n if (hasErrors) {\n handleError();\n return false;\n }\n\n setBusy(true);\n };\n\n const { currency, payment = {}, price: { prepayment = {} } = {} } = dataSource || {};\n const { info: { time = {} } = {} } = payment;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n const hasErrors = Object.keys(error || {}).length > 0;\n const { currency: paymentCurrency, value } = prepayment[method] || {};\n const { days } = dateDiff(new Date(), new Date(time?.value));\n\n return (\n <>\n <Notification small={isMobile} warning wide>\n <View row={!isMobile} className={style.notificationPayment}>\n {React.createElement(\n days >= 3 ? Text : Countdown,\n {\n action: !isMobile,\n l10n: L10N.NOTIFICATION_PAY_LATER,\n small: isMobile,\n timestamp: time?.value,\n },\n translate(L10N.NOTIFICATION_PAY_LATER, {\n date: new Date(time?.value).toLocaleDateString(locale, FORMAT_PAY_LATER_DATE),\n }),\n )}\n {!visiblePayment && (\n <Action\n inline\n small={isMobile}\n onPress={() => setVisiblePayment(true)}\n className={[style.action, style.noPrint]}\n >\n {translate(L10N.ACTION_COMPLETE_NOW)}\n </Action>\n )}\n </View>\n </Notification>\n\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n\n {visiblePayment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n }}\n currency={currency}\n showErrors={hasRequiredFields}\n onChange={() => setRequiredFields()}\n onError={setError}\n className={style.noPrint}\n >\n <ButtonPayment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n }}\n busy={busy}\n hotel={{ ...hotel, id }}\n wide={isMobile}\n promise={handleSubmit}\n onError={handleError}\n onPress={handlePress}\n >\n {translate(getButtonPaymentKey({ ...payment.config, ...payment.info, method, payLater: true }), {\n amount: currencyFormat({ currency: paymentCurrency, locale, value }),\n })}\n </ButtonPayment>\n </Payment>\n )}\n </>\n );\n};\n\nBookingPayment.displayName = 'Mirai:Core:Booking:BookingPayment';\n\nBookingPayment.propTypes = {\n dataSource: PropTypes.any,\n onError: PropTypes.func,\n};\n\nexport { BookingPayment };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalMapView.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalMapView","style","_helpers2","_shared__","_helpers3","_helpers4","_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","memoizedSelected","ModalMapView","_ref","_selected$features","items","nights","visible","onClose","others","isMobile","useDevice","translate","useLocale","value","currency","finder","forwarder","hotel","locale","tags","options","places","useStore","mapRef","useRef","map","setMap","useState","selected","setSelected","theme","Theme","icon","label","customMarker","accent","base","place","title","useEffect","loadGMaps","then","bounds","window","google","maps","LatLngBounds","Map","current","fullscreenControl","mapTypeControl","addListener","undefined","markers","forEach","marker","dataSource","item","position","lat","latitude","lng","longitude","price","text","currencyFormat","fancy","symbol","Marker","highlightMarker","resetMarker","push","extend","fitBounds","catch","Event","publish","EVENT","NOTIFICATION","error","L10N","NOTIFICATION_ERROR_MAP","panTo","itemIndex","findIndex","_ref2","id","index","setIcon","fillColor","strokeColor","scale","setLabel","color","priceMarker","setZIndex","handlePress","find","isHotel","ids","includes","toString","location","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","idtokenprovider","createElement","Modal","fit","className","modal","View","ref","Card","styles","card","image","images","backgroundImage","content","Text","bold","headline","name","action","light","small","features","anchor","row","maximumFractionDigits","tiny","LABEL_PER_NIGHT","Button","onPress","ACTION_VIEW_MORE","exports","propTypes","PropTypes","arrayOf","shape","number","string","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalMapView/ModalMapView.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Modal, styles, Theme, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { customMarker, loadGMaps } from './helpers';\nimport { L10N } from './ModalMapView.l10n';\nimport * as style from './ModalMapView.module.css';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, toUrlParams } from '../../../helpers';\nimport { getFinderParams } from '../../helpers';\n\nlet memoizedSelected;\n\nconst ModalMapView = ({ items = [], nights = 1, visible, onClose, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, finder, forwarder = {}, hotel, locale, tags: { options: places = [] } = {} },\n } = useStore();\n\n const mapRef = useRef();\n const [map, setMap] = useState();\n const [selected, setSelected] = useState();\n\n const theme = Theme.get();\n const { icon, label } = customMarker(theme);\n const { accent, base } = theme;\n const { place: { title } = {} } = finder;\n\n useEffect(() => {\n if (!visible) return;\n\n loadGMaps()\n .then(() => {\n const bounds = new window.google.maps.LatLngBounds();\n const map = new window.google.maps.Map(mapRef.current, {\n fullscreenControl: false,\n mapTypeControl: false,\n });\n\n map.addListener('click', () => setSelected());\n map.addListener('dragstart', () => setSelected());\n setMap(map);\n\n if (!visible) return;\n\n setSelected(undefined);\n map.markers = map.markers || [];\n map.markers.forEach((marker) => marker.setMap());\n map.markers = [];\n\n items.forEach((dataSource = {}) => {\n const item = { ...dataSource, position: { lat: dataSource.latitude, lng: dataSource.longitude } };\n const { price, position } = item;\n const text = currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n const marker = new window.google.maps.Marker({ map, position, icon, label: { ...label, text } });\n\n marker.addListener('click', () => setSelected(item));\n marker.addListener('mouseover', () => highlightMarker(marker, item));\n marker.addListener('mouseout', () => (memoizedSelected !== item ? resetMarker(marker, item) : undefined));\n\n map.markers.push(marker);\n bounds.extend(position);\n });\n\n if (items.length > 0) map.fitBounds(bounds);\n })\n .catch(() => {\n Event.publish(EVENT.NOTIFICATION, { error: true, ...L10N.NOTIFICATION_ERROR_MAP });\n onClose();\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, visible]);\n\n useEffect(() => {\n memoizedSelected = selected;\n if (!map || !items.length) return;\n if (selected) map.panTo(selected.position);\n\n const itemIndex = selected ? items.findIndex(({ id }) => id === selected.id) : -1;\n map.markers.forEach((marker, index) => {\n index === itemIndex ? highlightMarker(marker, items[index]) : resetMarker(marker, items[index], index);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const highlightMarker = (marker, { price } = {}) => {\n marker.setIcon({ ...icon, fillColor: accent, strokeColor: accent, scale: 1.1 });\n marker.setLabel({ ...label, color: base, text: priceMarker(price) });\n marker.setZIndex(1024);\n };\n\n const resetMarker = (marker, { price } = {}, index) => {\n marker.setIcon(icon);\n marker.setLabel({ ...label, text: priceMarker(price) });\n marker.setZIndex(index);\n };\n\n const priceMarker = (price) => currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n\n const handlePress = () => {\n const { id } = selected;\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n return (\n <Modal {...others} {...{ title, visible, onClose }} fit className={[style.modal, others.className]}>\n <View ref={mapRef} className={style.map} />\n\n <Card className={styles(style.card, selected && style.visible)}>\n <View\n className={style.image}\n style={selected?.images ? { backgroundImage: `url(${selected?.images[0]})` } : undefined}\n />\n <View className={style.content}>\n <Text bold headline={!isMobile}>\n {selected?.name}\n </Text>\n <Text action={!isMobile} light small={isMobile} className={style.location}>\n {selected?.features?.location}\n </Text>\n\n <View className={style.anchor} />\n\n <View row>\n <View>\n <Text bold>{currencyFormat({ currency, locale, maximumFractionDigits: 0, value: selected?.price })}</Text>\n <Text light small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: selected?.price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n </View>\n <View className={style.anchor} />\n <Button small onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n </Modal>\n );\n};\n\nModalMapView.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n title: PropTypes.string,\n visible: PropTypes.visible,\n onClose: PropTypes.func,\n};\n\nModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';\n\nexport { ModalMapView };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModalMapView.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalMapView","style","_helpers2","_shared__","_helpers3","_helpers4","_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","memoizedSelected","ModalMapView","_ref","_selected$features","items","nights","visible","onClose","others","isMobile","useDevice","translate","useLocale","value","currency","finder","forwarder","hotel","locale","tags","options","places","useStore","mapRef","useRef","map","setMap","useState","selected","setSelected","theme","Theme","icon","label","customMarker","accent","base","place","title","useEffect","loadGMaps","then","bounds","window","google","maps","LatLngBounds","Map","current","fullscreenControl","mapTypeControl","addListener","undefined","markers","forEach","marker","dataSource","item","position","lat","latitude","lng","longitude","price","text","currencyFormat","fancy","symbol","Marker","highlightMarker","resetMarker","push","extend","fitBounds","catch","Event","publish","EVENT","NOTIFICATION","error","L10N","NOTIFICATION_ERROR_MAP","panTo","itemIndex","findIndex","_ref2","id","index","setIcon","fillColor","strokeColor","scale","setLabel","color","priceMarker","setZIndex","handlePress","find","isHotel","ids","includes","toString","location","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","idtokenprovider","createElement","Modal","fit","className","modal","View","ref","Card","styles","card","image","images","backgroundImage","content","Text","bold","headline","name","action","light","small","features","anchor","row","maximumFractionDigits","tiny","LABEL_PER_NIGHT","Button","onPress","ACTION_VIEW_MORE","exports","propTypes","PropTypes","arrayOf","shape","number","string","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalMapView/ModalMapView.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Modal, styles, Theme, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { customMarker, loadGMaps } from './helpers';\nimport { L10N } from './ModalMapView.l10n';\nimport * as style from './ModalMapView.module.css';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, toUrlParams } from '../../../helpers';\nimport { getFinderParams } from '../../helpers';\n\nlet memoizedSelected;\n\nconst ModalMapView = ({ items = [], nights = 1, visible, onClose, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, finder = {}, forwarder = {}, hotel, locale, tags: { options: places = [] } = {} },\n } = useStore();\n\n const mapRef = useRef();\n const [map, setMap] = useState();\n const [selected, setSelected] = useState();\n\n const theme = Theme.get();\n const { icon, label } = customMarker(theme);\n const { accent, base } = theme;\n const { place: { title } = {} } = finder;\n\n useEffect(() => {\n if (!visible) return;\n\n loadGMaps()\n .then(() => {\n const bounds = new window.google.maps.LatLngBounds();\n const map = new window.google.maps.Map(mapRef.current, {\n fullscreenControl: false,\n mapTypeControl: false,\n });\n\n map.addListener('click', () => setSelected());\n map.addListener('dragstart', () => setSelected());\n setMap(map);\n\n if (!visible) return;\n\n setSelected(undefined);\n map.markers = map.markers || [];\n map.markers.forEach((marker) => marker.setMap());\n map.markers = [];\n\n items.forEach((dataSource = {}) => {\n const item = { ...dataSource, position: { lat: dataSource.latitude, lng: dataSource.longitude } };\n const { price, position } = item;\n const text = currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n const marker = new window.google.maps.Marker({ map, position, icon, label: { ...label, text } });\n\n marker.addListener('click', () => setSelected(item));\n marker.addListener('mouseover', () => highlightMarker(marker, item));\n marker.addListener('mouseout', () => (memoizedSelected !== item ? resetMarker(marker, item) : undefined));\n\n map.markers.push(marker);\n bounds.extend(position);\n });\n\n if (items.length > 0) map.fitBounds(bounds);\n })\n .catch(() => {\n Event.publish(EVENT.NOTIFICATION, { error: true, ...L10N.NOTIFICATION_ERROR_MAP });\n onClose();\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, visible]);\n\n useEffect(() => {\n memoizedSelected = selected;\n if (!map || !items.length) return;\n if (selected) map.panTo(selected.position);\n\n const itemIndex = selected ? items.findIndex(({ id }) => id === selected.id) : -1;\n map.markers.forEach((marker, index) => {\n index === itemIndex ? highlightMarker(marker, items[index]) : resetMarker(marker, items[index], index);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const highlightMarker = (marker, { price } = {}) => {\n marker.setIcon({ ...icon, fillColor: accent, strokeColor: accent, scale: 1.1 });\n marker.setLabel({ ...label, color: base, text: priceMarker(price) });\n marker.setZIndex(1024);\n };\n\n const resetMarker = (marker, { price } = {}, index) => {\n marker.setIcon(icon);\n marker.setLabel({ ...label, text: priceMarker(price) });\n marker.setZIndex(index);\n };\n\n const priceMarker = (price) => currencyFormat({ currency, fancy: true, locale, symbol: true, value: price });\n\n const handlePress = () => {\n const { id } = selected;\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n return (\n <Modal {...others} {...{ title, visible, onClose }} fit className={[style.modal, others.className]}>\n <View ref={mapRef} className={style.map} />\n\n <Card className={styles(style.card, selected && style.visible)}>\n <View\n className={style.image}\n style={selected?.images ? { backgroundImage: `url(${selected?.images[0]})` } : undefined}\n />\n <View className={style.content}>\n <Text bold headline={!isMobile}>\n {selected?.name}\n </Text>\n <Text action={!isMobile} light small={isMobile} className={style.location}>\n {selected?.features?.location}\n </Text>\n\n <View className={style.anchor} />\n\n <View row>\n <View>\n <Text bold>{currencyFormat({ currency, locale, maximumFractionDigits: 0, value: selected?.price })}</Text>\n <Text light small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: selected?.price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n </View>\n <View className={style.anchor} />\n <Button small onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n </Modal>\n );\n};\n\nModalMapView.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n title: PropTypes.string,\n visible: PropTypes.visible,\n onClose: PropTypes.func,\n};\n\nModalMapView.displayName = 'Mirai:Core:Rates:ModalMapView';\n\nexport { ModalMapView };\n"],"mappings":"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"}
|