@mirai/core 0.3.155 → 0.3.157

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.
Files changed (51) hide show
  1. package/README.md +50 -4
  2. package/build/Core.constants.js +8 -4
  3. package/build/Core.constants.js.map +1 -1
  4. package/build/components/Rates/Rates.Footer.js +1 -1
  5. package/build/components/Rates/Rates.Footer.js.map +1 -1
  6. package/build/components/Rates/Rates.Header.js +11 -10
  7. package/build/components/Rates/Rates.Header.js.map +1 -1
  8. package/build/components/Rates/Rates.Unavailability.js +1 -1
  9. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  10. package/build/components/Rates/Rates.constants.js +9 -5
  11. package/build/components/Rates/Rates.constants.js.map +1 -1
  12. package/build/components/Rates/Rates.js +7 -8
  13. package/build/components/Rates/Rates.js.map +1 -1
  14. package/build/components/Rates/Rates.l10n.js +16 -4
  15. package/build/components/Rates/Rates.l10n.js.map +1 -1
  16. package/build/components/Rates/components/Item/Item.Rates.js +24 -13
  17. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  18. package/build/components/Rates/components/Item/Item.Summary.js +1 -1
  19. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  20. package/build/components/Rates/components/Item/Item.js +45 -18
  21. package/build/components/Rates/components/Item/Item.js.map +1 -1
  22. package/build/components/Rates/components/Item/components/Option/Option.js +2 -2
  23. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -1
  24. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js +2 -2
  25. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js.map +1 -1
  26. package/build/components/Rates/components/ModalExtras/ModalExtras.js +4 -2
  27. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  28. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +4 -0
  29. package/build/components/Rates/helpers/getFeatures.js +19 -0
  30. package/build/components/Rates/helpers/getFeatures.js.map +1 -0
  31. package/build/components/Rates/helpers/index.js +11 -0
  32. package/build/components/Rates/helpers/index.js.map +1 -1
  33. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +3 -3
  34. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +3 -3
  35. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +3 -3
  36. package/build/services/Rates/__tests__/__mocks__/rates-response.json +3 -3
  37. package/build/services/Rates/helpers/getItems.js +113 -0
  38. package/build/services/Rates/helpers/getItems.js.map +1 -0
  39. package/build/services/Rates/helpers/getOccupationSuggestions.js +6 -0
  40. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
  41. package/build/services/Rates/helpers/getRooms.js +17 -9
  42. package/build/services/Rates/helpers/getRooms.js.map +1 -1
  43. package/build/services/Rates/helpers/getTaxesType.js +13 -3
  44. package/build/services/Rates/helpers/getTaxesType.js.map +1 -1
  45. package/build/services/Rates/helpers/index.js +11 -0
  46. package/build/services/Rates/helpers/index.js.map +1 -1
  47. package/build/services/Rates/helpers/parseUnavailability.js +12 -1
  48. package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
  49. package/build/services/Rates/rates.js +16 -95
  50. package/build/services/Rates/rates.js.map +1 -1
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","publish","FINDER","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURE_PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","nights","dateDiff","days","response","roomSelectorProps","onPress","showIncluded","FEATURE_SHOW_RATE_INCLUDED","showAllOffers","FEATURE_SHOW_ALL_OFFERS","contentBackground","Theme","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURE_PESTANA, FEATURE_SHOW_ALL_OFFERS, FEATURE_SHOW_RATE_INCLUDED } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n replaceHistory();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURE_PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showIncluded = ServiceFeatures.get(FEATURE_SHOW_RATE_INCLUDED, id) || false;\n const showAllOffers = ServiceFeatures.get(FEATURE_SHOW_ALL_OFFERS, id) || false;\n const { contentBackground } = Theme.get();\n\n return (\n <>\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{ clubDiscount, dataSource, multiRoom, onClubDiscount: handleClubDiscount, onSelect: handleSelect }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, multiRoom, nights, showAllOffers, showIncluded, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_services2","_Finder","_helpers2","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","rates","cart","storeCart","session","urlParams","useStore","calendar","occupation","place","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","useEffect","callback","fetch","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","boards","items","map","_ref2","name","roomName","board","flat","nextCart","find","filter","console","log","replaceHistory","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","getNextUrlParams","trackDataSource","nextClubDiscount","params","publish","FINDER","nextParams","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","JSON","stringify","history","replaceState","toUrlParams","lang","getFinderParams","handleFinder","values","handleClubDiscount","next","handleSelect","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","hotelCurrency","selectableExtras","some","included","handleCheckout","location","href","getForwarderUrl","contentBackground","Theme","features","getFeatures","nights","dateDiff","days","response","roomSelectorProps","onPress","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","_ref3","index","item","Item","concat","taxesType","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getCheckoutParams, getFeatures, getFinderParams, getForwarderUrl, signout, trackDataSource } from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, opacity, parseToParties, toUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n const callback = async ({ currency } = {}) => {\n set({ currency });\n // ! TODO: Here locale is not correct\n await fetch(currency, clubDiscount, undefined, room);\n };\n\n Event.subscribe(EVENT.INTENT_CURRENCY, callback);\n return () => Event.unsubscribe(EVENT.INTENT_CURRENCY, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n useEffect(() => {\n if (!storeCart.length || !dataSource || cart.length) return;\n\n const boards = dataSource.items\n .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n .flat();\n const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // eslint-disable-next-line no-console\n console.log('::cart from url::', nextCart);\n\n // if (storeCart.length === nextCart.length) setCart(nextCart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cart, dataSource, storeCart]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => currency && locale && replaceHistory(), [currency, locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n fetch(currency, undefined, getNextUrlParams(), room);\n replaceHistory();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, locale, room, session]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n\n trackDataSource({ ...dataSource, ...urlParams, isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n const fetch = async (currency, nextClubDiscount = clubDiscount, params = urlParams, room) => {\n if (skeleton || (!multiRoom && room !== undefined)) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n const nextParams = {\n ...params,\n club,\n clubDiscount: nextClubDiscount,\n currency,\n id,\n locale,\n occupation,\n place,\n session,\n };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n const nextDataSource = await ServiceRates.get(nextParams).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && multiRoom && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const replaceHistory = (nextParams = getNextUrlParams() || {}, nextCart = cart || []) => {\n if (nextCart.length) nextParams.rates = JSON.stringify(nextCart.map(({ id } = {}) => id));\n else if (nextParams.rates) nextParams.rates = undefined;\n\n history.replaceState({}, '', toUrlParams({ ...nextParams, currency, lang: language, locale }));\n };\n\n const getNextUrlParams = () => getFinderParams({ ...urlParams, ...finder, currency, locale, hotel });\n\n const handleFinder = (values) => {\n setCart([]);\n setDataSource(undefined);\n setRoom(undefined);\n\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n replaceHistory(params);\n };\n\n const handleClubDiscount = async (next) => {\n setCart([]);\n setClubDiscount(next);\n login && setLogin(false);\n\n await fetch(currency, next, undefined, room);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) replaceHistory(undefined, nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n replaceHistory(undefined, cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: getNextUrlParams() }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const urlParams = getNextUrlParams();\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, session, urlParams });\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams);\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, ...item, features, multiRoom, nights, taxesType: dataSource.taxesType }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...itemInfo}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => handleSelect()}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -79,17 +79,29 @@ const L10N = exports.L10N = {
79
79
  id: 'common.label.select'
80
80
  },
81
81
  LABEL_TAXES_FEES: {
82
+ [_Core.TAXES_TYPE.ALL_EXCLUDED]: {
83
+ id: 'finder.label.excludes_taxes_fees'
84
+ },
82
85
  [_Core.TAXES_TYPE.ALL_INCLUDED]: {
83
86
  id: 'finder.label.includes_taxes_fees'
84
87
  },
85
- [_Core.TAXES_TYPE.FEES_INCLUDED]: {
88
+ [_Core.TAXES_TYPE.FEES_EXCLUDED]: {
89
+ id: 'finder.label.excludes_fees'
90
+ },
91
+ [_Core.TAXES_TYPE.FEES_INCLUDED_TAXES_EXCLUDED]: {
86
92
  id: 'finder.label.includes_fees_excludes_taxes'
87
93
  },
88
- [_Core.TAXES_TYPE.TAXES_INCLUDED]: {
94
+ [_Core.TAXES_TYPE.FEES_INCLUDED]: {
95
+ id: 'finder.label.includes_fees'
96
+ },
97
+ [_Core.TAXES_TYPE.TAXES_EXCLUDED]: {
98
+ id: 'finder.label.excludes_taxes'
99
+ },
100
+ [_Core.TAXES_TYPE.TAXES_INCLUDED_FEES_EXCLUDED]: {
89
101
  id: 'finder.label.includes_taxes_excludes_fees'
90
102
  },
91
- [_Core.TAXES_TYPE.ALL_EXCLUDED]: {
92
- id: 'finder.label.excludes_taxes_fees'
103
+ [_Core.TAXES_TYPE.TAXES_INCLUDED]: {
104
+ id: 'finder.label.includes_taxes'
93
105
  }
94
106
  }
95
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.l10n.js","names":["_Core","require","L10N","exports","ACTION_3D_EXPERIENCE","id","ACTION_CLUB_VIEW_CONDITIONS","ACTION_HIDE_CART","ACTION_REFINE_SEARCH","ACTION_RESERVE","ACTION_SEARCH","ACTION_VIEW_CART","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_TYPE","LABEL_APPLY_DISCOUNTS","LABEL_AVAILABLE_ALTERNATIVES","LABEL_CLUB_BENEFITS","LABEL_CLUB_CONDITIONS","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_FARE_EXCLUSIVE_MEMBERS","LABEL_EXCLUDES_TAXES_FEES","LABEL_FROM","LABEL_INCLUDES_TAXES_FEES","LABEL_NIGHTS","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH","LABEL_REFINE_SEARCH_CLUB","LABEL_SELECT","LABEL_TAXES_FEES","TAXES_TYPE","ALL_INCLUDED","FEES_INCLUDED","TAXES_INCLUDED","ALL_EXCLUDED"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["import { TAXES_TYPE } from '../../Core.constants';\n\nexport const L10N = {\n ACTION_3D_EXPERIENCE: { id: 'finder.action.3d_experience' },\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_HIDE_CART: { id: 'finder.action.hide_cart' },\n ACTION_REFINE_SEARCH: { id: 'common.action.refine_search' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_SEARCH: { id: 'common.action.search' },\n ACTION_VIEW_CART: { id: 'finder.action.view_cart' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_TYPE: { id: 'common.label.accommodation_type' },\n LABEL_APPLY_DISCOUNTS: { id: 'common.label.apply_discounts' },\n LABEL_AVAILABLE_ALTERNATIVES: { id: 'finder.label.available_alternatives' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_FARE_EXCLUSIVE_MEMBERS: { id: 'user.label.fare_exclusive_members' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_FROM: { id: 'common.label.from' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_NIGHTS: { id: 'common.label.nights' },\n LABEL_NO_AVAILABILITY_CALENDAR: { id: 'common.label.no_availability_calendar' },\n LABEL_NO_AVAILABILITY_OCCUPATION: { id: 'common.label.no_availability_occupation' },\n LABEL_REFINE_SEARCH: { id: 'common.label.refine_search' },\n LABEL_REFINE_SEARCH_CLUB: { id: 'common.label.refine_search_club' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_TAXES_FEES: {\n [TAXES_TYPE.ALL_INCLUDED]: { id: 'finder.label.includes_taxes_fees' },\n [TAXES_TYPE.FEES_INCLUDED]: { id: 'finder.label.includes_fees_excludes_taxes' },\n [TAXES_TYPE.TAXES_INCLUDED]: { id: 'finder.label.includes_taxes_excludes_fees' },\n [TAXES_TYPE.ALL_EXCLUDED]: { id: 'finder.label.excludes_taxes_fees' },\n },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,oBAAoB,EAAE;IAAEC,EAAE,EAAE;EAA8B,CAAC;EAC3DC,2BAA2B,EAAE;IAAED,EAAE,EAAE;EAAqC,CAAC;EACzEE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EACnDG,oBAAoB,EAAE;IAAEH,EAAE,EAAE;EAA8B,CAAC;EAC3DI,cAAc,EAAE;IAAEJ,EAAE,EAAE;EAAwB,CAAC;EAC/CK,aAAa,EAAE;IAAEL,EAAE,EAAE;EAAuB,CAAC;EAC7CM,gBAAgB,EAAE;IAAEN,EAAE,EAAE;EAA0B,CAAC;EACnDO,gBAAgB,EAAE;IAAEP,EAAE,EAAE;EAA0B,CAAC;EAEnDQ,wBAAwB,EAAE;IAAER,EAAE,EAAE;EAAkC,CAAC;EACnES,qBAAqB,EAAE;IAAET,EAAE,EAAE;EAA+B,CAAC;EAC7DU,4BAA4B,EAAE;IAAEV,EAAE,EAAE;EAAsC,CAAC;EAC3EW,mBAAmB,EAAE;IAAEX,EAAE,EAAE;EAA6B,CAAC;EACzDY,qBAAqB,EAAE;IAAEZ,EAAE,EAAE;EAA+B,CAAC;EAC7Da,4BAA4B,EAAE;IAAEb,EAAE,EAAE;EAAsC,CAAC;EAC3Ec,4BAA4B,EAAE;IAAEd,EAAE,EAAE;EAAoC,CAAC;EACzEe,yBAAyB,EAAE;IAAEf,EAAE,EAAE;EAAmC,CAAC;EACrEgB,UAAU,EAAE;IAAEhB,EAAE,EAAE;EAAoB,CAAC;EACvCiB,yBAAyB,EAAE;IAAEjB,EAAE,EAAE;EAAmC,CAAC;EACrEkB,YAAY,EAAE;IAAElB,EAAE,EAAE;EAAsB,CAAC;EAC3CmB,8BAA8B,EAAE;IAAEnB,EAAE,EAAE;EAAwC,CAAC;EAC/EoB,gCAAgC,EAAE;IAAEpB,EAAE,EAAE;EAA0C,CAAC;EACnFqB,mBAAmB,EAAE;IAAErB,EAAE,EAAE;EAA6B,CAAC;EACzDsB,wBAAwB,EAAE;IAAEtB,EAAE,EAAE;EAAkC,CAAC;EACnEuB,YAAY,EAAE;IAAEvB,EAAE,EAAE;EAAsB,CAAC;EAC3CwB,gBAAgB,EAAE;IAChB,CAACC,gBAAU,CAACC,YAAY,GAAG;MAAE1B,EAAE,EAAE;IAAmC,CAAC;IACrE,CAACyB,gBAAU,CAACE,aAAa,GAAG;MAAE3B,EAAE,EAAE;IAA4C,CAAC;IAC/E,CAACyB,gBAAU,CAACG,cAAc,GAAG;MAAE5B,EAAE,EAAE;IAA4C,CAAC;IAChF,CAACyB,gBAAU,CAACI,YAAY,GAAG;MAAE7B,EAAE,EAAE;IAAmC;EACtE;AACF,CAAC"}
1
+ {"version":3,"file":"Rates.l10n.js","names":["_Core","require","L10N","exports","ACTION_3D_EXPERIENCE","id","ACTION_CLUB_VIEW_CONDITIONS","ACTION_HIDE_CART","ACTION_REFINE_SEARCH","ACTION_RESERVE","ACTION_SEARCH","ACTION_VIEW_CART","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_TYPE","LABEL_APPLY_DISCOUNTS","LABEL_AVAILABLE_ALTERNATIVES","LABEL_CLUB_BENEFITS","LABEL_CLUB_CONDITIONS","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_FARE_EXCLUSIVE_MEMBERS","LABEL_EXCLUDES_TAXES_FEES","LABEL_FROM","LABEL_INCLUDES_TAXES_FEES","LABEL_NIGHTS","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH","LABEL_REFINE_SEARCH_CLUB","LABEL_SELECT","LABEL_TAXES_FEES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","FEES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_INCLUDED"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["import { TAXES_TYPE } from '../../Core.constants';\n\nexport const L10N = {\n ACTION_3D_EXPERIENCE: { id: 'finder.action.3d_experience' },\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_HIDE_CART: { id: 'finder.action.hide_cart' },\n ACTION_REFINE_SEARCH: { id: 'common.action.refine_search' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_SEARCH: { id: 'common.action.search' },\n ACTION_VIEW_CART: { id: 'finder.action.view_cart' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_TYPE: { id: 'common.label.accommodation_type' },\n LABEL_APPLY_DISCOUNTS: { id: 'common.label.apply_discounts' },\n LABEL_AVAILABLE_ALTERNATIVES: { id: 'finder.label.available_alternatives' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_FARE_EXCLUSIVE_MEMBERS: { id: 'user.label.fare_exclusive_members' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_FROM: { id: 'common.label.from' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_NIGHTS: { id: 'common.label.nights' },\n LABEL_NO_AVAILABILITY_CALENDAR: { id: 'common.label.no_availability_calendar' },\n LABEL_NO_AVAILABILITY_OCCUPATION: { id: 'common.label.no_availability_occupation' },\n LABEL_REFINE_SEARCH: { id: 'common.label.refine_search' },\n LABEL_REFINE_SEARCH_CLUB: { id: 'common.label.refine_search_club' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_TAXES_FEES: {\n [TAXES_TYPE.ALL_EXCLUDED]: { id: 'finder.label.excludes_taxes_fees' },\n [TAXES_TYPE.ALL_INCLUDED]: { id: 'finder.label.includes_taxes_fees' },\n [TAXES_TYPE.FEES_EXCLUDED]: { id: 'finder.label.excludes_fees' },\n [TAXES_TYPE.FEES_INCLUDED_TAXES_EXCLUDED]: { id: 'finder.label.includes_fees_excludes_taxes' },\n [TAXES_TYPE.FEES_INCLUDED]: { id: 'finder.label.includes_fees' },\n [TAXES_TYPE.TAXES_EXCLUDED]: { id: 'finder.label.excludes_taxes' },\n [TAXES_TYPE.TAXES_INCLUDED_FEES_EXCLUDED]: { id: 'finder.label.includes_taxes_excludes_fees' },\n [TAXES_TYPE.TAXES_INCLUDED]: { id: 'finder.label.includes_taxes' },\n },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,oBAAoB,EAAE;IAAEC,EAAE,EAAE;EAA8B,CAAC;EAC3DC,2BAA2B,EAAE;IAAED,EAAE,EAAE;EAAqC,CAAC;EACzEE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EACnDG,oBAAoB,EAAE;IAAEH,EAAE,EAAE;EAA8B,CAAC;EAC3DI,cAAc,EAAE;IAAEJ,EAAE,EAAE;EAAwB,CAAC;EAC/CK,aAAa,EAAE;IAAEL,EAAE,EAAE;EAAuB,CAAC;EAC7CM,gBAAgB,EAAE;IAAEN,EAAE,EAAE;EAA0B,CAAC;EACnDO,gBAAgB,EAAE;IAAEP,EAAE,EAAE;EAA0B,CAAC;EAEnDQ,wBAAwB,EAAE;IAAER,EAAE,EAAE;EAAkC,CAAC;EACnES,qBAAqB,EAAE;IAAET,EAAE,EAAE;EAA+B,CAAC;EAC7DU,4BAA4B,EAAE;IAAEV,EAAE,EAAE;EAAsC,CAAC;EAC3EW,mBAAmB,EAAE;IAAEX,EAAE,EAAE;EAA6B,CAAC;EACzDY,qBAAqB,EAAE;IAAEZ,EAAE,EAAE;EAA+B,CAAC;EAC7Da,4BAA4B,EAAE;IAAEb,EAAE,EAAE;EAAsC,CAAC;EAC3Ec,4BAA4B,EAAE;IAAEd,EAAE,EAAE;EAAoC,CAAC;EACzEe,yBAAyB,EAAE;IAAEf,EAAE,EAAE;EAAmC,CAAC;EACrEgB,UAAU,EAAE;IAAEhB,EAAE,EAAE;EAAoB,CAAC;EACvCiB,yBAAyB,EAAE;IAAEjB,EAAE,EAAE;EAAmC,CAAC;EACrEkB,YAAY,EAAE;IAAElB,EAAE,EAAE;EAAsB,CAAC;EAC3CmB,8BAA8B,EAAE;IAAEnB,EAAE,EAAE;EAAwC,CAAC;EAC/EoB,gCAAgC,EAAE;IAAEpB,EAAE,EAAE;EAA0C,CAAC;EACnFqB,mBAAmB,EAAE;IAAErB,EAAE,EAAE;EAA6B,CAAC;EACzDsB,wBAAwB,EAAE;IAAEtB,EAAE,EAAE;EAAkC,CAAC;EACnEuB,YAAY,EAAE;IAAEvB,EAAE,EAAE;EAAsB,CAAC;EAC3CwB,gBAAgB,EAAE;IAChB,CAACC,gBAAU,CAACC,YAAY,GAAG;MAAE1B,EAAE,EAAE;IAAmC,CAAC;IACrE,CAACyB,gBAAU,CAACE,YAAY,GAAG;MAAE3B,EAAE,EAAE;IAAmC,CAAC;IACrE,CAACyB,gBAAU,CAACG,aAAa,GAAG;MAAE5B,EAAE,EAAE;IAA6B,CAAC;IAChE,CAACyB,gBAAU,CAACI,4BAA4B,GAAG;MAAE7B,EAAE,EAAE;IAA4C,CAAC;IAC9F,CAACyB,gBAAU,CAACK,aAAa,GAAG;MAAE9B,EAAE,EAAE;IAA6B,CAAC;IAChE,CAACyB,gBAAU,CAACM,cAAc,GAAG;MAAE/B,EAAE,EAAE;IAA8B,CAAC;IAClE,CAACyB,gBAAU,CAACO,4BAA4B,GAAG;MAAEhC,EAAE,EAAE;IAA4C,CAAC;IAC9F,CAACyB,gBAAU,CAACQ,cAAc,GAAG;MAAEjC,EAAE,EAAE;IAA8B;EACnE;AACF,CAAC"}
@@ -19,9 +19,12 @@ const Rates = _ref => {
19
19
  let {
20
20
  boards = [],
21
21
  cancellations = [],
22
+ features: {
23
+ showOffersFirst = false,
24
+ showRateIncluded = false
25
+ } = {},
22
26
  rates = [],
23
27
  selectedBoard = {},
24
- showIncluded = false,
25
28
  onBoard,
26
29
  onCancellation,
27
30
  onRate,
@@ -43,26 +46,31 @@ const Rates = _ref => {
43
46
  rates: rates.length > 1,
44
47
  boards: boards.length > 1
45
48
  };
46
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
49
+ const renderCancellations = () => has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
47
50
  className: [style.offset, style.gap]
48
51
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
49
52
  action: !isMobile,
50
53
  small: isMobile,
51
54
  bold: true
52
- }, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), cancellations.map(_ref2 => {
55
+ }, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), cancellations.filter(_ref2 => {
56
+ let {
57
+ id
58
+ } = _ref2;
59
+ return !showOffersFirst || showOffersFirst && id === cancellationId;
60
+ }).map(_ref3 => {
53
61
  let {
54
62
  id,
55
63
  name,
56
64
  caption,
57
65
  price,
58
66
  ...cancellation
59
- } = _ref2;
67
+ } = _ref3;
60
68
  return /*#__PURE__*/_react.default.createElement(_components.Option, {
61
69
  key: id,
62
70
  caption: caption,
63
71
  checked: id === cancellationId,
64
72
  title: name,
65
- value: price,
73
+ value: !showOffersFirst ? price : undefined,
66
74
  onPress: () => onCancellation(id)
67
75
  }, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
68
76
  onPress: () => onRateInfo({
@@ -73,13 +81,14 @@ const Rates = _ref => {
73
81
  action: isMobile,
74
82
  value: _helpers.ICON.INFO
75
83
  })));
76
- })), has.rates && /*#__PURE__*/_react.default.createElement(_ui.View, {
84
+ }));
85
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showOffersFirst && renderCancellations(), has.rates && /*#__PURE__*/_react.default.createElement(_ui.View, {
77
86
  className: [style.offset, style.gap]
78
87
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
79
88
  action: !isMobile,
80
89
  small: isMobile,
81
90
  bold: true
82
- }, translate(_Item.L10N.LABEL_OFFER)), rates.map(_ref3 => {
91
+ }, translate(_Item.L10N.LABEL_OFFER)), rates.map(_ref4 => {
83
92
  let {
84
93
  id,
85
94
  cancellationId,
@@ -91,12 +100,12 @@ const Rates = _ref => {
91
100
  name,
92
101
  price,
93
102
  restrictions
94
- } = _ref3;
103
+ } = _ref4;
95
104
  return /*#__PURE__*/_react.default.createElement(_components.Option, {
96
105
  key: id,
97
106
  caption: /*#__PURE__*/_react.default.createElement(_components.RateDetails, {
98
107
  countdown,
99
- included: showIncluded ? included : undefined,
108
+ included: showRateIncluded ? included : undefined,
100
109
  restrictions
101
110
  }),
102
111
  checked: id === rateId,
@@ -124,11 +133,11 @@ const Rates = _ref => {
124
133
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
125
134
  action: !isMobile,
126
135
  small: isMobile
127
- }, name, !showIncluded && /*#__PURE__*/_react.default.createElement(_components.RateDetails, {
136
+ }, name, !showRateIncluded && /*#__PURE__*/_react.default.createElement(_components.RateDetails, {
128
137
  compacted: true,
129
138
  included
130
139
  }))));
131
- })), (has.rates || has.boards) && /*#__PURE__*/_react.default.createElement(_ui.View, {
140
+ })), showOffersFirst && renderCancellations(), (has.rates || has.boards) && /*#__PURE__*/_react.default.createElement(_ui.View, {
132
141
  className: (0, _ui.styles)(style.offset, style.gap)
133
142
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
134
143
  action: !isMobile,
@@ -138,6 +147,7 @@ const Rates = _ref => {
138
147
  let board = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
139
148
  let index = arguments.length > 1 ? arguments[1] : undefined;
140
149
  const {
150
+ disabled,
141
151
  id,
142
152
  increment,
143
153
  name
@@ -145,8 +155,9 @@ const Rates = _ref => {
145
155
  return /*#__PURE__*/_react.default.createElement(_components.Option, {
146
156
  key: id,
147
157
  checked: id === boardId,
158
+ disabled: disabled,
148
159
  title: name,
149
- value: increment,
160
+ value: has.boards ? increment : undefined,
150
161
  onPress: () => onBoard(board)
151
162
  }, index === 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
152
163
  captions: ['Breakfast included', 'Breakfast included', 'Full board'],
@@ -159,9 +170,9 @@ Rates.displayName = 'Mirai:Core:Rates:Item:Rates';
159
170
  Rates.propTypes = {
160
171
  boards: _propTypes.default.arrayOf(_propTypes.default.any),
161
172
  cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
173
+ features: _propTypes.default.shape({}),
162
174
  rates: _propTypes.default.arrayOf(_propTypes.default.any),
163
175
  selectedBoard: _propTypes.default.shape({}),
164
- showIncluded: _propTypes.default.bool,
165
176
  onBoard: _propTypes.default.func,
166
177
  onCancellation: _propTypes.default.func,
167
178
  onRate: _propTypes.default.func,
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","boards","cancellations","rates","selectedBoard","showIncluded","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","createElement","Fragment","View","className","offset","gap","Text","action","small","bold","L10N","LABEL_CANCELLATION_POLICY","map","_ref2","name","caption","price","cancellation","Option","key","checked","title","value","onPress","Pressable","Icon","ICON","INFO","LABEL_OFFER","_ref3","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","undefined","row","rateText","rate","highlight","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","arguments","index","increment","TooltipDates","captions","values","Date","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","func","onChange"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({\n boards = [],\n cancellations = [],\n rates = [],\n selectedBoard = {},\n showIncluded = false,\n onBoard,\n onCancellation,\n onRate,\n onRateInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1,\n rates: rates.length > 1,\n boards: boards.length > 1,\n };\n\n return (\n <>\n {has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n {cancellations.map(({ id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n title={name}\n value={price}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </Option>\n ))}\n </View>\n )}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => (\n <Option\n key={id}\n caption={\n <RateDetails {...{ countdown, included: showIncluded ? included : undefined, restrictions }} />\n }\n checked={id === rateId}\n disabled={disabled}\n value={price}\n onPress={rates.length > 1 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 1 && (\n <View row className={style.rateText}>\n {isClub && (\n <Text bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text bold action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text action={!isMobile} small={isMobile}>\n {name}\n {!showIncluded && <RateDetails {...{ compacted: true, included }} />}\n </Text>\n </View>\n )}\n </Option>\n ),\n )}\n </View>\n )}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n {boards.map((board = {}, index) => {\n const { id, increment, name } = board;\n\n return (\n <Option key={id} checked={id === boardId} title={name} value={increment} onPress={() => onBoard(board)}>\n {/* ! TODO: [MF-1742] */}\n {index === 0 && (\n <TooltipDates\n captions={['Breakfast included', 'Breakfast included', 'Full board']}\n values={[new Date(2024, 3, 10), new Date(2024, 3, 11), new Date(2024, 3, 12)]}\n />\n )}\n </Option>\n );\n })}\n </View>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nRates.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n showIncluded: PropTypes.bool,\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","boards","cancellations","features","showOffersFirst","showRateIncluded","rates","selectedBoard","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","renderCancellations","createElement","View","className","offset","gap","Text","action","small","bold","L10N","LABEL_CANCELLATION_POLICY","filter","_ref2","map","_ref3","name","caption","price","cancellation","Option","key","checked","title","value","undefined","onPress","Pressable","Icon","ICON","INFO","Fragment","LABEL_OFFER","_ref4","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","row","rateText","rate","highlight","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","arguments","index","increment","TooltipDates","captions","values","Date","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","func","onChange"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({\n boards = [],\n cancellations = [],\n features: { showOffersFirst = false, showRateIncluded = false } = {},\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onRate,\n onRateInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1,\n rates: rates.length > 1,\n boards: boards.length > 1,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n {cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n title={name}\n value={!showOffersFirst ? price : undefined}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </Option>\n ))}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => (\n <Option\n key={id}\n caption={\n <RateDetails {...{ countdown, included: showRateIncluded ? included : undefined, restrictions }} />\n }\n checked={id === rateId}\n disabled={disabled}\n value={price}\n onPress={rates.length > 1 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 1 && (\n <View row className={style.rateText}>\n {isClub && (\n <Text bold action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text bold action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text action={!isMobile} small={isMobile}>\n {name}\n {!showRateIncluded && <RateDetails {...{ compacted: true, included }} />}\n </Text>\n </View>\n )}\n </Option>\n ),\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n {boards.map((board = {}, index) => {\n const { disabled, id, increment, name } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\n >\n {/* ! TODO: [MF-1742] */}\n {index === 0 && (\n <TooltipDates\n captions={['Breakfast included', 'Breakfast included', 'Full board']}\n values={[new Date(2024, 3, 10), new Date(2024, 3, 11), new Date(2024, 3, 12)]}\n />\n )}\n </Option>\n );\n })}\n </View>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nRates.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -110,7 +110,7 @@ const Summary = _ref => {
110
110
  }, "".concat((0, _locale.currencyFormat)({
111
111
  currency,
112
112
  value: dayPrice
113
- }), " ").concat(translate(_Item.L10N.LABEL_PER_NIGHT))), /*#__PURE__*/_react.default.createElement(_ui.Text, {
113
+ }), " ").concat(translate(_Item.L10N.LABEL_PER_NIGHT))), !!taxesType && /*#__PURE__*/_react.default.createElement(_ui.Text, {
114
114
  lighten: true,
115
115
  small: !isMobile,
116
116
  tiny: isMobile
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_Core","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","id","originalPrice","price","rateId","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","headline","level","currencyFormat","maximumFractionDigits","action","lighten","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","TAXES_TYPE","TAXES_INCLUDED","FEES_INCLUDED","includes","PriceDetails","board","priceDetails","Button","secondary","onPress","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","bool","string","number","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { TAXES_TYPE } from '../../../../Core.constants';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n id,\n name,\n originalPrice,\n price,\n rateId,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(!isSelected ? { checkoutPrice, cancellationId, id, name, price, rateId, roomName } : undefined);\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n\n {([TAXES_TYPE.TAXES_INCLUDED, TAXES_TYPE.FEES_INCLUDED].includes(taxesType) || discountPercentage > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n\n <Button busy={busy} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(multiRoom ? (isSelected ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT) : L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\nexport { Summary };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_Core","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","id","originalPrice","price","rateId","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","headline","level","currencyFormat","maximumFractionDigits","action","lighten","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","TAXES_TYPE","TAXES_INCLUDED","FEES_INCLUDED","includes","PriceDetails","board","priceDetails","Button","secondary","onPress","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","bool","string","number","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { TAXES_TYPE } from '../../../../Core.constants';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n id,\n name,\n originalPrice,\n price,\n rateId,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(!isSelected ? { checkoutPrice, cancellationId, id, name, price, rateId, roomName } : undefined);\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {([TAXES_TYPE.TAXES_INCLUDED, TAXES_TYPE.FEES_INCLUDED].includes(taxesType) || discountPercentage > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n\n <Button busy={busy} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(multiRoom ? (isSelected ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT) : L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\nexport { Summary };\n"],"mappings":"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"}
@@ -20,8 +20,8 @@ const Item = _ref => {
20
20
  boards = [],
21
21
  cancellations = [],
22
22
  cart: selected,
23
+ features = {},
23
24
  rates = [],
24
- showAllOffers = false,
25
25
  ...others
26
26
  } = _ref;
27
27
  const [selectedBoard, setSelectedBoard] = (0, _react.useState)();
@@ -57,34 +57,60 @@ const Item = _ref => {
57
57
  } = _ref3;
58
58
  setSelectedBoard(boards.find(board => board.cancellationId === cancellationId && board.rateId == id));
59
59
  };
60
+ const findPrice = function (id) {
61
+ let dataSource = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
62
+ return (dataSource.find(function () {
63
+ let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
64
+ return item.id === id;
65
+ }) || {}).price || 0;
66
+ };
67
+ const {
68
+ showAllBoards,
69
+ showAllOffers,
70
+ showOffersFirst
71
+ } = features;
60
72
  const {
61
73
  id,
62
74
  cancellationId,
63
75
  rateId
64
76
  } = selectedBoard || {};
65
- const {
66
- price: cancellationPrice = 0
67
- } = cancellations.find(_ref4 => {
68
- let {
69
- id
70
- } = _ref4;
71
- return id === cancellationId;
72
- }) || {};
77
+ const cancellationPrice = findPrice(cancellationId, cancellations);
78
+ const ratePrice = findPrice(rateId, rates);
79
+ const visibleBoards = boards.filter(board => board.cancellationId === cancellationId && board.rateId === rateId);
73
80
  const props = {
74
81
  ...others,
75
- boards: boards.filter(board => board.cancellationId === cancellationId && board.rateId === rateId),
82
+ boards: showAllBoards ? boards.map(board => {
83
+ const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;
84
+ let {
85
+ increment
86
+ } = board;
87
+ if (!selectedBoard) {
88
+ const boardCancellationPrice = findPrice(board.cancellationId, cancellations);
89
+ const boardRatePrice = findPrice(board.rateId, rates);
90
+ increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;
91
+ }
92
+ return {
93
+ ...board,
94
+ disabled: !selectedBoard,
95
+ increment
96
+ };
97
+ }).filter(board => {
98
+ if (!board.disabled) return true;
99
+ const visible = !visibleBoards.find(item => item.name === board.name);
100
+ if (visible) visibleBoards.push(board);
101
+ return visible;
102
+ }).sort((a, b) => a.increment - b.increment) : visibleBoards,
76
103
  cancellations,
77
- rates: showAllOffers ? rates.map(rate => {
104
+ features,
105
+ rates: showOffersFirst ? rates.map(rate => ({
106
+ ...rate,
107
+ price: rate.price + findPrice(rate.cancellationId, cancellations)
108
+ })).sort((a, b) => a.price - b.price) : showAllOffers ? rates.map(rate => {
78
109
  const selectedCancellation = rate.cancellationId === cancellationId;
79
- const price = selectedCancellation ? rate.price : rate.price - cancellationPrice + cancellations.find(_ref5 => {
80
- let {
81
- id
82
- } = _ref5;
83
- return id === rate.cancellationId;
84
- }).price;
110
+ const price = selectedCancellation ? rate.price : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);
85
111
  return {
86
112
  ...rate,
87
- disabled: !selectedCancellation,
113
+ disabled: !showOffersFirst && !selectedCancellation,
88
114
  price
89
115
  };
90
116
  }).sort((a, b) => a.price - b.price) : rates.filter(rate => rate.cancellationId === cancellationId),
@@ -107,6 +133,7 @@ Item.propTypes = {
107
133
  cart: _propTypes.default.shape({
108
134
  id: _propTypes.default.string
109
135
  }),
136
+ features: _propTypes.default.shape({}),
110
137
  rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
111
138
  showAllOffers: _propTypes.default.bool
112
139
  };