@mirai/core 0.4.260 → 0.4.262
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Rates/Rates.Header.js +27 -7
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +2 -1
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +32 -2
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.l10n.js +3 -0
- package/build/components/Rates/Rates.l10n.js.map +1 -1
- package/build/components/Rates/Rates.module.css +4 -0
- package/build/components/Rates/components/Filters/Filters.js +10 -0
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +11 -6
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +8 -12
- package/build/components/Rates/components/ModalTwin/ModalTwin.Skeleton.js +47 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.Skeleton.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.constants.js +15 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.constants.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.js +294 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.l10n.js +27 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.l10n.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/ModalTwin.module.css +181 -0
- package/build/components/Rates/components/ModalTwin/components/CardExpanded.js +79 -0
- package/build/components/Rates/components/ModalTwin/components/CardExpanded.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/components/CardReduced.js +64 -0
- package/build/components/Rates/components/ModalTwin/components/CardReduced.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/components/Prices.js +64 -0
- package/build/components/Rates/components/ModalTwin/components/Prices.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/components/Slider.js +38 -0
- package/build/components/Rates/components/ModalTwin/components/Slider.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/components/index.js +50 -0
- package/build/components/Rates/components/ModalTwin/components/index.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/helpers/getUrl.js +40 -0
- package/build/components/Rates/components/ModalTwin/helpers/getUrl.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/helpers/index.js +17 -0
- package/build/components/Rates/components/ModalTwin/helpers/index.js.map +1 -0
- package/build/components/Rates/components/ModalTwin/index.js +17 -0
- package/build/components/Rates/components/ModalTwin/index.js.map +1 -0
- package/build/components/Rates/components/index.js +11 -0
- package/build/components/Rates/components/index.js.map +1 -1
- package/build/components/Rates/hooks/useRates.js.map +1 -1
- package/build/components/helpers/ICON.js +2 -0
- package/build/components/helpers/ICON.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,12 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Header = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
7
8
|
var _locale = require("@mirai/locale");
|
|
9
|
+
var _services = require("@mirai/services");
|
|
8
10
|
var _ui = require("@mirai/ui");
|
|
9
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
12
|
var _react = _interopRequireDefault(require("react"));
|
|
11
13
|
var _components = require("./components");
|
|
12
|
-
var _Rates = require("./Rates.
|
|
14
|
+
var _Rates = require("./Rates.constants");
|
|
15
|
+
var _Rates2 = require("./Rates.l10n");
|
|
13
16
|
var style = _interopRequireWildcard(require("./Rates.module.css"));
|
|
14
17
|
var _helpers = require("../helpers");
|
|
15
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -23,6 +26,7 @@ const Header = _ref => {
|
|
|
23
26
|
multiRoom,
|
|
24
27
|
onMapView = () => {},
|
|
25
28
|
onSelect = () => {},
|
|
29
|
+
onTwin = () => {},
|
|
26
30
|
...others
|
|
27
31
|
} = _ref;
|
|
28
32
|
const {
|
|
@@ -31,6 +35,18 @@ const Header = _ref => {
|
|
|
31
35
|
const {
|
|
32
36
|
translate
|
|
33
37
|
} = (0, _locale.useLocale)();
|
|
38
|
+
const {
|
|
39
|
+
value: {
|
|
40
|
+
finder: {
|
|
41
|
+
occupation = [],
|
|
42
|
+
place: {
|
|
43
|
+
id: [hotelId] = [],
|
|
44
|
+
isHotel
|
|
45
|
+
} = {}
|
|
46
|
+
} = {},
|
|
47
|
+
hotel
|
|
48
|
+
} = {}
|
|
49
|
+
} = (0, _dataSources.useStore)();
|
|
34
50
|
const {
|
|
35
51
|
contentBackground
|
|
36
52
|
} = _ui.Theme.get();
|
|
@@ -43,7 +59,8 @@ const Header = _ref => {
|
|
|
43
59
|
items = []
|
|
44
60
|
} = dataSource;
|
|
45
61
|
const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;
|
|
46
|
-
|
|
62
|
+
const twin = occupation.length === 1 && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN_RATES, isHotel ? hotelId : hotel.id);
|
|
63
|
+
return children || hasHotelverse || hotels.length > 1 || twin ? /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
47
64
|
row: true,
|
|
48
65
|
className: (0, _ui.styles)(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className),
|
|
49
66
|
style: {
|
|
@@ -53,21 +70,24 @@ const Header = _ref => {
|
|
|
53
70
|
items,
|
|
54
71
|
multiRoom,
|
|
55
72
|
onSelect
|
|
56
|
-
}, others)),
|
|
73
|
+
}, others)), twin && /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
74
|
+
secondary: true,
|
|
75
|
+
onPress: () => onTwin(true),
|
|
76
|
+
className: isMobile && style.wide
|
|
77
|
+
}, translate(_Rates2.L10N.ACTION_IMMERSIVE_BOOKING)), hotels.length > 1 && /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
57
78
|
secondary: true,
|
|
58
79
|
wide: isMobile,
|
|
59
80
|
onPress: () => onMapView(hotels)
|
|
60
|
-
}, translate(
|
|
81
|
+
}, translate(_Rates2.L10N.ACTION_SHOW_ON_MAP))) : null;
|
|
61
82
|
};
|
|
62
83
|
exports.Header = Header;
|
|
63
84
|
Header.displayName = 'Mirai:Core:Rates:Header';
|
|
64
85
|
Header.propTypes = {
|
|
65
86
|
children: _propTypes.default.node,
|
|
66
87
|
dataSource: _propTypes.default.shape({}),
|
|
67
|
-
features: _propTypes.default.shape({}),
|
|
68
88
|
multiRoom: _propTypes.default.bool,
|
|
69
|
-
nights: _propTypes.default.number,
|
|
70
89
|
onMapView: _propTypes.default.func,
|
|
71
|
-
onSelect: _propTypes.default.func
|
|
90
|
+
onSelect: _propTypes.default.func,
|
|
91
|
+
onTwin: _propTypes.default.func
|
|
72
92
|
};
|
|
73
93
|
//# sourceMappingURL=Rates.Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Header.js","names":["
|
|
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","dataSource","multiRoom","onMapView","onSelect","onTwin","others","isMobile","useDevice","translate","useLocale","value","finder","occupation","place","id","hotelId","isHotel","hotel","useStore","contentBackground","Theme","hotelverse","hash","token","hotels","items","hasHotelverse","undefined","twin","ServiceFeatures","FEATURES","TWIN_RATES","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","Button","secondary","onPress","wide","L10N","ACTION_IMMERSIVE_BOOKING","ACTION_SHOW_ON_MAP","exports","displayName","propTypes","PropTypes","node","shape","bool","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 { Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { FEATURES } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { opacity } from '../helpers';\n\nconst Header = ({\n children,\n dataSource = {},\n multiRoom,\n onMapView = () => {},\n onSelect = () => {},\n onTwin = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { finder: { occupation = [], place: { id: [hotelId] = [], isHotel } = {} } = {}, hotel } = {} } =\n useStore();\n\n const { contentBackground } = Theme.get();\n const { hotelverse: { hash, token } = {}, hotels = [], items = [] } = dataSource;\n const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;\n const twin = occupation.length === 1 && ServiceFeatures.get(FEATURES.TWIN_RATES, isHotel ? hotelId : hotel.id);\n\n return children || hasHotelverse || hotels.length > 1 || twin ? (\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 {hasHotelverse && <Hotelverse {...{ ...dataSource, items, multiRoom, onSelect, ...others }} />}\n {twin && (\n <Button secondary onPress={() => onTwin(true)} className={isMobile && style.wide}>\n {translate(L10N.ACTION_IMMERSIVE_BOOKING)}\n </Button>\n )}\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n ) : null;\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n onMapView: PropTypes.func,\n onSelect: PropTypes.func,\n onTwin: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
|
|
@@ -32,7 +32,8 @@ const FEATURES = exports.FEATURES = {
|
|
|
32
32
|
SHOW_PRICE_INCREMENTS: 'showPriceIncrements',
|
|
33
33
|
SHOW_PRICE_PER_NIGHT: 'showPricePerNight',
|
|
34
34
|
SHOW_RATE_INCLUDED: 'showRateIncluded',
|
|
35
|
-
TWIN: 'twin'
|
|
35
|
+
TWIN: 'twin',
|
|
36
|
+
TWIN_RATES: 'twinRates'
|
|
36
37
|
};
|
|
37
38
|
const FREE_CANCELLATION = exports.FREE_CANCELLATION = 'free';
|
|
38
39
|
const MAX_PROMOCODE = exports.MAX_PROMOCODE = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","FREE_CANCELLATION","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","TWIN_RATES","FREE_CANCELLATION","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n TWIN_RATES: 'twinRates',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,iBAAiB,GAAA3B,OAAA,CAAA2B,iBAAA,GAAG,MAAM;AAEhC,MAAMC,aAAa,GAAA5B,OAAA,CAAA4B,aAAA,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAA/B,OAAA,CAAA+B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAAnC,OAAA,CAAAmC,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
|
|
@@ -75,11 +75,13 @@ const Rates = _ref => {
|
|
|
75
75
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
76
76
|
const [cancellationInfo, setCancellationInfo] = (0, _react.useState)();
|
|
77
77
|
const [extras, setExtras] = (0, _react.useState)();
|
|
78
|
+
const [filterBoard, setFilterBoard] = (0, _react.useState)();
|
|
78
79
|
const [filters, setFilters] = (0, _react.useState)({});
|
|
79
80
|
const [itemInfo, setItemInfo] = (0, _react.useState)();
|
|
80
81
|
const [itemUrl, setItemUrl] = (0, _react.useState)();
|
|
81
82
|
const [mapView, setMapView] = (0, _react.useState)();
|
|
82
83
|
const [offerInfo, setOfferInfo] = (0, _react.useState)();
|
|
84
|
+
const [twin, setTwin] = (0, _react.useState)();
|
|
83
85
|
const {
|
|
84
86
|
calendar = [],
|
|
85
87
|
occupation = []
|
|
@@ -112,6 +114,12 @@ const Rates = _ref => {
|
|
|
112
114
|
}),
|
|
113
115
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
114
116
|
[]);
|
|
117
|
+
(0, _react.useEffect)(() => {
|
|
118
|
+
if (!filterBoard) return;
|
|
119
|
+
setMetaBoard(filterBoard);
|
|
120
|
+
scrollToRoom(filterBoard.roomId);
|
|
121
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
122
|
+
}, [filterBoard]);
|
|
115
123
|
|
|
116
124
|
// -- handlers -------------------------------------------------------------------------------------------------------
|
|
117
125
|
const handleFilters = function () {
|
|
@@ -166,6 +174,7 @@ const Rates = _ref => {
|
|
|
166
174
|
setCart(nextCart);
|
|
167
175
|
setExtras();
|
|
168
176
|
setMetaBoard(undefined);
|
|
177
|
+
setTwin();
|
|
169
178
|
clubRate && setClubRate(false);
|
|
170
179
|
if (!multiRoom && !!board) handleSubmit(nextCart);
|
|
171
180
|
if (multiRoom) {
|
|
@@ -268,7 +277,7 @@ const Rates = _ref => {
|
|
|
268
277
|
const {
|
|
269
278
|
top
|
|
270
279
|
} = (refItems === null || refItems === void 0 ? void 0 : (_refItems$current$roo = refItems.current[roomId]) === null || _refItems$current$roo === void 0 ? void 0 : _refItems$current$roo.getBoundingClientRect()) || {};
|
|
271
|
-
if (top) scrollTo(top + window.scrollY - (isMobile ?
|
|
280
|
+
if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));
|
|
272
281
|
};
|
|
273
282
|
const {
|
|
274
283
|
contentBackground
|
|
@@ -321,6 +330,7 @@ const Rates = _ref => {
|
|
|
321
330
|
onSubmit: handleFinder,
|
|
322
331
|
testId: testId ? "".concat(testId, "-finder") : undefined
|
|
323
332
|
}), !responseError && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.items) && /*#__PURE__*/_react.default.createElement(_components.Filters, _extends({}, dataSource, {
|
|
333
|
+
filters,
|
|
324
334
|
priceFactor,
|
|
325
335
|
onSubmit: handleFilters
|
|
326
336
|
})))), /*#__PURE__*/_react.default.createElement(_ui.Progress, {
|
|
@@ -339,9 +349,16 @@ const Rates = _ref => {
|
|
|
339
349
|
skeleton: skeleton
|
|
340
350
|
})), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
|
|
341
351
|
dataSource,
|
|
352
|
+
filters,
|
|
342
353
|
multiRoom,
|
|
354
|
+
priceFactor,
|
|
343
355
|
onMapView: setMapView,
|
|
344
|
-
onSelect: handleSelect
|
|
356
|
+
onSelect: handleSelect,
|
|
357
|
+
onTwin: () => {
|
|
358
|
+
setFilterBoard();
|
|
359
|
+
setMetaBoard();
|
|
360
|
+
setTwin(true);
|
|
361
|
+
}
|
|
345
362
|
}, !isMobile ? /*#__PURE__*/_react.default.createElement(_Rates6.RoomSelector, _extends({}, roomSelectorProps, {
|
|
346
363
|
testId: testId ? "".concat(testId, "-multiroom") : undefined
|
|
347
364
|
})) : undefined), response ? /*#__PURE__*/_react.default.createElement(_shared__.Cards, null, (_select = (0, _helpers.select)(dataSource.items, filters, {
|
|
@@ -418,6 +435,19 @@ const Rates = _ref => {
|
|
|
418
435
|
})), /*#__PURE__*/_react.default.createElement(_components.ModalOfferInfo, _extends({}, offerInfo, {
|
|
419
436
|
visible: !!offerInfo,
|
|
420
437
|
onClose: () => setOfferInfo()
|
|
438
|
+
})), /*#__PURE__*/_react.default.createElement(_components.ModalTwin, _extends({}, itemInfo, {
|
|
439
|
+
dataSource,
|
|
440
|
+
cart,
|
|
441
|
+
features,
|
|
442
|
+
filters,
|
|
443
|
+
nights,
|
|
444
|
+
priceFactor,
|
|
445
|
+
room,
|
|
446
|
+
visible: twin,
|
|
447
|
+
onBook: handleSelect,
|
|
448
|
+
onClose: () => setTwin(),
|
|
449
|
+
onFilter: handleFilters,
|
|
450
|
+
onSelect: setFilterBoard
|
|
421
451
|
})), /*#__PURE__*/_react.default.createElement(_components.ModalExtras, _extends({}, dataSource, {
|
|
422
452
|
busy,
|
|
423
453
|
cart,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_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","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","scrollToRoom","roomId","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","days","nights","dateDiff","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","items","filter","soldOut","every","_ref2","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","metrics","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","map","_ref3","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } 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 { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {})) || {};\n\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 = [], variant = 'A') => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT' });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\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 <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader {...{ dataSource, multiRoom, onMapView: setMapView, onSelect: handleSelect }}>\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\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","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_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","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twin","setTwin","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","days","nights","dateDiff","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","items","filter","soldOut","every","_ref2","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","metrics","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","onTwin","Cards","select","map","_ref3","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } 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 { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twin, setTwin] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwin();\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {})) || {};\n\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 = [], variant = 'A') => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT' });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n\n return (\n <>\n <Header currency login={club.active} name={features.showNameInHeader} skeleton={skeleton} />\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 <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], clubRate, dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.l10n.js","names":["_Core","require","L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_REFINE_SEARCH","ACTION_RESERVE","ACTION_SHOW_ON_MAP","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_TYPE","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","LABEL_AVAILABLE_ALTERNATIVES","LABEL_CLUB_BENEFITS","LABEL_CONTACT_INFO","LABEL_EXCLUDES_TAXES_FEES","LABEL_FROM","LABEL_INCLUDES_TAXES_FEES","LABEL_MEMBER_DISCOUNT","LABEL_MEMBER_EXCLUSIVE","LABEL_NIGHTS","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","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","LABEL_YEARS_OLD","NOTIFICATION_ERROR","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","NOTIFICATION_ROOM_NOT_FOUND","NOTIFICATION_OFFER_NOT_FOUND"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["import { TAXES_TYPE } from '../../Core.constants';\nimport { ERROR } from '../../Core.constants';\n\nexport const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_REFINE_SEARCH: { id: 'common.action.refine_search' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_SHOW_ON_MAP: { id: 'finder.action.show_on_map' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_TYPE: { id: 'common.label.accommodation_type' },\n LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS: { id: 'finder.label.alternative_hotel_suggestions' },\n LABEL_AVAILABLE_ALTERNATIVES: { id: 'finder.label.available_alternatives' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CONTACT_INFO: { id: 'finder.label.contact_info' },\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_MEMBER_DISCOUNT: { id: 'finder.label.member_discount' },\n LABEL_MEMBER_EXCLUSIVE: { id: 'finder.label.member_exclusive' },\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_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 LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n\n NOTIFICATION_ERROR: {\n [ERROR.NOT_AVAILABLE]: { id: 'common.notification.error_not_available' },\n [ERROR.PARAMETER_ERROR]: { id: 'common.notification.error_parameter' },\n [ERROR.UNKNOWN]: { id: 'common.notification.error_unknown' },\n },\n NOTIFICATION_META_RATE_FOUND: { id: 'finder.notification.meta_rate_found' },\n NOTIFICATION_META_RATE_NOT_FOUND: { id: 'finder.notification.meta_rate_not_found' },\n NOTIFICATION_PROMOCODE_NOT_FOUND: { id: 'finder.notification.promocode_not_found' },\n NOTIFICATION_ROOM_NOT_FOUND: { id: 'finder.notification.room_not_found' },\n NOTIFICATION_OFFER_NOT_FOUND: { id: 'finder.notification.offer_not_found' },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGO,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,2BAA2B,EAAE;IAAEC,EAAE,EAAE;EAAqC,CAAC;EACzEC,
|
|
1
|
+
{"version":3,"file":"Rates.l10n.js","names":["_Core","require","L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_IMMERSIVE_BOOKING","ACTION_REFINE_SEARCH","ACTION_RESERVE","ACTION_SHOW_ON_MAP","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_TYPE","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","LABEL_AVAILABLE_ALTERNATIVES","LABEL_CLUB_BENEFITS","LABEL_CONTACT_INFO","LABEL_EXCLUDES_TAXES_FEES","LABEL_FROM","LABEL_INCLUDES_TAXES_FEES","LABEL_MEMBER_DISCOUNT","LABEL_MEMBER_EXCLUSIVE","LABEL_NIGHTS","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","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","LABEL_YEARS_OLD","NOTIFICATION_ERROR","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","NOTIFICATION_ROOM_NOT_FOUND","NOTIFICATION_OFFER_NOT_FOUND"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["import { TAXES_TYPE } from '../../Core.constants';\nimport { ERROR } from '../../Core.constants';\n\nexport const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_IMMERSIVE_BOOKING: { id: 'finder.label.immersive_booking' },\n ACTION_REFINE_SEARCH: { id: 'common.action.refine_search' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_SHOW_ON_MAP: { id: 'finder.action.show_on_map' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_TYPE: { id: 'common.label.accommodation_type' },\n LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS: { id: 'finder.label.alternative_hotel_suggestions' },\n LABEL_AVAILABLE_ALTERNATIVES: { id: 'finder.label.available_alternatives' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CONTACT_INFO: { id: 'finder.label.contact_info' },\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_MEMBER_DISCOUNT: { id: 'finder.label.member_discount' },\n LABEL_MEMBER_EXCLUSIVE: { id: 'finder.label.member_exclusive' },\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_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 LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n\n NOTIFICATION_ERROR: {\n [ERROR.NOT_AVAILABLE]: { id: 'common.notification.error_not_available' },\n [ERROR.PARAMETER_ERROR]: { id: 'common.notification.error_parameter' },\n [ERROR.UNKNOWN]: { id: 'common.notification.error_unknown' },\n },\n NOTIFICATION_META_RATE_FOUND: { id: 'finder.notification.meta_rate_found' },\n NOTIFICATION_META_RATE_NOT_FOUND: { id: 'finder.notification.meta_rate_not_found' },\n NOTIFICATION_PROMOCODE_NOT_FOUND: { id: 'finder.notification.promocode_not_found' },\n NOTIFICATION_ROOM_NOT_FOUND: { id: 'finder.notification.room_not_found' },\n NOTIFICATION_OFFER_NOT_FOUND: { id: 'finder.notification.offer_not_found' },\n};\n"],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ const Filters = _ref => {
|
|
|
31
31
|
clubConditions,
|
|
32
32
|
items: propItems = [],
|
|
33
33
|
priceFactor = 1,
|
|
34
|
+
values,
|
|
34
35
|
onSubmit = () => {},
|
|
35
36
|
...others
|
|
36
37
|
} = _ref;
|
|
@@ -138,6 +139,14 @@ const Filters = _ref => {
|
|
|
138
139
|
if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);
|
|
139
140
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
140
141
|
}, [propItems]);
|
|
142
|
+
(0, _react.useEffect)(() => {
|
|
143
|
+
if (!values || Object.keys(values).length === 0) return;
|
|
144
|
+
if (JSON.stringify(values) !== JSON.stringify(form)) {
|
|
145
|
+
setForm(values);
|
|
146
|
+
setCounter((0, _helpers.countFilters)(values));
|
|
147
|
+
}
|
|
148
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
149
|
+
}, [values]);
|
|
141
150
|
const handleModal = () => {
|
|
142
151
|
let next = !visible;
|
|
143
152
|
setVisible(next);
|
|
@@ -454,6 +463,7 @@ Filters.propTypes = {
|
|
|
454
463
|
clubConditions: _propTypes.default.string,
|
|
455
464
|
items: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
456
465
|
priceFactor: _propTypes.default.number,
|
|
466
|
+
values: _propTypes.default.shape({}),
|
|
457
467
|
onSubmit: _propTypes.default.func
|
|
458
468
|
};
|
|
459
469
|
//# sourceMappingURL=Filters.js.map
|