@mirai/core 0.3.139 → 0.3.141

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 (50) hide show
  1. package/build/Core.constants.js +5 -1
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/Core.js +1 -0
  4. package/build/Core.js.map +1 -1
  5. package/build/components/Finder/Finder.js +4 -0
  6. package/build/components/Finder/Finder.js.map +1 -1
  7. package/build/components/Finder/components/Calendar/Calendar.js +26 -2
  8. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  9. package/build/components/Finder/components/Calendar/Calendar.l10n.js +6 -1
  10. package/build/components/Finder/components/Calendar/Calendar.l10n.js.map +1 -1
  11. package/build/components/Finder/components/Calendar/helpers/calcMinStay.js +34 -0
  12. package/build/components/Finder/components/Calendar/helpers/calcMinStay.js.map +1 -0
  13. package/build/components/Finder/components/Calendar/helpers/calcTooltips.js +33 -0
  14. package/build/components/Finder/components/Calendar/helpers/calcTooltips.js.map +1 -0
  15. package/build/components/Finder/components/Calendar/helpers/index.js +22 -0
  16. package/build/components/Finder/components/Calendar/helpers/index.js.map +1 -1
  17. package/build/components/Rates/Rates.Footer.js +0 -1
  18. package/build/components/Rates/Rates.Footer.js.map +1 -1
  19. package/build/components/Rates/Rates.Header.js +15 -43
  20. package/build/components/Rates/Rates.Header.js.map +1 -1
  21. package/build/components/Rates/Rates.Unavailability.js +19 -9
  22. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  23. package/build/components/Rates/Rates.js +29 -31
  24. package/build/components/Rates/Rates.js.map +1 -1
  25. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +0 -4
  26. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  27. package/build/helpers/consolidateStore.js +2 -2
  28. package/build/helpers/consolidateStore.js.map +1 -1
  29. package/build/helpers/index.js +11 -0
  30. package/build/helpers/index.js.map +1 -1
  31. package/build/helpers/themeDirection.js +14 -0
  32. package/build/helpers/themeDirection.js.map +1 -0
  33. package/build/services/Rates/helpers/compareSuggestions.js +40 -0
  34. package/build/services/Rates/helpers/compareSuggestions.js.map +1 -0
  35. package/build/services/Rates/helpers/getCalendarSuggestions.js +60 -0
  36. package/build/services/Rates/helpers/getCalendarSuggestions.js.map +1 -0
  37. package/build/services/Rates/helpers/getDisabledDates.js +35 -0
  38. package/build/services/Rates/helpers/getDisabledDates.js.map +1 -0
  39. package/build/services/Rates/helpers/getMinStayDates.js +36 -0
  40. package/build/services/Rates/helpers/getMinStayDates.js.map +1 -0
  41. package/build/services/Rates/helpers/getOccupationSuggestions.js +22 -47
  42. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
  43. package/build/services/Rates/helpers/getRooms.js +55 -0
  44. package/build/services/Rates/helpers/getRooms.js.map +1 -0
  45. package/build/services/Rates/helpers/parseUnavailability.js +31 -2
  46. package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
  47. package/build/services/Rates/rates.js +2 -0
  48. package/build/services/Rates/rates.js.map +1 -1
  49. package/package.json +1 -1
  50. package/public/routes/Step1-Rates.jsx +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Footer","_ref","cart","dataSource","taxesType","extras","occupation","onSubmit","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","arguments","length","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","key","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","bold","action","description","concat","lighten","currencyFormat","summary","headline","level","tiny","getLabelTaxes","Button","disabled","large","onPress","L10N","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({ cart = [], dataSource: { taxesType } = {}, extras, occupation = [], onSubmit = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={id} className={style.cartItem}>\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n <Text lighten small>{`| ${boardName}`}</Text>\n </Text>\n\n <Text bold action={!isMobile} small={isMobile}>\n {currencyFormat({ currency, value: amount * price })}\n </Text>\n </View>\n );\n })}\n </View>\n </View>\n\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: totalPrice })}\n </Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.shape({}),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Footer","_ref","cart","dataSource","taxesType","extras","occupation","onSubmit","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","arguments","length","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","key","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","bold","action","description","concat","lighten","currencyFormat","summary","headline","level","tiny","getLabelTaxes","Button","disabled","large","onPress","L10N","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({ cart = [], dataSource: { taxesType } = {}, extras, occupation = [], onSubmit = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={id} className={style.cartItem}>\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n <Text lighten small>{`| ${boardName}`}</Text>\n </Text>\n\n <Text bold action={!isMobile} small={isMobile}>\n {currencyFormat({ currency, value: amount * price })}\n </Text>\n </View>\n );\n })}\n </View>\n </View>\n\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: totalPrice })}\n </Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
@@ -9,7 +9,7 @@ var _locale = require("@mirai/locale");
9
9
  var _services = require("@mirai/services");
10
10
  var _ui = require("@mirai/ui");
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _react = _interopRequireWildcard(require("react"));
12
+ var _react = _interopRequireDefault(require("react"));
13
13
  var _components = require("./components");
14
14
  var _Rates = require("./Rates.constants");
15
15
  var _Rates2 = require("./Rates.l10n");
@@ -21,17 +21,21 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
21
21
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
22
  const Header = _ref => {
23
23
  let {
24
+ children,
25
+ clubDiscount = false,
24
26
  dataSource: {
25
27
  clubConditions,
26
28
  items = [],
27
29
  ...dataSource
28
30
  } = {},
29
- children,
30
- value = {},
31
- onChange = () => {},
31
+ multiRoom,
32
+ onClubDiscount = () => {},
32
33
  onSelect = () => {},
33
34
  ...others
34
35
  } = _ref;
36
+ const {
37
+ isMobile
38
+ } = (0, _ui.useDevice)();
35
39
  const {
36
40
  translate
37
41
  } = (0, _locale.useLocale)();
@@ -45,49 +49,20 @@ const Header = _ref => {
45
49
  session
46
50
  } = {}
47
51
  } = (0, _dataSources.useStore)();
48
- (0, _react.useEffect)(() => {
49
- // ! TODO: This should be in <Rates>
50
- const callback = function () {
51
- let {
52
- currency
53
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
- return onChange({
55
- ...value,
56
- currency
57
- });
58
- };
59
- _dataSources.Event.subscribe(_helpers.EVENT.INTENT_CURRENCY, callback);
60
- return () => _dataSources.Event.unsubscribe(_helpers.EVENT.INTENT_CURRENCY, callback);
61
- // eslint-disable-next-line react-hooks/exhaustive-deps
62
- }, []);
63
- const handleChange = function () {
64
- let {
65
- clubDiscount,
66
- currency
67
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
- const next = {
69
- ...value
70
- };
71
- if (clubDiscount !== undefined) next.clubDiscount = clubDiscount;
72
- if (currency !== undefined) next.currency = currency;
73
- onChange(next);
74
- };
75
- const {
76
- clubDiscount = false
77
- } = value;
78
52
  const {
79
53
  contentBackground
80
54
  } = _ui.Theme.get();
81
55
  const hasItems = items.length > 0;
82
- const expandClubDiscount = clubConditions || _services.ServiceFeatures.get(_Rates.FEATURE_SHOW_CLUB_DISCOUNT, id) || clubDiscount === false || false;
56
+ const expandClubDiscount = clubConditions !== undefined || _services.ServiceFeatures.get(_Rates.FEATURE_SHOW_CLUB_DISCOUNT, id) || clubDiscount === false || false;
83
57
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
84
58
  row: true,
85
- className: (0, _ui.styles)(style.header, style.blur, others.className),
59
+ className: (0, _ui.styles)(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className),
86
60
  style: {
87
61
  backgroundColor: (0, _helpers.opacity)(contentBackground, 0.66)
88
62
  }
89
63
  }, children, hasItems && /*#__PURE__*/_react.default.createElement(_components.Hotelverse, _extends({}, dataSource, {
90
64
  items,
65
+ multiRoom,
91
66
  onSelect
92
67
  }, others, {
93
68
  className: [style.tag, style.highlight]
@@ -125,9 +100,7 @@ const Header = _ref => {
125
100
  }))), /*#__PURE__*/_react.default.createElement(_ui.Switch, {
126
101
  checked: clubDiscount,
127
102
  name: "clubDiscount",
128
- onChange: next => handleChange({
129
- clubDiscount: next
130
- }),
103
+ onChange: onClubDiscount,
131
104
  className: style.switch
132
105
  })));
133
106
  };
@@ -135,11 +108,10 @@ exports.Header = Header;
135
108
  Header.displayName = 'Mirai:Core:Rates:Header';
136
109
  Header.propTypes = {
137
110
  children: _propTypes.default.node,
111
+ clubDiscount: _propTypes.default.bool,
138
112
  dataSource: _propTypes.default.shape({}),
139
- value: _propTypes.default.shape({
140
- clubDiscount: _propTypes.default.bool
141
- }),
142
- onChange: _propTypes.default.func,
113
+ multiRoom: _propTypes.default.bool,
114
+ onClubDiscount: _propTypes.default.func,
143
115
  onSelect: _propTypes.default.func
144
116
  };
145
117
  //# sourceMappingURL=Rates.Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Rates","_Rates2","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Header","_ref","dataSource","clubConditions","items","children","value","onChange","onSelect","others","translate","useLocale","club","discount","name","id","session","useStore","useEffect","callback","currency","undefined","Event","subscribe","EVENT","INTENT_CURRENCY","unsubscribe","handleChange","clubDiscount","next","contentBackground","Theme","hasItems","expandClubDiscount","ServiceFeatures","FEATURE_SHOW_CLUB_DISCOUNT","createElement","View","row","className","styles","header","blur","backgroundColor","opacity","Hotelverse","tag","highlight","Text","action","bold","L10N","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","Switch","checked","switch","exports","displayName","propTypes","PropTypes","node","shape","bool","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, styles, Switch, Text, Theme, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { Hotelverse } from './components';\nimport { FEATURE_SHOW_CLUB_DISCOUNT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n children,\n value = {},\n onChange = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, id, session } = {} } = useStore();\n\n useEffect(() => {\n // ! TODO: This should be in <Rates>\n const callback = ({ currency } = {}) => onChange({ ...value, currency });\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 const handleChange = ({ clubDiscount, currency } = {}) => {\n const next = { ...value };\n\n if (clubDiscount !== undefined) next.clubDiscount = clubDiscount;\n if (currency !== undefined) next.currency = currency;\n\n onChange(next);\n };\n\n const { clubDiscount = false } = value;\n const { contentBackground } = Theme.get();\n const hasItems = items.length > 0;\n const expandClubDiscount =\n clubConditions || ServiceFeatures.get(FEATURE_SHOW_CLUB_DISCOUNT, id) || clubDiscount === false || false;\n\n return (\n <View\n row\n className={styles(style.header, style.blur, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse {...{ ...dataSource, items, onSelect, ...others }} className={[style.tag, style.highlight]} />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <View row className={[style.tag, style.clubDiscount, clubDiscount && style.highlight]}>\n <View row>\n <Text action bold>\n {translate(L10N.LABEL_APPLY_DISCOUNTS)}\n </Text>\n\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </View>\n\n <Switch\n checked={clubDiscount}\n name=\"clubDiscount\"\n onChange={(next) => handleChange({ clubDiscount: next })}\n className={style.switch}\n />\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({}),\n value: PropTypes.shape({\n clubDiscount: PropTypes.bool,\n }),\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","_Rates2","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","_extends","assign","bind","target","arguments","length","source","key","apply","Header","_ref","children","clubDiscount","dataSource","clubConditions","items","multiRoom","onClubDiscount","onSelect","others","isMobile","useDevice","translate","useLocale","value","club","discount","name","id","session","useStore","contentBackground","Theme","hasItems","expandClubDiscount","undefined","ServiceFeatures","FEATURE_SHOW_CLUB_DISCOUNT","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","tag","highlight","Text","action","bold","L10N","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","Switch","checked","onChange","switch","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, styles, Switch, Text, Theme, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { FEATURE_SHOW_CLUB_DISCOUNT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n multiRoom,\n onClubDiscount = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, id, session } = {} } = useStore();\n\n const { contentBackground } = Theme.get();\n const hasItems = items.length > 0;\n const expandClubDiscount =\n clubConditions !== undefined ||\n ServiceFeatures.get(FEATURE_SHOW_CLUB_DISCOUNT, id) ||\n clubDiscount === false ||\n false;\n\n return (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <View row className={[style.tag, style.clubDiscount, clubDiscount && style.highlight]}>\n <View row>\n <Text action bold>\n {translate(L10N.LABEL_APPLY_DISCOUNTS)}\n </Text>\n\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </View>\n\n <Switch checked={clubDiscount} name=\"clubDiscount\" onChange={onClubDiscount} className={style.switch} />\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
9
  var _ui = require("@mirai/ui");
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _react = _interopRequireDefault(require("react"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
12
  var _components = require("./components");
13
13
  var _helpers = require("./helpers");
14
14
  var _Rates = require("./Rates.constants");
@@ -21,10 +21,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
21
21
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
22
  const Unavailability = _ref => {
23
23
  let {
24
- calendar = false,
24
+ calendar = {},
25
25
  hotels = [],
26
26
  suggestions: {
27
27
  calendar: calendarSuggestions = [],
28
+ description,
28
29
  occupation: occupationSuggestions = []
29
30
  } = {},
30
31
  taxesType
@@ -41,6 +42,12 @@ const Unavailability = _ref => {
41
42
  set,
42
43
  value: store
43
44
  } = (0, _dataSources.useStore)();
45
+ (0, _react.useEffect)(() => {
46
+ _dataSources.Event.publish(_helpers2.EVENT.FINDER, {
47
+ calendar
48
+ });
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ }, []);
44
51
  const {
45
52
  club = {},
46
53
  currency,
@@ -67,8 +74,11 @@ const Unavailability = _ref => {
67
74
  });
68
75
  };
69
76
  const handleFinder = () => {
70
- _dataSources.Event.publish(_helpers2.EVENT.FINDER, {
71
- focus: calendar ? 'calendar' : 'occupation'
77
+ _dataSources.Event.publish(_helpers2.EVENT.FINDER, isCalendar ? {
78
+ calendar,
79
+ focus: 'calendar'
80
+ } : {
81
+ focus: 'occupation'
72
82
  });
73
83
  };
74
84
  const renderPrice = function () {
@@ -109,20 +119,21 @@ const Unavailability = _ref => {
109
119
  type: accommodationType
110
120
  }, translate);
111
121
  const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;
122
+ const isCalendar = calendarSuggestions.length > 0;
112
123
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
113
124
  className: style.unavailability
114
125
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
115
126
  row: !isMobile,
116
127
  className: style.banner
117
128
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
118
- value: calendar ? _helpers2.ICON.CALENDAR_BUSY : _helpers2.ICON.PERSON_OFF
129
+ value: isCalendar ? _helpers2.ICON.CALENDAR_BUSY : _helpers2.ICON.PERSON_OFF
119
130
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
120
131
  wide: true,
121
132
  className: style.texts
122
133
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
123
134
  headline: true,
124
135
  level: isMobile ? 3 : 2
125
- }, translate(calendar ? _Rates2.L10N.LABEL_NO_AVAILABILITY_CALENDAR : _Rates2.L10N.LABEL_NO_AVAILABILITY_OCCUPATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
136
+ }, isCalendar ? description || translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_CALENDAR) : translate(_Rates2.L10N.LABEL_NO_AVAILABILITY_OCCUPATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
126
137
  small: isMobile
127
138
  }, translate(hotels.length ? _Rates2.L10N.LABEL_REFINE_SEARCH_CLUB : _Rates2.L10N.LABEL_REFINE_SEARCH, {
128
139
  club: club.name
@@ -132,7 +143,7 @@ const Unavailability = _ref => {
132
143
  }, translate(_Rates2.L10N.ACTION_REFINE_SEARCH))), hasSuggestions && /*#__PURE__*/_react.default.createElement(_ui.Text, {
133
144
  bold: true,
134
145
  headline: true
135
- }, translate(_Rates2.L10N.LABEL_AVAILABLE_ALTERNATIVES)), calendarSuggestions.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
146
+ }, translate(_Rates2.L10N.LABEL_AVAILABLE_ALTERNATIVES)), isCalendar && /*#__PURE__*/_react.default.createElement(_ui.View, {
136
147
  row: !isMobile,
137
148
  className: style.items
138
149
  }, calendarSuggestions.map(function () {
@@ -230,8 +241,7 @@ const Unavailability = _ref => {
230
241
  exports.Unavailability = Unavailability;
231
242
  Unavailability.displayName = 'Mirai:Core:Rates:Unavailability';
232
243
  Unavailability.propTypes = {
233
- calendar: _propTypes.default.bool,
234
- occupation: _propTypes.default.bool,
244
+ calendar: _propTypes.default.shape({}),
235
245
  hotels: _propTypes.default.arrayOf(_propTypes.default.shape({})),
236
246
  suggestions: _propTypes.default.shape({
237
247
  calendar: _propTypes.default.arrayOf(_propTypes.default.shape({})),
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_helpers","_Rates","_Rates2","style","_interopRequireWildcard","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","Event","publish","EVENT","FINDER","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = false,\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, { focus: calendar ? 'calendar' : 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={calendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {translate(calendar ? L10N.LABEL_NO_AVAILABILITY_CALENDAR : L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.bool,\n occupation: PropTypes.bool,\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","isCalendar","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","shape","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
@@ -71,18 +71,31 @@ const Rates = _ref => {
71
71
  place = {}
72
72
  } = finder;
73
73
  const [cart, setCart] = (0, _react.useState)([]);
74
+ const [clubDiscount, setClubDiscount] = (0, _react.useState)(discount);
74
75
  const [dataSource, setDataSource] = (0, _react.useState)();
75
76
  const [extras, setExtras] = (0, _react.useState)();
76
77
  const [fetching, setFetching] = (0, _react.useState)(undefined);
77
- const [filter, setFilter] = (0, _react.useState)({
78
- clubDiscount: discount
79
- });
80
78
  const [itemInfo, setItemInfo] = (0, _react.useState)();
81
79
  const [itemRateInfo, setItemRateInfo] = (0, _react.useState)();
82
80
  const [itemUrl, setItemUrl] = (0, _react.useState)();
83
81
  const [login, setLogin] = (0, _react.useState)(false);
84
82
  const [responseError, setResponseError] = (0, _react.useState)();
85
83
  const [room, setRoom] = (0, _react.useState)();
84
+ (0, _react.useEffect)(() => {
85
+ const callback = async function () {
86
+ let {
87
+ currency
88
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
89
+ set({
90
+ currency
91
+ });
92
+ // ! TODO: Here locale is not correct
93
+ await fetch(currency, clubDiscount, undefined, room);
94
+ };
95
+ _dataSources.Event.subscribe(_helpers2.EVENT.INTENT_CURRENCY, callback);
96
+ return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.INTENT_CURRENCY, callback);
97
+ // eslint-disable-next-line react-hooks/exhaustive-deps
98
+ }, []);
86
99
 
87
100
  // eslint-disable-next-line react-hooks/exhaustive-deps
88
101
  (0, _react.useEffect)(() => skeleton && setFetching(true), [skeleton]);
@@ -126,6 +139,7 @@ const Rates = _ref => {
126
139
  setDataSource();
127
140
  }
128
141
  fetch(currency, undefined, getNextUrlParams(), room);
142
+ replaceHistory();
129
143
  // eslint-disable-next-line react-hooks/exhaustive-deps
130
144
  }, [finder, locale, room, session]);
131
145
  (0, _react.useEffect)(() => {
@@ -139,16 +153,19 @@ const Rates = _ref => {
139
153
  // eslint-disable-next-line react-hooks/exhaustive-deps
140
154
  }, [dataSource]);
141
155
  const fetch = async function (currency) {
142
- let clubDiscount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : filter.clubDiscount;
156
+ let nextClubDiscount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : clubDiscount;
143
157
  let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : urlParams;
144
158
  let room = arguments.length > 3 ? arguments[3] : undefined;
145
159
  if (skeleton || !multiRoom && room !== undefined) return;
160
+ _dataSources.Event.publish(_helpers2.EVENT.FINDER, {
161
+ calendar: undefined
162
+ });
146
163
  setFetching(true);
147
164
  setResponseError();
148
165
  const nextParams = {
149
166
  ...params,
150
167
  club,
151
- clubDiscount,
168
+ clubDiscount: nextClubDiscount,
152
169
  currency,
153
170
  id,
154
171
  locale,
@@ -201,20 +218,11 @@ const Rates = _ref => {
201
218
  });
202
219
  replaceHistory(params);
203
220
  };
204
- const handleChangeFilter = async function () {
205
- let {
206
- clubDiscount: nextClubDiscount,
207
- currency: nextCurrency = currency
208
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
221
+ const handleClubDiscount = async next => {
209
222
  setCart([]);
210
- setFilter({
211
- clubDiscount: nextClubDiscount
212
- });
223
+ setClubDiscount(next);
213
224
  login && setLogin(false);
214
- await fetch(nextCurrency, nextClubDiscount, undefined, room);
215
- if (currency !== nextCurrency) set({
216
- currency: nextCurrency
217
- });
225
+ await fetch(currency, next, undefined, room);
218
226
  };
219
227
  const handleSelect = (board, others) => {
220
228
  const nextCart = [...cart];
@@ -232,9 +240,6 @@ const Rates = _ref => {
232
240
 
233
241
  // eslint-disable-next-line no-unused-vars
234
242
  const handleSubmit = async cart => {
235
- const {
236
- clubDiscount
237
- } = filter;
238
243
  const isPestana = _services.ServiceFeatures.get(_Rates.FEATURE_PESTANA, id) || false;
239
244
  setLogin(false);
240
245
  if (!isPestana && clubDiscount && !session && !loginShown) {
@@ -266,9 +271,6 @@ const Rates = _ref => {
266
271
  const handleCheckout = function () {
267
272
  let cart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
268
273
  let extras = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
269
- const {
270
- clubDiscount
271
- } = filter;
272
274
  const urlParams = getNextUrlParams();
273
275
  document.location.href = (0, _helpers.getForwarderUrl)({
274
276
  cart,
@@ -315,12 +317,11 @@ const Rates = _ref => {
315
317
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
316
318
  className: [style.wrapper, style.content]
317
319
  }, response && !responseError && /*#__PURE__*/_react.default.createElement(_Rates2.Content, others), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
320
+ clubDiscount,
318
321
  dataSource,
319
322
  multiRoom,
320
- value: filter,
321
- onChange: handleChangeFilter,
322
- onSelect: handleSelect,
323
- className: multiRoom && !isMobile ? style.sticky : undefined
323
+ onClubDiscount: handleClubDiscount,
324
+ onSelect: handleSelect
324
325
  }, !isMobile && /*#__PURE__*/_react.default.createElement(_Rates6.RoomSelector, roomSelectorProps)), response ? /*#__PURE__*/_react.default.createElement(_ui.View, {
325
326
  row: !isMobile,
326
327
  className: style.items
@@ -333,7 +334,6 @@ const Rates = _ref => {
333
334
  key: "".concat(id || index, ":").concat(fetching, ":").concat(width),
334
335
  id
335
336
  }, item, {
336
- filter,
337
337
  multiRoom,
338
338
  nights,
339
339
  showIncluded,
@@ -383,9 +383,7 @@ const Rates = _ref => {
383
383
  onClose: () => handleSelect(),
384
384
  onSuccess: () => handleSubmit(cart)
385
385
  }, /*#__PURE__*/_react.default.createElement(_components.ClubRate, {
386
- onCancel: () => handleChangeFilter({
387
- clubDiscount: false
388
- }),
386
+ onCancel: () => handleClubDiscount(false),
389
387
  onSubmit: () => handleSubmit(cart)
390
388
  }))));
391
389
  };