@mirai/core 0.3.60 → 0.3.62

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 (84) hide show
  1. package/build/components/Booking/Booking.l10n.js +3 -3
  2. package/build/components/Booking/Booking.l10n.js.map +1 -1
  3. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Details.test.js.snap +10 -10
  4. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Details.test.js.snap +42 -6
  5. package/build/components/Finder/helpers/getForwarderUrl.js +4 -2
  6. package/build/components/Finder/helpers/getForwarderUrl.js.map +1 -1
  7. package/build/components/Rates/Rates.Footer.js +65 -77
  8. package/build/components/Rates/Rates.Footer.js.map +1 -1
  9. package/build/components/Rates/{Rates.Filter.js → Rates.Header.js} +53 -80
  10. package/build/components/Rates/Rates.Header.js.map +1 -0
  11. package/build/components/Rates/Rates.RoomSelector.js +96 -0
  12. package/build/components/Rates/Rates.RoomSelector.js.map +1 -0
  13. package/build/components/Rates/Rates.Skeleton.js +116 -40
  14. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  15. package/build/components/Rates/Rates.constants.js +7 -1
  16. package/build/components/Rates/Rates.constants.js.map +1 -1
  17. package/build/components/Rates/Rates.js +90 -47
  18. package/build/components/Rates/Rates.js.map +1 -1
  19. package/build/components/Rates/Rates.l10n.js +16 -7
  20. package/build/components/Rates/Rates.l10n.js.map +1 -1
  21. package/build/components/Rates/Rates.module.css +149 -67
  22. package/build/components/Rates/components/Item/Item.Preview.js +46 -29
  23. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  24. package/build/components/Rates/components/Item/Item.Rates.js +112 -143
  25. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  26. package/build/components/Rates/components/Item/Item.Summary.js +141 -0
  27. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -0
  28. package/build/components/Rates/components/Item/Item.js +67 -64
  29. package/build/components/Rates/components/Item/Item.js.map +1 -1
  30. package/build/components/Rates/components/Item/Item.l10n.js +22 -0
  31. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  32. package/build/components/Rates/components/Item/Item.module.css +80 -104
  33. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +15 -9
  34. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  35. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +11 -3
  36. package/build/components/Rates/components/Item/components/Discount/Discount.js +14 -13
  37. package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
  38. package/build/components/Rates/components/Item/components/Discount/Discount.module.css +4 -3
  39. package/build/components/Rates/components/Item/components/Features/Features.js +4 -10
  40. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  41. package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -5
  42. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +34 -6
  43. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  44. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +7 -0
  45. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +18 -9
  46. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  47. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.module.css +17 -1
  48. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +1 -1
  49. package/build/components/Rates/components/Item/components/Option/Option.js +72 -0
  50. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -0
  51. package/build/components/Rates/components/Item/components/Option/Option.module.css +24 -0
  52. package/build/components/Rates/components/Item/components/Option/index.js +17 -0
  53. package/build/components/Rates/components/Item/components/Option/index.js.map +1 -0
  54. package/build/components/Rates/components/Item/components/index.js +11 -0
  55. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  56. package/build/components/Rates/helpers/getForwarderUrl.js +23 -12
  57. package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
  58. package/build/components/helpers/ICON.js +10 -2
  59. package/build/components/helpers/ICON.js.map +1 -1
  60. package/build/components/helpers/index.js +11 -0
  61. package/build/components/helpers/index.js.map +1 -1
  62. package/build/components/helpers/opacity.js +17 -0
  63. package/build/components/helpers/opacity.js.map +1 -0
  64. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +1662 -0
  65. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +296 -510
  66. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +895 -1795
  67. package/build/services/Rates/__tests__/__mocks__/rates-response.json +197 -369
  68. package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +32481 -0
  69. package/build/services/Rates/constants.js +18 -1
  70. package/build/services/Rates/constants.js.map +1 -1
  71. package/build/services/Rates/get.js +41 -112
  72. package/build/services/Rates/get.js.map +1 -1
  73. package/build/services/Rates/helpers/getIncrements.js +69 -0
  74. package/build/services/Rates/helpers/getIncrements.js.map +1 -0
  75. package/build/services/Rates/helpers/index.js +22 -0
  76. package/build/services/Rates/helpers/index.js.map +1 -1
  77. package/build/services/Rates/helpers/parseBoards.js +156 -0
  78. package/build/services/Rates/helpers/parseBoards.js.map +1 -0
  79. package/build/services/Rates/helpers/parseExternalToken.js +24 -0
  80. package/build/services/Rates/helpers/parseExternalToken.js.map +1 -0
  81. package/package.json +1 -1
  82. package/public/App.module.css +5 -0
  83. package/public/themes/monalisa.theme.css +3 -0
  84. package/build/components/Rates/Rates.Filter.js.map +0 -1
@@ -12,11 +12,12 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _components = require("./components");
13
13
  var _helpers = require("./helpers");
14
14
  var _Rates = require("./Rates.constants");
15
- var _Rates2 = require("./Rates.Filter");
16
- var _Rates3 = require("./Rates.Footer");
15
+ var _Rates2 = require("./Rates.Footer");
16
+ var _Rates3 = require("./Rates.Header");
17
17
  var _Rates4 = require("./Rates.l10n");
18
18
  var style = _interopRequireWildcard(require("./Rates.module.css"));
19
- var _Rates5 = _interopRequireDefault(require("./Rates.Skeleton"));
19
+ var _Rates5 = require("./Rates.RoomSelector");
20
+ var _Rates6 = _interopRequireDefault(require("./Rates.Skeleton"));
20
21
  var _services = require("../../services");
21
22
  var _Finder = require("../Finder/Finder");
22
23
  var _helpers2 = require("../helpers");
@@ -29,25 +30,32 @@ const Rates = _ref => {
29
30
  skeleton,
30
31
  ...others
31
32
  } = _ref;
33
+ const {
34
+ isMobile
35
+ } = (0, _ui.useDevice)();
32
36
  const {
33
37
  translate
34
38
  } = (0, _locale.useLocale)();
39
+ const refRoomSelector = (0, _react.useRef)();
35
40
  const {
36
41
  set,
37
42
  value: {
38
43
  club: {
39
- discount
44
+ discount,
45
+ ...club
40
46
  } = {},
41
47
  currency,
42
48
  finder: {
43
- occupation
49
+ occupation = []
44
50
  } = {},
45
51
  hotel = {},
52
+ language,
46
53
  locale,
47
54
  session,
48
55
  urlParams
49
56
  }
50
57
  } = (0, _dataSources.useStore)();
58
+ const [cart, setCart] = (0, _react.useState)([]);
51
59
  const [compact, setCompact] = (0, _react.useState)(true);
52
60
  const [dataSource, setDataSource] = (0, _react.useState)();
53
61
  const [fetching, setFetching] = (0, _react.useState)(undefined);
@@ -58,68 +66,82 @@ const Rates = _ref => {
58
66
  const [itemRateInfo, setItemRateInfo] = (0, _react.useState)();
59
67
  const [itemUrl, setItemUrl] = (0, _react.useState)();
60
68
  const [responseError, setResponseError] = (0, _react.useState)();
61
- const [selected, setSelected] = (0, _react.useState)({});
69
+ const [room, setRoom] = (0, _react.useState)();
62
70
  const storage = new _dataSources.Storage({
63
71
  adapter: _dataSources.LocalAdapter,
64
72
  cache: _Rates.RATES_STORAGE_CACHE
65
73
  });
66
74
  (0, _react.useEffect)(() => {
67
75
  if (skeleton) return setFetching(true);
68
- if (urlParams) {
69
- const nextSelected = storage.get(key(urlParams));
70
- if (nextSelected) setSelected(nextSelected);
71
- }
72
76
  const handleScroll = () => setCompact(true);
73
77
  window.addEventListener('scroll', handleScroll);
74
78
  return () => window.removeEventListener('scroll', handleScroll);
75
79
  // eslint-disable-next-line react-hooks/exhaustive-deps
76
80
  }, []);
77
81
  (0, _react.useEffect)(() => {
78
- fetch(currency);
82
+ if (!urlParams || !dataSource) return;
83
+
84
+ // ! Should know if didnt expire the storage
85
+ // const storedCart = storage.get(key(urlParams));
86
+ // if (storedCart) setCart(storedCart.map((item) => (item !== null ? item : undefined)));
87
+ if (dataSource !== null && dataSource !== void 0 && dataSource.externalLogoff && club !== null && club !== void 0 && club.id) document.location.href = "".concat(process.env.SERVICE_USER, "/").concat(_Rates.EXPIRATION_ENDPOINT, "?idClub=").concat(club.id, "&lang=").concat(language);
88
+ if (room == undefined && occupation.length > 1) setRoom(0);
89
+ // eslint-disable-next-line react-hooks/exhaustive-deps
90
+ }, [dataSource]);
91
+ (0, _react.useEffect)(() => {
92
+ if (multiRoom && room > 0) {
93
+ const {
94
+ current: {
95
+ offsetHeight = 0,
96
+ offsetTop = 0
97
+ } = {}
98
+ } = refRoomSelector || {};
99
+ document.documentElement.scrollTo({
100
+ top: offsetTop + (isMobile ? offsetHeight : 0),
101
+ behavior: 'smooth'
102
+ });
103
+ setDataSource();
104
+ }
105
+ fetch(currency, undefined, undefined, room);
79
106
  // eslint-disable-next-line react-hooks/exhaustive-deps
80
- }, [currency, locale, session]);
107
+ }, [locale, room, session]);
81
108
  const fetch = async function (currency) {
82
109
  let clubDiscount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : filter.clubDiscount;
83
110
  let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : urlParams;
111
+ let room = arguments.length > 3 ? arguments[3] : undefined;
84
112
  if (skeleton) return;
85
113
  setFetching(true);
114
+ setResponseError();
86
115
  const nextParams = {
87
116
  ...params,
117
+ club,
118
+ clubDiscount,
88
119
  currency,
89
120
  locale,
90
- session,
91
- clubDiscount
121
+ session
92
122
  };
123
+ if (room !== undefined) nextParams.parties = (0, _helpers2.parseToParties)([occupation[room]]);
93
124
  setDataSource(await _services.ServiceRates.get(nextParams).catch(setResponseError));
94
125
  setFetching(false);
95
126
  };
96
127
  const key = dataSource => "".concat(_Rates.RATES_STORAGE_KEY, ":").concat((0, _helpers2.generateId)(JSON.stringify(dataSource)));
97
- const handleChange = function () {
98
- let {
99
- amount = 0,
100
- id,
101
- standalone = false,
102
- ...others
103
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
104
- const next = standalone ? {} : {
105
- ...selected
106
- };
107
- if (amount === 0) delete next[id];else next[id] = {
108
- amount,
109
- ...others
110
- };
111
- setSelected(next);
112
- storage.set(key(urlParams), next);
128
+ const handleChange = board => {
129
+ const nextCart = [...cart];
130
+ nextCart[room || 0] = board;
131
+ setCart(nextCart);
132
+ storage.set(key(urlParams), nextCart);
133
+ if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);
113
134
  };
114
135
  const handleChangeCurrency = async nextCurrency => {
115
- await fetch(nextCurrency);
136
+ await fetch(nextCurrency, undefined, undefined, room);
137
+ setCart([]);
116
138
  set({
117
139
  currency: nextCurrency
118
140
  });
119
141
  };
120
142
  const handleChangeFilter = async nextFilter => {
121
143
  setFilter(nextFilter);
122
- if (nextFilter.clubDiscount !== filter.clubDiscount) await fetch(currency, nextFilter.clubDiscount);
144
+ if (nextFilter.clubDiscount !== filter.clubDiscount) await fetch(currency, nextFilter.clubDiscount, undefined, room);
123
145
  };
124
146
  const handleFinderSubmit = values => {
125
147
  setCompact(true);
@@ -132,32 +154,48 @@ const Rates = _ref => {
132
154
  hotel
133
155
  });
134
156
  history.replaceState({}, '', (0, _helpers2.toUrlParams)(params));
157
+ // ! TODO: Restart the process?
158
+ setCart([]);
159
+ setRoom(undefined);
135
160
  fetch(currency, filter.clubDiscount, params);
136
161
  };
162
+ const multiRoom = (occupation === null || occupation === void 0 ? void 0 : occupation.length) > 1;
137
163
  const response = dataSource !== undefined;
164
+ const roomSelectorProps = {
165
+ cart,
166
+ occupation,
167
+ room,
168
+ onPress: setRoom
169
+ };
138
170
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
139
- className: style.finder
171
+ ref: refRoomSelector,
172
+ className: (0, _ui.styles)(style.finder, !multiRoom && style.sticky)
140
173
  }, /*#__PURE__*/_react.default.createElement(_Finder.Finder, {
141
174
  assisted: false,
142
175
  compact: compact,
143
176
  text: translate(_Rates4.L10N.ACTION_SEARCH),
144
177
  onExpand: () => setCompact(false),
145
178
  onSubmit: handleFinderSubmit
146
- })), /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
147
- role: "rates",
148
- className: (0, _ui.styles)(style.container, others.className)
149
- }), /*#__PURE__*/_react.default.createElement(_ui.Progress, {
179
+ })), /*#__PURE__*/_react.default.createElement(_ui.Progress, {
150
180
  indeterminate: true,
151
181
  visible: fetching && !responseError,
152
182
  className: style.progress
183
+ }), isMobile && /*#__PURE__*/_react.default.createElement(_Rates5.RoomSelector, roomSelectorProps), /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
184
+ role: "rates",
185
+ className: (0, _ui.styles)(style.container, others.className)
153
186
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
154
187
  className: [style.wrapper, style.content]
155
- }, response ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Rates2.Filter, {
156
- dataSource: dataSource,
188
+ }, response && /*#__PURE__*/_react.default.createElement(_Rates3.Header, {
189
+ dataSource,
190
+ occupation,
157
191
  value: filter,
158
192
  onChange: handleChangeFilter,
159
- onCurrency: handleChangeCurrency
160
- }), dataSource.items.map((_ref2, index) => {
193
+ onCurrency: handleChangeCurrency,
194
+ className: multiRoom ? style.sticky : undefined
195
+ }, !isMobile && /*#__PURE__*/_react.default.createElement(_Rates5.RoomSelector, roomSelectorProps)), response ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
196
+ row: !isMobile,
197
+ className: style.items
198
+ }, dataSource.items.map((_ref2, index) => {
161
199
  let {
162
200
  id,
163
201
  ...item
@@ -167,20 +205,26 @@ const Rates = _ref => {
167
205
  id
168
206
  }, item, {
169
207
  filter,
170
- occupation,
171
- selected,
208
+ multiRoom,
172
209
  taxes: dataSource.taxes,
210
+ cart: cart[room || 0],
173
211
  onChange: handleChange,
174
212
  onMoreInfo: () => setItemInfo(item),
175
213
  onRateInfo: rate => setItemRateInfo(rate),
176
214
  onViewUrl: info => setItemUrl(info)
177
215
  }));
178
- })) : /*#__PURE__*/_react.default.createElement(_Rates5.default, null)), response && /*#__PURE__*/_react.default.createElement(_Rates3.Footer, {
216
+ }))) : responseError ? /*#__PURE__*/_react.default.createElement(_ui.Notification, {
217
+ error: true,
218
+ large: true
219
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
220
+ align: "center",
221
+ markdown: false
222
+ }, JSON.stringify(responseError))) : /*#__PURE__*/_react.default.createElement(_Rates6.default, null)), /*#__PURE__*/_react.default.createElement(_Rates2.Footer, {
223
+ cart,
179
224
  dataSource,
180
225
  filter,
226
+ multiRoom,
181
227
  occupation,
182
- selected,
183
- taxes: dataSource === null || dataSource === void 0 ? void 0 : dataSource.taxes,
184
228
  onChange: handleChange
185
229
  })), /*#__PURE__*/_react.default.createElement(_components.ModalItemInfo, _extends({}, itemInfo, {
186
230
  visible: !!itemInfo,
@@ -194,7 +238,6 @@ const Rates = _ref => {
194
238
  })));
195
239
  };
196
240
  exports.Rates = Rates;
197
- Rates.displayName = 'Mirai:User:Rates';
198
241
  Rates.propTypes = {
199
242
  skeleton: _propTypes.default.bool
200
243
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","style","_Rates5","_services","_Finder","_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","Rates","_ref","skeleton","others","translate","useLocale","value","club","discount","currency","finder","occupation","hotel","locale","session","urlParams","useStore","compact","setCompact","useState","dataSource","setDataSource","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","responseError","setResponseError","selected","setSelected","storage","Storage","adapter","LocalAdapter","cache","RATES_STORAGE_CACHE","useEffect","nextSelected","handleScroll","window","addEventListener","removeEventListener","fetch","params","nextParams","ServiceRates","catch","concat","RATES_STORAGE_KEY","generateId","JSON","stringify","handleChange","amount","id","standalone","next","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","response","createElement","Fragment","View","className","Finder","assisted","text","L10N","ACTION_SEARCH","onExpand","onSubmit","role","styles","container","Progress","indeterminate","visible","progress","wrapper","content","Filter","onChange","onCurrency","items","map","_ref2","index","item","Item","taxes","onMoreInfo","onRateInfo","rate","onViewUrl","info","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Progress, styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Item, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getFinderParams } from './helpers';\nimport { RATES_STORAGE_CACHE, RATES_STORAGE_KEY } from './Rates.constants';\nimport { Filter } from './Rates.Filter';\nimport { Footer } from './Rates.Footer';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport Skeleton from './Rates.Skeleton';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { generateId, toUrlParams } from '../helpers';\n\nconst Rates = ({ skeleton, ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: { club: { discount } = {}, currency, finder: { occupation } = {}, hotel = {}, locale, session, urlParams },\n } = useStore();\n\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [responseError, setResponseError] = useState();\n const [selected, setSelected] = useState({});\n\n const storage = new Storage({ adapter: LocalAdapter, cache: RATES_STORAGE_CACHE });\n\n useEffect(() => {\n if (skeleton) return setFetching(true);\n\n if (urlParams) {\n const nextSelected = storage.get(key(urlParams));\n if (nextSelected) setSelected(nextSelected);\n }\n\n const handleScroll = () => setCompact(true);\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n fetch(currency);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, locale, session]);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams) => {\n if (skeleton) return;\n setFetching(true);\n const nextParams = { ...params, currency, locale, session, clubDiscount };\n setDataSource(await ServiceRates.get(nextParams).catch(setResponseError));\n setFetching(false);\n };\n\n const key = (dataSource) => `${RATES_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\n const handleChange = ({ amount = 0, id, standalone = false, ...others } = {}) => {\n const next = standalone ? {} : { ...selected };\n if (amount === 0) delete next[id];\n else next[id] = { amount, ...others };\n\n setSelected(next);\n storage.set(key(urlParams), next);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount) await fetch(currency, nextFilter.clubDiscount);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n fetch(currency, filter.clubDiscount, params);\n };\n\n const response = dataSource !== undefined;\n\n return (\n <>\n <View className={style.finder}>\n <Finder\n assisted={false}\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n <View className={[style.wrapper, style.content]}>\n {response ? (\n <>\n <Filter\n dataSource={dataSource}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n />\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, filter, occupation, selected, taxes: dataSource.taxes }}\n onChange={handleChange}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n </>\n ) : (\n <Skeleton />\n )}\n </View>\n\n {response && (\n <Footer {...{ dataSource, filter, occupation, selected, taxes: dataSource?.taxes }} onChange={handleChange} />\n )}\n </View>\n\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n </>\n );\n};\n\nRates.displayName = 'Mirai:User: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","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","style","_Rates5","_Rates6","_services","_Finder","_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","Rates","_ref","skeleton","others","isMobile","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","occupation","hotel","language","locale","session","urlParams","useStore","cart","setCart","useState","compact","setCompact","dataSource","setDataSource","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","responseError","setResponseError","room","setRoom","storage","Storage","adapter","LocalAdapter","cache","RATES_STORAGE_CACHE","useEffect","handleScroll","window","addEventListener","removeEventListener","externalLogoff","id","document","location","href","concat","process","env","SERVICE_USER","EXPIRATION_ENDPOINT","multiRoom","current","offsetHeight","offsetTop","documentElement","scrollTo","top","behavior","fetch","params","nextParams","parties","parseToParties","ServiceRates","catch","RATES_STORAGE_KEY","generateId","JSON","stringify","handleChange","board","nextCart","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","response","roomSelectorProps","onPress","createElement","Fragment","View","ref","className","styles","sticky","Finder","assisted","text","L10N","ACTION_SEARCH","onExpand","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","container","wrapper","content","Header","onChange","onCurrency","row","items","map","_ref2","index","item","Item","taxes","onMoreInfo","onRateInfo","rate","onViewUrl","info","Notification","error","large","Text","align","markdown","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","exports","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Notification, Progress, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Item, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getFinderParams } from './helpers';\nimport { EXPIRATION_ENDPOINT, RATES_STORAGE_CACHE, RATES_STORAGE_KEY } from './Rates.constants';\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 { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { generateId, parseToParties, toUrlParams } from '../helpers';\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder: { occupation = [] } = {},\n hotel = {},\n language,\n locale,\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n const storage = new Storage({ adapter: LocalAdapter, cache: RATES_STORAGE_CACHE });\n\n useEffect(() => {\n if (skeleton) return setFetching(true);\n\n const handleScroll = () => setCompact(true);\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!urlParams || !dataSource) return;\n\n // ! Should know if didnt expire the storage\n // const storedCart = storage.get(key(urlParams));\n // if (storedCart) setCart(storedCart.map((item) => (item !== null ? item : undefined)));\n if (dataSource?.externalLogoff && club?.id)\n document.location.href = `${process.env.SERVICE_USER}/${EXPIRATION_ENDPOINT}?idClub=${club.id}&lang=${language}`;\n\n if (room == undefined && occupation.length > 1) setRoom(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (multiRoom && room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n setDataSource();\n }\n fetch(currency, undefined, undefined, room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, room, session]);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams, room) => {\n if (skeleton) return;\n\n setFetching(true);\n\n setResponseError();\n const nextParams = { ...params, club, clubDiscount, currency, locale, session };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n setDataSource(await ServiceRates.get(nextParams).catch(setResponseError));\n setFetching(false);\n };\n\n const key = (dataSource) => `${RATES_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\n const handleChange = (board) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board;\n\n setCart(nextCart);\n storage.set(key(urlParams), nextCart);\n\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency, undefined, undefined, room);\n setCart([]);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount)\n await fetch(currency, nextFilter.clubDiscount, undefined, room);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n // ! TODO: Restart the process?\n setCart([]);\n setRoom(undefined);\n fetch(currency, filter.clubDiscount, params);\n };\n\n const multiRoom = occupation?.length > 1;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <View ref={refRoomSelector} className={styles(style.finder, !multiRoom && style.sticky)}>\n <Finder\n assisted={false}\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && <RoomSelector {...roomSelectorProps} />}\n\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && (\n <Header\n {...{ dataSource, occupation }}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n className={multiRoom ? style.sticky : undefined}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <>\n <View row={!isMobile} className={style.items}>\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, filter, multiRoom, taxes: dataSource.taxes }}\n cart={cart[room || 0]}\n onChange={handleChange}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n <Text align=\"center\" markdown={false}>\n {JSON.stringify(responseError)}\n </Text>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer {...{ cart, dataSource, filter, multiRoom, occupation }} onChange={handleChange} />\n </View>\n\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n </>\n );\n};\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -5,11 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.L10N = void 0;
7
7
  const L10N = exports.L10N = {
8
+ ACTION_CLUB_VIEW_CONDITIONS: {
9
+ id: 'finder.action.club_view_conditions'
10
+ },
8
11
  ACTION_HIDE_CART: {
9
12
  id: 'finder.action.hide_cart'
10
13
  },
11
- ACTION_NEXT: {
12
- id: 'finder.action.next'
14
+ ACTION_RESERVE: {
15
+ id: 'common.action.reserve'
13
16
  },
14
17
  ACTION_SEARCH: {
15
18
  id: 'common.action.search'
@@ -17,20 +20,26 @@ const L10N = exports.L10N = {
17
20
  ACTION_VIEW_CART: {
18
21
  id: 'finder.action.view_cart'
19
22
  },
20
- LABEL_CLUB_DISCOUNT: {
21
- id: 'finder.label.discount_club'
23
+ LABEL_ACCOMMODATION_TYPE: {
24
+ id: 'common.label.accommodation_type'
22
25
  },
23
26
  LABEL_CLUB_BENEFITS: {
24
27
  id: 'finder.label.club_benefits'
25
28
  },
29
+ LABEL_CLUB_CONDITIONS: {
30
+ id: 'finder.label.club_conditions'
31
+ },
32
+ LABEL_CLUB_DISCOUNT: {
33
+ id: 'finder.label.discount_club'
34
+ },
26
35
  LABEL_CLUB_MEMBERS_EXCLUSIVE: {
27
36
  id: 'finder.label.club_members_exclusive'
28
37
  },
29
- LABEL_SELECT_TYPE_ACCOMMODATION: {
30
- id: 'finder.label.select_type_accommodation'
31
- },
32
38
  LABEL_INCLUDES_TAXES_FEES: {
33
39
  id: 'finder.label.includes_taxes_fees'
40
+ },
41
+ LABEL_SELECT: {
42
+ id: 'common.label.select'
34
43
  }
35
44
  };
36
45
  //# sourceMappingURL=Rates.l10n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.l10n.js","names":["L10N","exports","ACTION_HIDE_CART","id","ACTION_NEXT","ACTION_SEARCH","ACTION_VIEW_CART","LABEL_CLUB_DISCOUNT","LABEL_CLUB_BENEFITS","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_SELECT_TYPE_ACCOMMODATION","LABEL_INCLUDES_TAXES_FEES"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_HIDE_CART: { id: 'finder.action.hide_cart' },\n ACTION_NEXT: { id: 'finder.action.next' },\n ACTION_SEARCH: { id: 'common.action.search' },\n ACTION_VIEW_CART: { id: 'finder.action.view_cart' },\n\n LABEL_CLUB_DISCOUNT: { id: 'finder.label.discount_club' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_SELECT_TYPE_ACCOMMODATION: { id: 'finder.label.select_type_accommodation' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,WAAW,EAAE;IAAED,EAAE,EAAE;EAAqB,CAAC;EACzCE,aAAa,EAAE;IAAEF,EAAE,EAAE;EAAuB,CAAC;EAC7CG,gBAAgB,EAAE;IAAEH,EAAE,EAAE;EAA0B,CAAC;EAEnDI,mBAAmB,EAAE;IAAEJ,EAAE,EAAE;EAA6B,CAAC;EACzDK,mBAAmB,EAAE;IAAEL,EAAE,EAAE;EAA6B,CAAC;EACzDM,4BAA4B,EAAE;IAAEN,EAAE,EAAE;EAAsC,CAAC;EAC3EO,+BAA+B,EAAE;IAAEP,EAAE,EAAE;EAAyC,CAAC;EACjFQ,yBAAyB,EAAE;IAAER,EAAE,EAAE;EAAmC;AACtE,CAAC"}
1
+ {"version":3,"file":"Rates.l10n.js","names":["L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_HIDE_CART","ACTION_RESERVE","ACTION_SEARCH","ACTION_VIEW_CART","LABEL_ACCOMMODATION_TYPE","LABEL_CLUB_BENEFITS","LABEL_CLUB_CONDITIONS","LABEL_CLUB_DISCOUNT","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_INCLUDES_TAXES_FEES","LABEL_SELECT"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_HIDE_CART: { id: 'finder.action.hide_cart' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_SEARCH: { id: 'common.action.search' },\n ACTION_VIEW_CART: { id: 'finder.action.view_cart' },\n\n LABEL_ACCOMMODATION_TYPE: { id: 'common.label.accommodation_type' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_CLUB_DISCOUNT: { id: 'finder.label.discount_club' },\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_SELECT: { id: 'common.label.select' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,2BAA2B,EAAE;IAAEC,EAAE,EAAE;EAAqC,CAAC;EACzEC,gBAAgB,EAAE;IAAED,EAAE,EAAE;EAA0B,CAAC;EACnDE,cAAc,EAAE;IAAEF,EAAE,EAAE;EAAwB,CAAC;EAC/CG,aAAa,EAAE;IAAEH,EAAE,EAAE;EAAuB,CAAC;EAC7CI,gBAAgB,EAAE;IAAEJ,EAAE,EAAE;EAA0B,CAAC;EAEnDK,wBAAwB,EAAE;IAAEL,EAAE,EAAE;EAAkC,CAAC;EACnEM,mBAAmB,EAAE;IAAEN,EAAE,EAAE;EAA6B,CAAC;EACzDO,qBAAqB,EAAE;IAAEP,EAAE,EAAE;EAA+B,CAAC;EAC7DQ,mBAAmB,EAAE;IAAER,EAAE,EAAE;EAA6B,CAAC;EACzDS,4BAA4B,EAAE;IAAET,EAAE,EAAE;EAAsC,CAAC;EAC3EU,yBAAyB,EAAE;IAAEV,EAAE,EAAE;EAAmC,CAAC;EACrEW,YAAY,EAAE;IAAEX,EAAE,EAAE;EAAsB;AAC5C,CAAC"}