@mirai/core 0.3.59 → 0.3.61
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/Core.js +1 -1
- package/build/Core.js.map +1 -1
- package/build/components/Finder/helpers/getForwarderUrl.js +4 -2
- package/build/components/Finder/helpers/getForwarderUrl.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +65 -77
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/{Rates.Filter.js → Rates.Header.js} +53 -80
- package/build/components/Rates/Rates.Header.js.map +1 -0
- package/build/components/Rates/Rates.RoomSelector.js +96 -0
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -0
- package/build/components/Rates/Rates.Skeleton.js +116 -40
- package/build/components/Rates/Rates.Skeleton.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +7 -1
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +90 -47
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.l10n.js +16 -7
- package/build/components/Rates/Rates.l10n.js.map +1 -1
- package/build/components/Rates/Rates.module.css +149 -67
- package/build/components/Rates/components/Item/Item.Preview.js +46 -29
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +112 -143
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +141 -0
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -0
- package/build/components/Rates/components/Item/Item.js +67 -64
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +22 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +80 -104
- package/build/components/Rates/components/Item/components/Amenities/Amenities.js +15 -9
- package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
- package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +11 -3
- package/build/components/Rates/components/Item/components/Discount/Discount.js +14 -13
- package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
- package/build/components/Rates/components/Item/components/Discount/Discount.module.css +4 -3
- package/build/components/Rates/components/Item/components/Features/Features.js +4 -10
- package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
- package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -5
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +34 -6
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +7 -0
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +18 -9
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.module.css +17 -1
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +1 -1
- package/build/components/Rates/components/Item/components/Option/Option.js +72 -0
- package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -0
- package/build/components/Rates/components/Item/components/Option/Option.module.css +24 -0
- package/build/components/Rates/components/Item/components/Option/index.js +17 -0
- package/build/components/Rates/components/Item/components/Option/index.js.map +1 -0
- package/build/components/Rates/components/Item/components/index.js +11 -0
- package/build/components/Rates/components/Item/components/index.js.map +1 -1
- package/build/components/Rates/helpers/getForwarderUrl.js +23 -12
- package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
- package/build/components/helpers/ICON.js +10 -2
- package/build/components/helpers/ICON.js.map +1 -1
- package/build/components/helpers/index.js +11 -0
- package/build/components/helpers/index.js.map +1 -1
- package/build/components/helpers/opacity.js +17 -0
- package/build/components/helpers/opacity.js.map +1 -0
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +1662 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +296 -510
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +895 -1795
- package/build/services/Rates/__tests__/__mocks__/rates-response.json +197 -369
- package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +32481 -0
- package/build/services/Rates/constants.js +18 -1
- package/build/services/Rates/constants.js.map +1 -1
- package/build/services/Rates/get.js +41 -112
- package/build/services/Rates/get.js.map +1 -1
- package/build/services/Rates/helpers/getIncrements.js +69 -0
- package/build/services/Rates/helpers/getIncrements.js.map +1 -0
- package/build/services/Rates/helpers/index.js +22 -0
- package/build/services/Rates/helpers/index.js.map +1 -1
- package/build/services/Rates/helpers/parseBoards.js +156 -0
- package/build/services/Rates/helpers/parseBoards.js.map +1 -0
- package/build/services/Rates/helpers/parseExternalToken.js +24 -0
- package/build/services/Rates/helpers/parseExternalToken.js.map +1 -0
- package/package.json +1 -1
- package/public/App.module.css +5 -0
- package/public/themes/monalisa.theme.css +3 -0
- package/build/components/Rates/Rates.Filter.js.map +0 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RoomSelector = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
8
|
+
var _locale = require("@mirai/locale");
|
|
9
|
+
var _ui = require("@mirai/ui");
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _Rates = require("./Rates.l10n");
|
|
13
|
+
var style = _interopRequireWildcard(require("./Rates.module.css"));
|
|
14
|
+
var _helpers = require("../helpers");
|
|
15
|
+
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); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
const RoomSelector = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
cart = [],
|
|
22
|
+
occupation = [],
|
|
23
|
+
room: roomIndex,
|
|
24
|
+
onPress = () => {}
|
|
25
|
+
} = _ref;
|
|
26
|
+
const {
|
|
27
|
+
isMobile
|
|
28
|
+
} = (0, _ui.useDevice)();
|
|
29
|
+
const {
|
|
30
|
+
translate
|
|
31
|
+
} = (0, _locale.useLocale)();
|
|
32
|
+
const {
|
|
33
|
+
value: {
|
|
34
|
+
hotel: {
|
|
35
|
+
accommodationType
|
|
36
|
+
} = {}
|
|
37
|
+
}
|
|
38
|
+
} = (0, _dataSources.useStore)();
|
|
39
|
+
|
|
40
|
+
// const lastRoomIndex = cart.findIndex((item) => )
|
|
41
|
+
|
|
42
|
+
return occupation.length >= 2 ? /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
|
|
43
|
+
horizontal: true,
|
|
44
|
+
snap: false,
|
|
45
|
+
className: style.roomSelector
|
|
46
|
+
}, occupation.map(function () {
|
|
47
|
+
let items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
48
|
+
let index = arguments.length > 1 ? arguments[1] : undefined;
|
|
49
|
+
const guests = items.reduce(function (total) {
|
|
50
|
+
let {
|
|
51
|
+
amount
|
|
52
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
53
|
+
return total + amount;
|
|
54
|
+
}, 0);
|
|
55
|
+
const textProps = {
|
|
56
|
+
bold: index <= roomIndex,
|
|
57
|
+
action: !isMobile,
|
|
58
|
+
small: isMobile
|
|
59
|
+
};
|
|
60
|
+
const hasCart = index <= roomIndex || cart[index] !== undefined;
|
|
61
|
+
return /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
62
|
+
disabled: !hasCart,
|
|
63
|
+
key: index,
|
|
64
|
+
onPress: () => onPress(index),
|
|
65
|
+
className: [style.tag, style.room, index === roomIndex ? style.active : hasCart ? style.highlight : undefined]
|
|
66
|
+
}, index === roomIndex && !cart[index] && /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
67
|
+
bold: false
|
|
68
|
+
}), translate(_Rates.L10N.LABEL_SELECT)), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
69
|
+
capitalize: true
|
|
70
|
+
}), "".concat(translate(_Rates.L10N.LABEL_ACCOMMODATION_TYPE, {
|
|
71
|
+
type: accommodationType
|
|
72
|
+
}), " ").concat(index + 1)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
73
|
+
headline: true,
|
|
74
|
+
className: style.separator
|
|
75
|
+
}, "|"), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
76
|
+
headline: true,
|
|
77
|
+
level: isMobile ? 3 : 2,
|
|
78
|
+
value: guests === 1 || guests > 3 ? _helpers.ICON.PERSON : guests === 2 ? _helpers.ICON.GROUP : _helpers.ICON.GROUPS
|
|
79
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
80
|
+
bold: true
|
|
81
|
+
}), guests));
|
|
82
|
+
})) : null;
|
|
83
|
+
};
|
|
84
|
+
exports.RoomSelector = RoomSelector;
|
|
85
|
+
RoomSelector.displayName = 'Mirai:Core:Rates.RoomSelector';
|
|
86
|
+
RoomSelector.propTypes = {
|
|
87
|
+
cart: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
88
|
+
occupation: _propTypes.default.arrayOf(_propTypes.default.arrayOf(_propTypes.default.shape({
|
|
89
|
+
ages: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
90
|
+
amount: _propTypes.default.number,
|
|
91
|
+
type: _propTypes.default.number
|
|
92
|
+
}))),
|
|
93
|
+
room: _propTypes.default.number,
|
|
94
|
+
onPress: _propTypes.default.func
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=Rates.RoomSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Rates","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","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","isMobile","useDevice","translate","useLocale","value","hotel","accommodationType","useStore","createElement","ScrollView","horizontal","snap","className","roomSelector","map","items","undefined","index","guests","reduce","total","amount","textProps","bold","action","small","hasCart","Pressable","disabled","tag","active","highlight","Text","L10N","LABEL_SELECT","capitalize","concat","LABEL_ACCOMMODATION_TYPE","type","headline","separator","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, ScrollView, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { hotel: { accommodationType } = {} },\n } = useStore();\n\n // const lastRoomIndex = cart.findIndex((item) => )\n\n return occupation.length >= 2 ? (\n <ScrollView horizontal snap={false} className={style.roomSelector}>\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const textProps = { bold: index <= roomIndex, action: !isMobile, small: isMobile };\n const hasCart = index <= roomIndex || cart[index] !== undefined;\n\n return (\n <Pressable\n disabled={!hasCart}\n key={index}\n onPress={() => onPress(index)}\n className={[\n style.tag,\n style.room,\n index === roomIndex ? style.active : hasCart ? style.highlight : undefined,\n ]}\n >\n {index === roomIndex && !cart[index] && (\n <Text {...textProps} bold={false}>\n {translate(L10N.LABEL_SELECT)}\n </Text>\n )}\n <Text {...textProps} capitalize>{`${translate(L10N.LABEL_ACCOMMODATION_TYPE, {\n type: accommodationType,\n })} ${index + 1}`}</Text>\n\n <Text headline className={style.separator}>\n |\n </Text>\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n <Text {...textProps} bold>\n {guests}\n </Text>\n </Pressable>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates.RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
|
|
@@ -16,6 +16,11 @@ var _default = () => {
|
|
|
16
16
|
const props = {
|
|
17
17
|
color: 'base'
|
|
18
18
|
};
|
|
19
|
+
const section = {
|
|
20
|
+
borderBottom: 'solid 1px var(--mirai-ui-content-background)',
|
|
21
|
+
gap: '0.5rem',
|
|
22
|
+
padding: '1rem'
|
|
23
|
+
};
|
|
19
24
|
const field = {
|
|
20
25
|
wide: true,
|
|
21
26
|
style: {
|
|
@@ -28,79 +33,150 @@ var _default = () => {
|
|
|
28
33
|
row: !isMobile,
|
|
29
34
|
style: {
|
|
30
35
|
gap: '1rem',
|
|
31
|
-
justifyContent: 'space-between'
|
|
36
|
+
justifyContent: 'space-between',
|
|
37
|
+
padding: '1rem 0'
|
|
32
38
|
}
|
|
33
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, null), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
34
40
|
row: true,
|
|
35
41
|
style: {
|
|
36
42
|
gap: '1rem'
|
|
37
43
|
}
|
|
38
|
-
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, field), !isMobile ? '
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, field), !isMobile ? 'Club discount (info)' : null), !isMobile && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, field), "Euro"))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
39
45
|
row: true,
|
|
40
46
|
style: {
|
|
41
|
-
|
|
47
|
+
alignItems: 'stretch',
|
|
48
|
+
flexWrap: 'wrap',
|
|
49
|
+
gap: '1rem',
|
|
50
|
+
justifyContent: 'space-between'
|
|
42
51
|
}
|
|
43
|
-
},
|
|
44
|
-
length:
|
|
45
|
-
}).map((_, index) => /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({
|
|
46
|
-
key: index
|
|
47
|
-
|
|
52
|
+
}, Array.from({
|
|
53
|
+
length: isMobile ? 1 : 3
|
|
54
|
+
}).map((_, index) => /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({
|
|
55
|
+
key: index
|
|
56
|
+
}, props, {
|
|
48
57
|
style: {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
boxSizing: 'border-box',
|
|
59
|
+
flex: 1,
|
|
60
|
+
flexBasis: "calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3))",
|
|
61
|
+
overflow: 'hidden'
|
|
53
62
|
}
|
|
54
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
55
|
-
|
|
63
|
+
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
64
|
+
color: "border",
|
|
56
65
|
style: {
|
|
57
|
-
|
|
66
|
+
borderRadius: 0,
|
|
67
|
+
height: '13rem'
|
|
68
|
+
}
|
|
69
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
70
|
+
style: {
|
|
71
|
+
height: '42rem'
|
|
72
|
+
}
|
|
73
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
74
|
+
style: {
|
|
75
|
+
...section
|
|
58
76
|
}
|
|
59
77
|
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
60
|
-
|
|
78
|
+
style: {
|
|
79
|
+
height: '3rem'
|
|
80
|
+
}
|
|
81
|
+
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
61
82
|
headline: true,
|
|
62
83
|
level: 2
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
84
|
+
}, "Room name"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
85
|
+
action: true
|
|
86
|
+
}, "Free wifi internet"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
87
|
+
action: true
|
|
88
|
+
}, "Television"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
89
|
+
action: true
|
|
90
|
+
}, "Mini-bar"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
91
|
+
action: true
|
|
92
|
+
}, "Heating"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
93
|
+
action: true
|
|
94
|
+
}, "More Info +")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
69
95
|
style: {
|
|
70
|
-
|
|
71
|
-
gap: '1rem'
|
|
96
|
+
...section
|
|
72
97
|
}
|
|
73
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
98
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
99
|
+
action: true
|
|
100
|
+
}, "Cancellation type"), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
101
|
+
row: true,
|
|
74
102
|
style: {
|
|
75
|
-
|
|
76
|
-
minWidth: !isMobile ? '23rem' : '100%'
|
|
103
|
+
justifyContent: 'space-between'
|
|
77
104
|
}
|
|
78
105
|
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
106
|
+
action: true
|
|
107
|
+
}, "Free cancelation"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
108
|
+
action: true
|
|
109
|
+
}, "$0.00")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
110
|
+
row: true,
|
|
79
111
|
style: {
|
|
80
|
-
|
|
112
|
+
justifyContent: 'space-between'
|
|
81
113
|
}
|
|
82
|
-
}
|
|
114
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
115
|
+
action: true
|
|
116
|
+
}, "Free cancelation until apr 10"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
117
|
+
action: true
|
|
118
|
+
}, "$19.95"))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
83
119
|
style: {
|
|
84
|
-
|
|
120
|
+
...section
|
|
85
121
|
}
|
|
86
|
-
}
|
|
87
|
-
|
|
122
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
123
|
+
action: true
|
|
124
|
+
}, "Extras"), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
125
|
+
row: true,
|
|
88
126
|
style: {
|
|
89
|
-
|
|
127
|
+
justifyContent: 'space-between'
|
|
90
128
|
}
|
|
91
129
|
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
130
|
+
action: true
|
|
131
|
+
}, "Only room"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
132
|
+
action: true
|
|
133
|
+
}, "$0.00")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
134
|
+
row: true,
|
|
92
135
|
style: {
|
|
93
|
-
|
|
136
|
+
justifyContent: 'space-between'
|
|
94
137
|
}
|
|
95
|
-
}
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
139
|
+
action: true
|
|
140
|
+
}, "Breakfast included"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
141
|
+
action: true
|
|
142
|
+
}, "$19.95")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
143
|
+
row: true,
|
|
96
144
|
style: {
|
|
97
|
-
|
|
145
|
+
justifyContent: 'space-between'
|
|
98
146
|
}
|
|
99
|
-
}
|
|
147
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
148
|
+
action: true
|
|
149
|
+
}, "All included"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
150
|
+
action: true
|
|
151
|
+
}, "$39.95"))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
152
|
+
row: true,
|
|
153
|
+
style: {
|
|
154
|
+
alignItems: 'flex-end',
|
|
155
|
+
justifyContent: 'space-between',
|
|
156
|
+
padding: '1rem'
|
|
157
|
+
}
|
|
158
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
159
|
+
style: {
|
|
160
|
+
gap: '0.5rem'
|
|
161
|
+
}
|
|
162
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
163
|
+
small: true
|
|
164
|
+
}, "5% off"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
165
|
+
headline: true,
|
|
166
|
+
level: 2
|
|
167
|
+
}, "$199.50"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
168
|
+
small: true
|
|
169
|
+
}, "$19.95 per unit & night"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
170
|
+
small: true
|
|
171
|
+
}, "Includes taxes and fees"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
172
|
+
small: true
|
|
173
|
+
}, "Price details +")), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
174
|
+
action: true,
|
|
100
175
|
style: {
|
|
101
|
-
height: '
|
|
176
|
+
height: '3rem',
|
|
177
|
+
width: '8rem'
|
|
102
178
|
}
|
|
103
|
-
})))))));
|
|
179
|
+
}, "Select")))))));
|
|
104
180
|
};
|
|
105
181
|
exports.default = _default;
|
|
106
182
|
//# sourceMappingURL=Rates.Skeleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_default","isMobile","useDevice","props","color","field","wide","style","action","height","padding","createElement","Fragment","View","row","gap","justifyContent","Skeleton","Array","from","map","_","index","overflow","bold","headline","level","small","tiny","alignItems","minWidth","exports"],"sources":["../../../src/components/Rates/Rates.Skeleton.jsx"],"sourcesContent":["import { useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../__shared__';\n\nexport default () => {\n const { isMobile } = useDevice();\n\n const props = { color: 'base' };\n const field = { wide: true, style: { action: true, height: '3.5rem', padding: '0 0.5rem' } };\n\n return (\n <>\n <View row={!isMobile} style={{ gap: '1rem', justifyContent: 'space-between' }}>\n <View row style={{ gap: '1rem' }}>\n <Skeleton {...props} {...field}>\n {!isMobile ? 'Room Only' : null}\n </Skeleton>\n <Skeleton {...props} {...field}>\n {!isMobile ? 'Breakfast included' : 'Euro'}\n </Skeleton>\n </View>\n\n <View row style={{ gap: '1rem' }}>\n <Skeleton {...props} {...field}>\n {!isMobile ? 'Club discount (info)' : null}\n </Skeleton>\n {!isMobile && (\n <Skeleton {...props} {...field}>\n Euro\n </Skeleton>\n )}\n </View>\n </View>\n\n {Array.from({ length: 2 }).map((_, index) => (\n <Skeleton\n {...props}\n key={index}\n wide\n style={{ height: !isMobile ? '40rem' : 'auto', gap: '1rem', overflow: 'hidden', padding: '1rem' }}\n >\n <>\n <View row style={{ justifyContent: 'space-between' }}>\n <Skeleton bold headline level={2}>\n {!isMobile ? 'Room className' : 'Room'}\n </Skeleton>\n <Skeleton small={!isMobile} tiny={isMobile}>\n Included taxes and fees\n </Skeleton>\n </View>\n <View row={!isMobile} wide style={{ alignItems: 'flex-start', gap: '1rem' }}>\n <View style={{ gap: '1rem', minWidth: !isMobile ? '23rem' : '100%' }}>\n <Skeleton style={{ height: '14rem' }} />\n <Skeleton style={{ height: '3rem' }} />\n </View>\n\n <View wide style={{ gap: '1rem' }}>\n <Skeleton style={{ height: '10rem' }} />\n <Skeleton style={{ height: '10rem' }} />\n <Skeleton style={{ height: '10rem' }} />\n </View>\n </View>\n </>\n </Skeleton>\n ))}\n </>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAAyC,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,IAAAQ,QAAA,GAE1BA,CAAA,KAAM;EACnB,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAEhC,MAAMC,KAAK,GAAG;IAAEC,KAAK,EAAE;EAAO,CAAC;EAC/B,MAAMC,KAAK,GAAG;IAAEC,IAAI,EAAE,IAAI;IAAEC,KAAK,EAAE;MAAEC,MAAM,EAAE,IAAI;MAAEC,MAAM,EAAE,QAAQ;MAAEC,OAAO,EAAE;IAAW;EAAE,CAAC;EAE5F,oBACE9B,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAA/B,MAAA,CAAAK,OAAA,CAAA2B,QAAA,qBACEhC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAACjC,GAAA,CAAAmC,IAAI;IAACC,GAAG,EAAE,CAACb,QAAS;IAACM,KAAK,EAAE;MAAEQ,GAAG,EAAE,MAAM;MAAEC,cAAc,EAAE;IAAgB;EAAE,gBAC5EpC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAACjC,GAAA,CAAAmC,IAAI;IAACC,GAAG;IAACP,KAAK,EAAE;MAAEQ,GAAG,EAAE;IAAO;EAAE,gBAC/BnC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ,EAAA/B,QAAA,KAAKiB,KAAK,EAAME,KAAK,GAC3B,CAACJ,QAAQ,GAAG,WAAW,GAAG,IACnB,CAAC,eACXrB,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ,EAAA/B,QAAA,KAAKiB,KAAK,EAAME,KAAK,GAC3B,CAACJ,QAAQ,GAAG,oBAAoB,GAAG,MAC5B,CACN,CAAC,eAEPrB,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAACjC,GAAA,CAAAmC,IAAI;IAACC,GAAG;IAACP,KAAK,EAAE;MAAEQ,GAAG,EAAE;IAAO;EAAE,gBAC/BnC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ,EAAA/B,QAAA,KAAKiB,KAAK,EAAME,KAAK,GAC3B,CAACJ,QAAQ,GAAG,sBAAsB,GAAG,IAC9B,CAAC,EACV,CAACA,QAAQ,iBACRrB,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ,EAAA/B,QAAA,KAAKiB,KAAK,EAAME,KAAK,GAAE,MAEtB,CAER,CACF,CAAC,EAENa,KAAK,CAACC,IAAI,CAAC;IAAE1B,MAAM,EAAE;EAAE,CAAC,CAAC,CAAC2B,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACtC1C,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ,EAAA/B,QAAA,KACHiB,KAAK;IACTR,GAAG,EAAE2B,KAAM;IACXhB,IAAI;IACJC,KAAK,EAAE;MAAEE,MAAM,EAAE,CAACR,QAAQ,GAAG,OAAO,GAAG,MAAM;MAAEc,GAAG,EAAE,MAAM;MAAEQ,QAAQ,EAAE,QAAQ;MAAEb,OAAO,EAAE;IAAO;EAAE,iBAElG9B,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAA/B,MAAA,CAAAK,OAAA,CAAA2B,QAAA,qBACEhC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAACjC,GAAA,CAAAmC,IAAI;IAACC,GAAG;IAACP,KAAK,EAAE;MAAES,cAAc,EAAE;IAAgB;EAAE,gBACnDpC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ;IAACO,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAE;EAAE,GAC9B,CAACzB,QAAQ,GAAG,gBAAgB,GAAG,MACxB,CAAC,eACXrB,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ;IAACU,KAAK,EAAE,CAAC1B,QAAS;IAAC2B,IAAI,EAAE3B;EAAS,GAAC,yBAElC,CACN,CAAC,eACPrB,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAACjC,GAAA,CAAAmC,IAAI;IAACC,GAAG,EAAE,CAACb,QAAS;IAACK,IAAI;IAACC,KAAK,EAAE;MAAEsB,UAAU,EAAE,YAAY;MAAEd,GAAG,EAAE;IAAO;EAAE,gBAC1EnC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAACjC,GAAA,CAAAmC,IAAI;IAACN,KAAK,EAAE;MAAEQ,GAAG,EAAE,MAAM;MAAEe,QAAQ,EAAE,CAAC7B,QAAQ,GAAG,OAAO,GAAG;IAAO;EAAE,gBACnErB,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ;IAACV,KAAK,EAAE;MAAEE,MAAM,EAAE;IAAQ;EAAE,CAAE,CAAC,eACxC7B,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ;IAACV,KAAK,EAAE;MAAEE,MAAM,EAAE;IAAO;EAAE,CAAE,CAClC,CAAC,eAEP7B,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAACjC,GAAA,CAAAmC,IAAI;IAACP,IAAI;IAACC,KAAK,EAAE;MAAEQ,GAAG,EAAE;IAAO;EAAE,gBAChCnC,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ;IAACV,KAAK,EAAE;MAAEE,MAAM,EAAE;IAAQ;EAAE,CAAE,CAAC,eACxC7B,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ;IAACV,KAAK,EAAE;MAAEE,MAAM,EAAE;IAAQ;EAAE,CAAE,CAAC,eACxC7B,MAAA,CAAAK,OAAA,CAAA0B,aAAA,CAAC7B,SAAA,CAAAmC,QAAQ;IAACV,KAAK,EAAE;MAAEE,MAAM,EAAE;IAAQ;EAAE,CAAE,CACnC,CACF,CACN,CACM,CACX,CACD,CAAC;AAEP,CAAC;AAAAsB,OAAA,CAAA9C,OAAA,GAAAe,QAAA"}
|
|
1
|
+
{"version":3,"file":"Rates.Skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_default","isMobile","useDevice","props","color","section","borderBottom","gap","padding","field","wide","style","action","height","createElement","Fragment","View","row","justifyContent","Skeleton","alignItems","flexWrap","Array","from","map","_","index","boxSizing","flex","flexBasis","overflow","borderRadius","headline","level","small","width","exports"],"sources":["../../../src/components/Rates/Rates.Skeleton.jsx"],"sourcesContent":["import { useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../__shared__';\n\nexport default () => {\n const { isMobile } = useDevice();\n\n const props = { color: 'base' };\n const section = { borderBottom: 'solid 1px var(--mirai-ui-content-background)', gap: '0.5rem', padding: '1rem' };\n const field = { wide: true, style: { action: true, height: '3.5rem', padding: '0 0.5rem' } };\n\n return (\n <>\n <View row={!isMobile} style={{ gap: '1rem', justifyContent: 'space-between', padding: '1rem 0' }}>\n <View />\n\n <View row style={{ gap: '1rem' }}>\n <Skeleton {...props} {...field}>\n {!isMobile ? 'Club discount (info)' : null}\n </Skeleton>\n {!isMobile && (\n <Skeleton {...props} {...field}>\n Euro\n </Skeleton>\n )}\n </View>\n </View>\n\n <View row style={{ alignItems: 'stretch', flexWrap: 'wrap', gap: '1rem', justifyContent: 'space-between' }}>\n {Array.from({ length: isMobile ? 1 : 3 }).map((_, index) => (\n <Skeleton\n key={index}\n {...props}\n style={{\n boxSizing: 'border-box',\n flex: 1,\n flexBasis: `calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3))`,\n overflow: 'hidden',\n }}\n >\n <Skeleton color=\"border\" style={{ borderRadius: 0, height: '13rem' }} />\n\n <View style={{ height: '42rem' }}>\n <View style={{ ...section }}>\n <Skeleton style={{ height: '3rem' }} />\n <Skeleton headline level={2}>\n Room name\n </Skeleton>\n <Skeleton action>Free wifi internet</Skeleton>\n <Skeleton action>Television</Skeleton>\n <Skeleton action>Mini-bar</Skeleton>\n <Skeleton action>Heating</Skeleton>\n <Skeleton action>More Info +</Skeleton>\n </View>\n\n <View style={{ ...section }}>\n <Skeleton action>Cancellation type</Skeleton>\n <View row style={{ justifyContent: 'space-between' }}>\n <Skeleton action>Free cancelation</Skeleton>\n <Skeleton action>$0.00</Skeleton>\n </View>\n <View row style={{ justifyContent: 'space-between' }}>\n <Skeleton action>Free cancelation until apr 10</Skeleton>\n <Skeleton action>$19.95</Skeleton>\n </View>\n </View>\n\n <View style={{ ...section }}>\n <Skeleton action>Extras</Skeleton>\n <View row style={{ justifyContent: 'space-between' }}>\n <Skeleton action>Only room</Skeleton>\n <Skeleton action>$0.00</Skeleton>\n </View>\n <View row style={{ justifyContent: 'space-between' }}>\n <Skeleton action>Breakfast included</Skeleton>\n <Skeleton action>$19.95</Skeleton>\n </View>\n <View row style={{ justifyContent: 'space-between' }}>\n <Skeleton action>All included</Skeleton>\n <Skeleton action>$39.95</Skeleton>\n </View>\n </View>\n\n <View row style={{ alignItems: 'flex-end', justifyContent: 'space-between', padding: '1rem' }}>\n <View style={{ gap: '0.5rem' }}>\n <Skeleton small>5% off</Skeleton>\n <Skeleton headline level={2}>\n $199.50\n </Skeleton>\n <Skeleton small>$19.95 per unit & night</Skeleton>\n <Skeleton small>Includes taxes and fees</Skeleton>\n <Skeleton small>Price details +</Skeleton>\n </View>\n\n <Skeleton action style={{ height: '3rem', width: '8rem' }}>\n Select\n </Skeleton>\n </View>\n </View>\n </Skeleton>\n ))}\n </View>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.RATES_STORAGE_KEY = exports.RATES_STORAGE_CACHE = void 0;
|
|
6
|
+
exports.RATES_STORAGE_KEY = exports.RATES_STORAGE_CACHE = exports.EXPIRATION_ENDPOINT = exports.DISCOUNT_TYPE = void 0;
|
|
7
|
+
const DISCOUNT_TYPE = exports.DISCOUNT_TYPE = {
|
|
8
|
+
CLUB: 0,
|
|
9
|
+
DEAL: 1,
|
|
10
|
+
PROMOTION: 2
|
|
11
|
+
};
|
|
12
|
+
const EXPIRATION_ENDPOINT = exports.EXPIRATION_ENDPOINT = 'club/v1/forwarder/expiration';
|
|
7
13
|
const RATES_STORAGE_CACHE = exports.RATES_STORAGE_CACHE = 1000 * 60 * 5; // 5 minutes
|
|
8
14
|
|
|
9
15
|
const RATES_STORAGE_KEY = exports.RATES_STORAGE_KEY = 'MIRAI:RATES';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.constants.js","names":["
|
|
1
|
+
{"version":3,"file":"Rates.constants.js","names":["DISCOUNT_TYPE","exports","CLUB","DEAL","PROMOTION","EXPIRATION_ENDPOINT","RATES_STORAGE_CACHE","RATES_STORAGE_KEY"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst EXPIRATION_ENDPOINT = 'club/v1/forwarder/expiration';\n\nconst RATES_STORAGE_CACHE = 1000 * 60 * 5; // 5 minutes\n\nconst RATES_STORAGE_KEY = 'MIRAI:RATES';\n\nexport { DISCOUNT_TYPE, EXPIRATION_ENDPOINT, RATES_STORAGE_CACHE, RATES_STORAGE_KEY };\n"],"mappings":";;;;;;AAAA,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EACpBE,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,mBAAmB,GAAAJ,OAAA,CAAAI,mBAAA,GAAG,8BAA8B;AAE1D,MAAMC,mBAAmB,GAAAL,OAAA,CAAAK,mBAAA,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;;AAE3C,MAAMC,iBAAiB,GAAAN,OAAA,CAAAM,iBAAA,GAAG,aAAa"}
|
|
@@ -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.
|
|
16
|
-
var _Rates3 = require("./Rates.
|
|
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 =
|
|
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 [
|
|
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
|
-
|
|
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
|
-
}, [
|
|
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 =
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
156
|
-
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
|
-
|
|
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
|
-
|
|
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
|
-
})) :
|
|
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
|
};
|