@qite/tide-booking-component 1.4.33 → 1.4.34
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/build-cjs/index.js +48 -43
- package/build/build-esm/index.js +48 -43
- package/package.json +77 -77
- package/src/booking-product/components/product.tsx +26 -22
- package/src/booking-wizard/features/booking/booking-self-contained.tsx +304 -304
- package/src/qsm/components/QSMContainer/qsm-container.tsx +215 -218
- package/src/qsm/store/qsm-slice.ts +261 -261
- package/src/qsm/types.ts +145 -145
- package/src/search-results/components/search-results-container/search-results-container.tsx +341 -337
package/build/build-cjs/index.js
CHANGED
|
@@ -13345,15 +13345,16 @@ var Product = function (_a) {
|
|
|
13345
13345
|
var _m = React.useState(false), hasTransfer = _m[0], setHasTransfer = _m[1];
|
|
13346
13346
|
var _o = React.useState([{ adults: 2, children: 0, childAges: [] }]), rooms = _o[0], setRooms = _o[1];
|
|
13347
13347
|
var _p = React.useState([]), searchResponse = _p[0], setSearchResponse = _p[1];
|
|
13348
|
-
var _q = React.useState(),
|
|
13349
|
-
var _r = React.useState(
|
|
13350
|
-
var _s = React.useState(
|
|
13351
|
-
var _t = React.useState(
|
|
13348
|
+
var _q = React.useState(), detailResponse = _q[0], setDetailResponse = _q[1];
|
|
13349
|
+
var _r = React.useState(), dateRange = _r[0], setDateRange = _r[1];
|
|
13350
|
+
var _s = React.useState(productName), packageProductName = _s[0], setPackageProductName = _s[1];
|
|
13351
|
+
var _t = React.useState(''), currencyCode = _t[0], setCurrencyCode = _t[1];
|
|
13352
|
+
var _u = React.useState([]), searchResults = _u[0], setSearchResults = _u[1];
|
|
13352
13353
|
var skipNextFetchRef = React.useRef(false);
|
|
13353
13354
|
var fetchPackage = function (signal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
13354
|
-
var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest,
|
|
13355
|
-
return __generator(this, function (
|
|
13356
|
-
switch (
|
|
13355
|
+
var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest, _a, _b;
|
|
13356
|
+
return __generator(this, function (_c) {
|
|
13357
|
+
switch (_c.label) {
|
|
13357
13358
|
case 0:
|
|
13358
13359
|
if (displayMode === 'list' && searchType !== 1) {
|
|
13359
13360
|
console.error('The combination of searchType and displayMode is not supported.' + " Please set searchType to 1 when using displayMode 'list'.");
|
|
@@ -13415,40 +13416,22 @@ var Product = function (_a) {
|
|
|
13415
13416
|
}
|
|
13416
13417
|
};
|
|
13417
13418
|
setIsLoading(true);
|
|
13418
|
-
detailResponse = void 0;
|
|
13419
13419
|
if (!(displayMode === 'calendar' && searchType === 0)) return [3 /*break*/, 2];
|
|
13420
|
+
_a = setDetailResponse;
|
|
13420
13421
|
return [4 /*yield*/, packageApi$1.fetchDetails(detailsRequest, signal, language, apiSettingsState)];
|
|
13421
13422
|
case 1:
|
|
13422
|
-
|
|
13423
|
-
|
|
13423
|
+
_a.apply(void 0, [_c.sent()]);
|
|
13424
|
+
_c.label = 2;
|
|
13424
13425
|
case 2:
|
|
13425
13426
|
if (!(searchType === 1)) return [3 /*break*/, 4];
|
|
13426
|
-
|
|
13427
|
+
_b = setSearchResponse;
|
|
13427
13428
|
return [4 /*yield*/, packageApi$1.fetchSearch(searchRequest, signal, apiSettingsState)];
|
|
13428
13429
|
case 3:
|
|
13429
|
-
|
|
13430
|
-
|
|
13430
|
+
_b.apply(void 0, [_c.sent()]);
|
|
13431
|
+
_c.label = 4;
|
|
13431
13432
|
case 4:
|
|
13432
|
-
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
13433
|
-
selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
|
|
13434
|
-
if (selectedOption) {
|
|
13435
|
-
hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
|
|
13436
|
-
hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
|
|
13437
|
-
setPrice(selectedOption.price);
|
|
13438
|
-
setHasFlight(hasFlight_1);
|
|
13439
|
-
setHasTransfer(hasTranfer);
|
|
13440
|
-
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
13441
|
-
setPackageProductName(selectedOption.name);
|
|
13442
|
-
}
|
|
13443
|
-
}
|
|
13444
|
-
else {
|
|
13445
|
-
setPrice(undefined);
|
|
13446
|
-
setHasFlight(false);
|
|
13447
|
-
setHasTransfer(false);
|
|
13448
|
-
setCurrencyCode('');
|
|
13449
|
-
}
|
|
13450
13433
|
setIsLoading(false);
|
|
13451
|
-
|
|
13434
|
+
_c.label = 5;
|
|
13452
13435
|
case 5: return [2 /*return*/];
|
|
13453
13436
|
}
|
|
13454
13437
|
});
|
|
@@ -13519,10 +13502,12 @@ var Product = function (_a) {
|
|
|
13519
13502
|
if (selectedItem) {
|
|
13520
13503
|
setPrice(selectedItem.price);
|
|
13521
13504
|
setPackageProductName(selectedItem.name);
|
|
13505
|
+
setCurrencyCode(selectedItem.currencyCode);
|
|
13522
13506
|
}
|
|
13523
13507
|
else {
|
|
13524
13508
|
setPrice(searchResponse[0].price);
|
|
13525
13509
|
setPackageProductName(searchResponse[0].name);
|
|
13510
|
+
setCurrencyCode(searchResponse[0].currencyCode);
|
|
13526
13511
|
}
|
|
13527
13512
|
}
|
|
13528
13513
|
else {
|
|
@@ -13531,6 +13516,26 @@ var Product = function (_a) {
|
|
|
13531
13516
|
setPackageProductName(translations.PRODUCT.NOT_AVAILABLE);
|
|
13532
13517
|
}
|
|
13533
13518
|
}, [searchResponse]);
|
|
13519
|
+
React.useEffect(function () {
|
|
13520
|
+
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
13521
|
+
var selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
|
|
13522
|
+
if (selectedOption) {
|
|
13523
|
+
var hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
|
|
13524
|
+
var hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
|
|
13525
|
+
setPrice(selectedOption.price);
|
|
13526
|
+
setHasFlight(hasFlight_1);
|
|
13527
|
+
setHasTransfer(hasTranfer);
|
|
13528
|
+
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
13529
|
+
setPackageProductName(selectedOption.name);
|
|
13530
|
+
}
|
|
13531
|
+
}
|
|
13532
|
+
else if (detailResponse !== undefined) {
|
|
13533
|
+
setPrice(undefined);
|
|
13534
|
+
setHasFlight(false);
|
|
13535
|
+
setHasTransfer(false);
|
|
13536
|
+
setCurrencyCode('');
|
|
13537
|
+
}
|
|
13538
|
+
}, [detailResponse]);
|
|
13534
13539
|
React.useEffect(function () {
|
|
13535
13540
|
if (searchType === 1 && skipNextFetchRef.current) {
|
|
13536
13541
|
skipNextFetchRef.current = false;
|
|
@@ -20846,7 +20851,7 @@ var QSMContainer = function () {
|
|
|
20846
20851
|
var isMobile = useMediaQuery('(max-width: 768px)');
|
|
20847
20852
|
var qsmState = reactRedux.useSelector(function (state) { return state.qsm; });
|
|
20848
20853
|
var mobileFilterType = qsmState.mobileFilterType, fromDate = qsmState.fromDate, toDate = qsmState.toDate;
|
|
20849
|
-
var _a = React.useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, submitLabel = _a.submitLabel, onSubmit = _a.onSubmit;
|
|
20854
|
+
var _a = React.useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, submitLabel = _a.submitLabel, onSubmit = _a.onSubmit, travelTypes = _a.travelTypes;
|
|
20850
20855
|
React.useEffect(function () {
|
|
20851
20856
|
if (fromDate || toDate)
|
|
20852
20857
|
return;
|
|
@@ -20871,19 +20876,15 @@ var QSMContainer = function () {
|
|
|
20871
20876
|
var handleSubmit = function () {
|
|
20872
20877
|
if (!onSubmit)
|
|
20873
20878
|
return;
|
|
20874
|
-
var fromDate = qsmState.fromDate, toDate = qsmState.toDate
|
|
20879
|
+
var fromDate = qsmState.fromDate, toDate = qsmState.toDate; qsmState.travelers; var selectedTravelClass = qsmState.selectedTravelClass, selectedTravelType = qsmState.selectedTravelType, selectedNationality = qsmState.selectedNationality; qsmState.adults; qsmState.kids; qsmState.babies; var rooms = qsmState.rooms; qsmState.selectedFlexRange;
|
|
20880
|
+
var selectedTravelTypeValue = travelTypes.find(function (t) { return t.label === selectedTravelType; });
|
|
20875
20881
|
var payload = {
|
|
20876
20882
|
fromDate: fromDate,
|
|
20877
20883
|
toDate: toDate,
|
|
20878
|
-
travelers: travelers,
|
|
20879
20884
|
travelClass: selectedTravelClass,
|
|
20880
|
-
travelType:
|
|
20885
|
+
travelType: selectedTravelTypeValue,
|
|
20881
20886
|
nationality: selectedNationality,
|
|
20882
|
-
|
|
20883
|
-
kids: kids,
|
|
20884
|
-
babies: babies,
|
|
20885
|
-
rooms: rooms,
|
|
20886
|
-
dateFlexibility: selectedFlexRange
|
|
20887
|
+
rooms: rooms
|
|
20887
20888
|
};
|
|
20888
20889
|
addSearchFieldsToPayload(payload, searchFields, qsmState);
|
|
20889
20890
|
onSubmit(payload);
|
|
@@ -22016,7 +22017,7 @@ var SearchResultsContainer = function () {
|
|
|
22016
22017
|
var _g = React.useState([]); _g[0]; var setInitialFilters = _g[1];
|
|
22017
22018
|
React.useEffect(function () {
|
|
22018
22019
|
var runSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
22019
|
-
var params, from, to, rooms, country, region, oord, city, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
|
|
22020
|
+
var params, from, to, rooms, country, region, oord, city, hotel, tagId, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
|
|
22020
22021
|
var _a, _b, _c, _d, _e;
|
|
22021
22022
|
return __generator(this, function (_f) {
|
|
22022
22023
|
switch (_f.label) {
|
|
@@ -22036,6 +22037,8 @@ var SearchResultsContainer = function () {
|
|
|
22036
22037
|
region = getNumberFromParams(params, 'region');
|
|
22037
22038
|
oord = getNumberFromParams(params, 'oord');
|
|
22038
22039
|
city = getNumberFromParams(params, 'location');
|
|
22040
|
+
hotel = getNumberFromParams(params, 'hotel');
|
|
22041
|
+
tagId = getNumberFromParams(params, 'tagId');
|
|
22039
22042
|
// temp hardcoded params
|
|
22040
22043
|
if (!from || !to) {
|
|
22041
22044
|
from = '2026-04-07';
|
|
@@ -22093,7 +22096,9 @@ var SearchResultsContainer = function () {
|
|
|
22093
22096
|
maxPrice: (_e = filters.find(function (f) { return f.property === 'price'; })) === null || _e === void 0 ? void 0 : _e.selectedMax,
|
|
22094
22097
|
useExactDates: true,
|
|
22095
22098
|
onlyCachedResults: false,
|
|
22096
|
-
includeAllAllotments: true
|
|
22099
|
+
includeAllAllotments: true,
|
|
22100
|
+
productIds: hotel ? [hotel] : [],
|
|
22101
|
+
productTagIds: tagId ? [tagId] : []
|
|
22097
22102
|
}
|
|
22098
22103
|
};
|
|
22099
22104
|
config = {
|
package/build/build-esm/index.js
CHANGED
|
@@ -13334,15 +13334,16 @@ var Product = function (_a) {
|
|
|
13334
13334
|
var _m = useState(false), hasTransfer = _m[0], setHasTransfer = _m[1];
|
|
13335
13335
|
var _o = useState([{ adults: 2, children: 0, childAges: [] }]), rooms = _o[0], setRooms = _o[1];
|
|
13336
13336
|
var _p = useState([]), searchResponse = _p[0], setSearchResponse = _p[1];
|
|
13337
|
-
var _q = useState(),
|
|
13338
|
-
var _r = useState(
|
|
13339
|
-
var _s = useState(
|
|
13340
|
-
var _t = useState(
|
|
13337
|
+
var _q = useState(), detailResponse = _q[0], setDetailResponse = _q[1];
|
|
13338
|
+
var _r = useState(), dateRange = _r[0], setDateRange = _r[1];
|
|
13339
|
+
var _s = useState(productName), packageProductName = _s[0], setPackageProductName = _s[1];
|
|
13340
|
+
var _t = useState(''), currencyCode = _t[0], setCurrencyCode = _t[1];
|
|
13341
|
+
var _u = useState([]), searchResults = _u[0], setSearchResults = _u[1];
|
|
13341
13342
|
var skipNextFetchRef = useRef(false);
|
|
13342
13343
|
var fetchPackage = function (signal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
13343
|
-
var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest,
|
|
13344
|
-
return __generator(this, function (
|
|
13345
|
-
switch (
|
|
13344
|
+
var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest, _a, _b;
|
|
13345
|
+
return __generator(this, function (_c) {
|
|
13346
|
+
switch (_c.label) {
|
|
13346
13347
|
case 0:
|
|
13347
13348
|
if (displayMode === 'list' && searchType !== 1) {
|
|
13348
13349
|
console.error('The combination of searchType and displayMode is not supported.' + " Please set searchType to 1 when using displayMode 'list'.");
|
|
@@ -13404,40 +13405,22 @@ var Product = function (_a) {
|
|
|
13404
13405
|
}
|
|
13405
13406
|
};
|
|
13406
13407
|
setIsLoading(true);
|
|
13407
|
-
detailResponse = void 0;
|
|
13408
13408
|
if (!(displayMode === 'calendar' && searchType === 0)) return [3 /*break*/, 2];
|
|
13409
|
+
_a = setDetailResponse;
|
|
13409
13410
|
return [4 /*yield*/, packageApi$1.fetchDetails(detailsRequest, signal, language, apiSettingsState)];
|
|
13410
13411
|
case 1:
|
|
13411
|
-
|
|
13412
|
-
|
|
13412
|
+
_a.apply(void 0, [_c.sent()]);
|
|
13413
|
+
_c.label = 2;
|
|
13413
13414
|
case 2:
|
|
13414
13415
|
if (!(searchType === 1)) return [3 /*break*/, 4];
|
|
13415
|
-
|
|
13416
|
+
_b = setSearchResponse;
|
|
13416
13417
|
return [4 /*yield*/, packageApi$1.fetchSearch(searchRequest, signal, apiSettingsState)];
|
|
13417
13418
|
case 3:
|
|
13418
|
-
|
|
13419
|
-
|
|
13419
|
+
_b.apply(void 0, [_c.sent()]);
|
|
13420
|
+
_c.label = 4;
|
|
13420
13421
|
case 4:
|
|
13421
|
-
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
13422
|
-
selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
|
|
13423
|
-
if (selectedOption) {
|
|
13424
|
-
hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
|
|
13425
|
-
hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
|
|
13426
|
-
setPrice(selectedOption.price);
|
|
13427
|
-
setHasFlight(hasFlight_1);
|
|
13428
|
-
setHasTransfer(hasTranfer);
|
|
13429
|
-
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
13430
|
-
setPackageProductName(selectedOption.name);
|
|
13431
|
-
}
|
|
13432
|
-
}
|
|
13433
|
-
else {
|
|
13434
|
-
setPrice(undefined);
|
|
13435
|
-
setHasFlight(false);
|
|
13436
|
-
setHasTransfer(false);
|
|
13437
|
-
setCurrencyCode('');
|
|
13438
|
-
}
|
|
13439
13422
|
setIsLoading(false);
|
|
13440
|
-
|
|
13423
|
+
_c.label = 5;
|
|
13441
13424
|
case 5: return [2 /*return*/];
|
|
13442
13425
|
}
|
|
13443
13426
|
});
|
|
@@ -13508,10 +13491,12 @@ var Product = function (_a) {
|
|
|
13508
13491
|
if (selectedItem) {
|
|
13509
13492
|
setPrice(selectedItem.price);
|
|
13510
13493
|
setPackageProductName(selectedItem.name);
|
|
13494
|
+
setCurrencyCode(selectedItem.currencyCode);
|
|
13511
13495
|
}
|
|
13512
13496
|
else {
|
|
13513
13497
|
setPrice(searchResponse[0].price);
|
|
13514
13498
|
setPackageProductName(searchResponse[0].name);
|
|
13499
|
+
setCurrencyCode(searchResponse[0].currencyCode);
|
|
13515
13500
|
}
|
|
13516
13501
|
}
|
|
13517
13502
|
else {
|
|
@@ -13520,6 +13505,26 @@ var Product = function (_a) {
|
|
|
13520
13505
|
setPackageProductName(translations.PRODUCT.NOT_AVAILABLE);
|
|
13521
13506
|
}
|
|
13522
13507
|
}, [searchResponse]);
|
|
13508
|
+
useEffect(function () {
|
|
13509
|
+
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
13510
|
+
var selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
|
|
13511
|
+
if (selectedOption) {
|
|
13512
|
+
var hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
|
|
13513
|
+
var hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
|
|
13514
|
+
setPrice(selectedOption.price);
|
|
13515
|
+
setHasFlight(hasFlight_1);
|
|
13516
|
+
setHasTransfer(hasTranfer);
|
|
13517
|
+
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
13518
|
+
setPackageProductName(selectedOption.name);
|
|
13519
|
+
}
|
|
13520
|
+
}
|
|
13521
|
+
else if (detailResponse !== undefined) {
|
|
13522
|
+
setPrice(undefined);
|
|
13523
|
+
setHasFlight(false);
|
|
13524
|
+
setHasTransfer(false);
|
|
13525
|
+
setCurrencyCode('');
|
|
13526
|
+
}
|
|
13527
|
+
}, [detailResponse]);
|
|
13523
13528
|
useEffect(function () {
|
|
13524
13529
|
if (searchType === 1 && skipNextFetchRef.current) {
|
|
13525
13530
|
skipNextFetchRef.current = false;
|
|
@@ -20835,7 +20840,7 @@ var QSMContainer = function () {
|
|
|
20835
20840
|
var isMobile = useMediaQuery('(max-width: 768px)');
|
|
20836
20841
|
var qsmState = useSelector(function (state) { return state.qsm; });
|
|
20837
20842
|
var mobileFilterType = qsmState.mobileFilterType, fromDate = qsmState.fromDate, toDate = qsmState.toDate;
|
|
20838
|
-
var _a = useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, submitLabel = _a.submitLabel, onSubmit = _a.onSubmit;
|
|
20843
|
+
var _a = useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, submitLabel = _a.submitLabel, onSubmit = _a.onSubmit, travelTypes = _a.travelTypes;
|
|
20839
20844
|
useEffect(function () {
|
|
20840
20845
|
if (fromDate || toDate)
|
|
20841
20846
|
return;
|
|
@@ -20860,19 +20865,15 @@ var QSMContainer = function () {
|
|
|
20860
20865
|
var handleSubmit = function () {
|
|
20861
20866
|
if (!onSubmit)
|
|
20862
20867
|
return;
|
|
20863
|
-
var fromDate = qsmState.fromDate, toDate = qsmState.toDate
|
|
20868
|
+
var fromDate = qsmState.fromDate, toDate = qsmState.toDate; qsmState.travelers; var selectedTravelClass = qsmState.selectedTravelClass, selectedTravelType = qsmState.selectedTravelType, selectedNationality = qsmState.selectedNationality; qsmState.adults; qsmState.kids; qsmState.babies; var rooms = qsmState.rooms; qsmState.selectedFlexRange;
|
|
20869
|
+
var selectedTravelTypeValue = travelTypes.find(function (t) { return t.label === selectedTravelType; });
|
|
20864
20870
|
var payload = {
|
|
20865
20871
|
fromDate: fromDate,
|
|
20866
20872
|
toDate: toDate,
|
|
20867
|
-
travelers: travelers,
|
|
20868
20873
|
travelClass: selectedTravelClass,
|
|
20869
|
-
travelType:
|
|
20874
|
+
travelType: selectedTravelTypeValue,
|
|
20870
20875
|
nationality: selectedNationality,
|
|
20871
|
-
|
|
20872
|
-
kids: kids,
|
|
20873
|
-
babies: babies,
|
|
20874
|
-
rooms: rooms,
|
|
20875
|
-
dateFlexibility: selectedFlexRange
|
|
20876
|
+
rooms: rooms
|
|
20876
20877
|
};
|
|
20877
20878
|
addSearchFieldsToPayload(payload, searchFields, qsmState);
|
|
20878
20879
|
onSubmit(payload);
|
|
@@ -22005,7 +22006,7 @@ var SearchResultsContainer = function () {
|
|
|
22005
22006
|
var _g = useState([]); _g[0]; var setInitialFilters = _g[1];
|
|
22006
22007
|
useEffect(function () {
|
|
22007
22008
|
var runSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
22008
|
-
var params, from, to, rooms, country, region, oord, city, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
|
|
22009
|
+
var params, from, to, rooms, country, region, oord, city, hotel, tagId, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
|
|
22009
22010
|
var _a, _b, _c, _d, _e;
|
|
22010
22011
|
return __generator(this, function (_f) {
|
|
22011
22012
|
switch (_f.label) {
|
|
@@ -22025,6 +22026,8 @@ var SearchResultsContainer = function () {
|
|
|
22025
22026
|
region = getNumberFromParams(params, 'region');
|
|
22026
22027
|
oord = getNumberFromParams(params, 'oord');
|
|
22027
22028
|
city = getNumberFromParams(params, 'location');
|
|
22029
|
+
hotel = getNumberFromParams(params, 'hotel');
|
|
22030
|
+
tagId = getNumberFromParams(params, 'tagId');
|
|
22028
22031
|
// temp hardcoded params
|
|
22029
22032
|
if (!from || !to) {
|
|
22030
22033
|
from = '2026-04-07';
|
|
@@ -22082,7 +22085,9 @@ var SearchResultsContainer = function () {
|
|
|
22082
22085
|
maxPrice: (_e = filters.find(function (f) { return f.property === 'price'; })) === null || _e === void 0 ? void 0 : _e.selectedMax,
|
|
22083
22086
|
useExactDates: true,
|
|
22084
22087
|
onlyCachedResults: false,
|
|
22085
|
-
includeAllAllotments: true
|
|
22088
|
+
includeAllAllotments: true,
|
|
22089
|
+
productIds: hotel ? [hotel] : [],
|
|
22090
|
+
productTagIds: tagId ? [tagId] : []
|
|
22086
22091
|
}
|
|
22087
22092
|
};
|
|
22088
22093
|
config = {
|
package/package.json
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@qite/tide-booking-component",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"description": "React Booking wizard & Booking product component for Tide",
|
|
5
|
-
"main": "build/build-cjs/index.js",
|
|
6
|
-
"module": "build/build-esm/index.js",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"start": "rollup -c -w",
|
|
9
|
-
"build": "rollup -c",
|
|
10
|
-
"tsc": "tsc --noEmit",
|
|
11
|
-
"format": "prettier --write .",
|
|
12
|
-
"prepare": "husky"
|
|
13
|
-
},
|
|
14
|
-
"repository": {
|
|
15
|
-
"type": "git",
|
|
16
|
-
"url": "git+ssh://git@bitbucket.org/qitegeneral/tide-booking-component.git"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"tide",
|
|
20
|
-
"booking",
|
|
21
|
-
"react",
|
|
22
|
-
"component"
|
|
23
|
-
],
|
|
24
|
-
"author": "Qite",
|
|
25
|
-
"license": "OBSD",
|
|
26
|
-
"homepage": "https://bitbucket.org/qitegeneral/tide-booking-component#readme",
|
|
27
|
-
"devDependencies": {
|
|
28
|
-
"@jsonurl/jsonurl": "^1.1.4",
|
|
29
|
-
"@popperjs/core": "^2.10.2",
|
|
30
|
-
"@qite/tide-client": "^1.1.123",
|
|
31
|
-
"@reach/router": "^1.3.4",
|
|
32
|
-
"@reduxjs/toolkit": "^1.6.0",
|
|
33
|
-
"@rollup/plugin-commonjs": "^19.0.1",
|
|
34
|
-
"@rollup/plugin-json": "^4.1.0",
|
|
35
|
-
"@rollup/plugin-node-resolve": "^13.0.2",
|
|
36
|
-
"@types/flat": "^5.0.2",
|
|
37
|
-
"@types/lodash": "^4.14.171",
|
|
38
|
-
"@types/reach__router": "^1.3.9",
|
|
39
|
-
"@types/react": "^17.0.2",
|
|
40
|
-
"@types/react-dom": "^17.0.2",
|
|
41
|
-
"@types/uuid": "^8.3.1",
|
|
42
|
-
"date-fns": "^2.22.1",
|
|
43
|
-
"flat": "^5.0.2",
|
|
44
|
-
"formik": "^2.2.9",
|
|
45
|
-
"husky": "^9.1.7",
|
|
46
|
-
"lodash": "^4.17.21",
|
|
47
|
-
"prettier": "^2.3.2",
|
|
48
|
-
"react-popper": "^2.2.5",
|
|
49
|
-
"react-redux": "^7.2.4",
|
|
50
|
-
"rollup": "^2.53.2",
|
|
51
|
-
"rollup-plugin-delete": "^2.0.0",
|
|
52
|
-
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
53
|
-
"rollup-plugin-typescript2": "0.36.0",
|
|
54
|
-
"tslib": "^2.3.1",
|
|
55
|
-
"typescript": "^4.3.5",
|
|
56
|
-
"uuid": "^8.3.2"
|
|
57
|
-
},
|
|
58
|
-
"peerDependencies": {
|
|
59
|
-
"@jsonurl/jsonurl": "^1.1.4",
|
|
60
|
-
"@popperjs/core": "^2.10.2",
|
|
61
|
-
"@reach/router": "^1.3.4",
|
|
62
|
-
"@reduxjs/toolkit": "^1.6.0",
|
|
63
|
-
"date-fns": "^2.22.1",
|
|
64
|
-
"flat": "^5.0.2",
|
|
65
|
-
"formik": "^2.2.9",
|
|
66
|
-
"immer": "^9.0.5",
|
|
67
|
-
"lodash": "^4.17.21",
|
|
68
|
-
"react": "^17.0.2",
|
|
69
|
-
"react-dom": "^17.0.2",
|
|
70
|
-
"react-popper": "^2.2.5",
|
|
71
|
-
"react-redux": "^7.2.4",
|
|
72
|
-
"uuid": "^8.3.2"
|
|
73
|
-
},
|
|
74
|
-
"dependencies": {
|
|
75
|
-
"react-html-comment": "^2.0.16"
|
|
76
|
-
}
|
|
77
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@qite/tide-booking-component",
|
|
3
|
+
"version": "1.4.34",
|
|
4
|
+
"description": "React Booking wizard & Booking product component for Tide",
|
|
5
|
+
"main": "build/build-cjs/index.js",
|
|
6
|
+
"module": "build/build-esm/index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"start": "rollup -c -w",
|
|
9
|
+
"build": "rollup -c",
|
|
10
|
+
"tsc": "tsc --noEmit",
|
|
11
|
+
"format": "prettier --write .",
|
|
12
|
+
"prepare": "husky"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+ssh://git@bitbucket.org/qitegeneral/tide-booking-component.git"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"tide",
|
|
20
|
+
"booking",
|
|
21
|
+
"react",
|
|
22
|
+
"component"
|
|
23
|
+
],
|
|
24
|
+
"author": "Qite",
|
|
25
|
+
"license": "OBSD",
|
|
26
|
+
"homepage": "https://bitbucket.org/qitegeneral/tide-booking-component#readme",
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@jsonurl/jsonurl": "^1.1.4",
|
|
29
|
+
"@popperjs/core": "^2.10.2",
|
|
30
|
+
"@qite/tide-client": "^1.1.123",
|
|
31
|
+
"@reach/router": "^1.3.4",
|
|
32
|
+
"@reduxjs/toolkit": "^1.6.0",
|
|
33
|
+
"@rollup/plugin-commonjs": "^19.0.1",
|
|
34
|
+
"@rollup/plugin-json": "^4.1.0",
|
|
35
|
+
"@rollup/plugin-node-resolve": "^13.0.2",
|
|
36
|
+
"@types/flat": "^5.0.2",
|
|
37
|
+
"@types/lodash": "^4.14.171",
|
|
38
|
+
"@types/reach__router": "^1.3.9",
|
|
39
|
+
"@types/react": "^17.0.2",
|
|
40
|
+
"@types/react-dom": "^17.0.2",
|
|
41
|
+
"@types/uuid": "^8.3.1",
|
|
42
|
+
"date-fns": "^2.22.1",
|
|
43
|
+
"flat": "^5.0.2",
|
|
44
|
+
"formik": "^2.2.9",
|
|
45
|
+
"husky": "^9.1.7",
|
|
46
|
+
"lodash": "^4.17.21",
|
|
47
|
+
"prettier": "^2.3.2",
|
|
48
|
+
"react-popper": "^2.2.5",
|
|
49
|
+
"react-redux": "^7.2.4",
|
|
50
|
+
"rollup": "^2.53.2",
|
|
51
|
+
"rollup-plugin-delete": "^2.0.0",
|
|
52
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
53
|
+
"rollup-plugin-typescript2": "0.36.0",
|
|
54
|
+
"tslib": "^2.3.1",
|
|
55
|
+
"typescript": "^4.3.5",
|
|
56
|
+
"uuid": "^8.3.2"
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"@jsonurl/jsonurl": "^1.1.4",
|
|
60
|
+
"@popperjs/core": "^2.10.2",
|
|
61
|
+
"@reach/router": "^1.3.4",
|
|
62
|
+
"@reduxjs/toolkit": "^1.6.0",
|
|
63
|
+
"date-fns": "^2.22.1",
|
|
64
|
+
"flat": "^5.0.2",
|
|
65
|
+
"formik": "^2.2.9",
|
|
66
|
+
"immer": "^9.0.5",
|
|
67
|
+
"lodash": "^4.17.21",
|
|
68
|
+
"react": "^17.0.2",
|
|
69
|
+
"react-dom": "^17.0.2",
|
|
70
|
+
"react-popper": "^2.2.5",
|
|
71
|
+
"react-redux": "^7.2.4",
|
|
72
|
+
"uuid": "^8.3.2"
|
|
73
|
+
},
|
|
74
|
+
"dependencies": {
|
|
75
|
+
"react-html-comment": "^2.0.16"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -57,6 +57,7 @@ const Product: React.FC<ProductProps> = ({ productCode, productName, duration, r
|
|
|
57
57
|
const [hasTransfer, setHasTransfer] = useState<boolean>(false);
|
|
58
58
|
const [rooms, setRooms] = useState<ProductRoom[]>([{ adults: 2, children: 0, childAges: [] }]);
|
|
59
59
|
const [searchResponse, setSearchResponse] = useState<BookingPackageItem[]>([]);
|
|
60
|
+
const [detailResponse, setDetailResponse] = useState<any>();
|
|
60
61
|
const [dateRange, setDateRange] = useState<DateRange>();
|
|
61
62
|
const [packageProductName, setPackageProductName] = useState<string>(productName);
|
|
62
63
|
const [currencyCode, setCurrencyCode] = useState<string>('');
|
|
@@ -135,35 +136,14 @@ const Product: React.FC<ProductProps> = ({ productCode, productName, duration, r
|
|
|
135
136
|
|
|
136
137
|
setIsLoading(true);
|
|
137
138
|
|
|
138
|
-
let detailResponse;
|
|
139
139
|
if (displayMode === 'calendar' && searchType === 0) {
|
|
140
|
-
|
|
140
|
+
setDetailResponse(await packageApi.fetchDetails(detailsRequest, signal, language, apiSettingsState));
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
if (searchType === 1) {
|
|
144
144
|
setSearchResponse(await packageApi.fetchSearch(searchRequest, signal, apiSettingsState));
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
148
|
-
const selectedOption = detailResponse.payload.options.find((x) => x.isSelected);
|
|
149
|
-
|
|
150
|
-
if (selectedOption) {
|
|
151
|
-
const hasFlight = selectedOption.includedServiceTypes.some((x) => x === 7);
|
|
152
|
-
const hasTranfer = selectedOption.includedServiceTypes.some((x) => x === 13);
|
|
153
|
-
|
|
154
|
-
setPrice(selectedOption.price);
|
|
155
|
-
setHasFlight(hasFlight);
|
|
156
|
-
setHasTransfer(hasTranfer);
|
|
157
|
-
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
158
|
-
setPackageProductName(selectedOption.name);
|
|
159
|
-
}
|
|
160
|
-
} else {
|
|
161
|
-
setPrice(undefined);
|
|
162
|
-
setHasFlight(false);
|
|
163
|
-
setHasTransfer(false);
|
|
164
|
-
setCurrencyCode('');
|
|
165
|
-
}
|
|
166
|
-
|
|
167
147
|
setIsLoading(false);
|
|
168
148
|
}
|
|
169
149
|
};
|
|
@@ -256,9 +236,11 @@ const Product: React.FC<ProductProps> = ({ productCode, productName, duration, r
|
|
|
256
236
|
if (selectedItem) {
|
|
257
237
|
setPrice(selectedItem.price);
|
|
258
238
|
setPackageProductName(selectedItem.name);
|
|
239
|
+
setCurrencyCode(selectedItem.currencyCode);
|
|
259
240
|
} else {
|
|
260
241
|
setPrice(searchResponse[0].price);
|
|
261
242
|
setPackageProductName(searchResponse[0].name);
|
|
243
|
+
setCurrencyCode(searchResponse[0].currencyCode);
|
|
262
244
|
}
|
|
263
245
|
} else {
|
|
264
246
|
setSearchResults([]);
|
|
@@ -267,6 +249,28 @@ const Product: React.FC<ProductProps> = ({ productCode, productName, duration, r
|
|
|
267
249
|
}
|
|
268
250
|
}, [searchResponse]);
|
|
269
251
|
|
|
252
|
+
useEffect(() => {
|
|
253
|
+
if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
|
|
254
|
+
const selectedOption = detailResponse.payload.options.find((x: any) => x.isSelected);
|
|
255
|
+
|
|
256
|
+
if (selectedOption) {
|
|
257
|
+
const hasFlight = selectedOption.includedServiceTypes.some((x: any) => x === 7);
|
|
258
|
+
const hasTranfer = selectedOption.includedServiceTypes.some((x: any) => x === 13);
|
|
259
|
+
|
|
260
|
+
setPrice(selectedOption.price);
|
|
261
|
+
setHasFlight(hasFlight);
|
|
262
|
+
setHasTransfer(hasTranfer);
|
|
263
|
+
setCurrencyCode(detailResponse.payload.currencyCode);
|
|
264
|
+
setPackageProductName(selectedOption.name);
|
|
265
|
+
}
|
|
266
|
+
} else if (detailResponse !== undefined) {
|
|
267
|
+
setPrice(undefined);
|
|
268
|
+
setHasFlight(false);
|
|
269
|
+
setHasTransfer(false);
|
|
270
|
+
setCurrencyCode('');
|
|
271
|
+
}
|
|
272
|
+
}, [detailResponse]);
|
|
273
|
+
|
|
270
274
|
useEffect(() => {
|
|
271
275
|
if (searchType === 1 && skipNextFetchRef.current) {
|
|
272
276
|
skipNextFetchRef.current = false;
|