@qite/tide-booking-component 1.4.87 → 1.4.89
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 +385 -72
- package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +2 -2
- package/build/build-cjs/src/search-results/types.d.ts +2 -2
- package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +1 -0
- package/build/build-cjs/src/shared/components/flyin/group-tour-flyin.d.ts +8 -0
- package/build/build-esm/index.js +381 -72
- package/build/build-esm/src/search-results/store/search-results-slice.d.ts +2 -2
- package/build/build-esm/src/search-results/types.d.ts +2 -2
- package/build/build-esm/src/shared/components/flyin/flyin.d.ts +1 -0
- package/build/build-esm/src/shared/components/flyin/group-tour-flyin.d.ts +8 -0
- package/package.json +1 -1
- package/src/search-results/components/group-tour/group-tour-card.tsx +5 -11
- package/src/search-results/components/search-results-container/search-results-container.tsx +15 -8
- package/src/search-results/store/search-results-slice.ts +4 -4
- package/src/search-results/types.ts +2 -2
- package/src/shared/components/flyin/flyin.tsx +5 -4
- package/src/shared/components/flyin/group-tour-flyin.tsx +259 -0
- package/styles/components/_booking.scss +2 -2
- package/styles/components/_form.scss +3 -3
package/build/build-cjs/index.js
CHANGED
|
@@ -6721,7 +6721,7 @@ exports.DepartureRange = void 0;
|
|
|
6721
6721
|
DepartureRange[(DepartureRange['Night'] = 3)] = 'Night';
|
|
6722
6722
|
})(exports.DepartureRange || (exports.DepartureRange = {}));
|
|
6723
6723
|
|
|
6724
|
-
var formatPrice$
|
|
6724
|
+
var formatPrice$2 = function (price, currencyCode, locale) {
|
|
6725
6725
|
if (locale === void 0) {
|
|
6726
6726
|
locale = 'nl-BE';
|
|
6727
6727
|
}
|
|
@@ -6828,7 +6828,7 @@ function getLocale(code) {
|
|
|
6828
6828
|
}
|
|
6829
6829
|
}
|
|
6830
6830
|
var getPriceDifferenceText = function (price, currencyCode) {
|
|
6831
|
-
return price > 0 ? '+ '.concat(formatPrice$
|
|
6831
|
+
return price > 0 ? '+ '.concat(formatPrice$2(Math.abs(price), currencyCode)) : '- '.concat(formatPrice$2(Math.abs(price), currencyCode));
|
|
6832
6832
|
};
|
|
6833
6833
|
function format(text, args) {
|
|
6834
6834
|
return text.replace(/{([0-9]+)}/g, function (match, index) {
|
|
@@ -13552,16 +13552,16 @@ var formatPriceByMode = function (price, priceMode, personCount, duration, perPe
|
|
|
13552
13552
|
if (!price) return '';
|
|
13553
13553
|
switch (priceMode) {
|
|
13554
13554
|
case 0:
|
|
13555
|
-
return ''.concat(formatPrice$
|
|
13555
|
+
return ''.concat(formatPrice$2(price, currencyCode));
|
|
13556
13556
|
case 1:
|
|
13557
13557
|
var perPersonPrice = price / personCount;
|
|
13558
|
-
return ''.concat(formatPrice$
|
|
13558
|
+
return ''.concat(formatPrice$2(perPersonPrice, currencyCode), ' / ').concat(perPersonLabel);
|
|
13559
13559
|
case 2:
|
|
13560
13560
|
var perNightPrice = price / duration;
|
|
13561
|
-
return ''.concat(formatPrice$
|
|
13561
|
+
return ''.concat(formatPrice$2(perNightPrice, currencyCode), ' / ').concat(perNightLabel);
|
|
13562
13562
|
case 3:
|
|
13563
13563
|
var perPersonPerNightPrice = price / duration;
|
|
13564
|
-
return ''.concat(formatPrice$
|
|
13564
|
+
return ''.concat(formatPrice$2(perPersonPerNightPrice, currencyCode), ' / ').concat(perPersonPerNightLabel);
|
|
13565
13565
|
}
|
|
13566
13566
|
};
|
|
13567
13567
|
|
|
@@ -22039,7 +22039,7 @@ var NoneOption = function (_a) {
|
|
|
22039
22039
|
return x.requirementType === 2;
|
|
22040
22040
|
});
|
|
22041
22041
|
var noneSelected = !selectedOption;
|
|
22042
|
-
var priceDifferencetext = selectedOption ? '- '.concat(formatPrice$
|
|
22042
|
+
var priceDifferencetext = selectedOption ? '- '.concat(formatPrice$2(Math.abs(selectedOption.line.price), currencyCode)) : '';
|
|
22043
22043
|
return React__default['default'].createElement(
|
|
22044
22044
|
React__default['default'].Fragment,
|
|
22045
22045
|
null,
|
|
@@ -23316,7 +23316,7 @@ var OptionRoom = function (_a) {
|
|
|
23316
23316
|
e.preventDefault();
|
|
23317
23317
|
};
|
|
23318
23318
|
var getPriceDifferenceText = function (price) {
|
|
23319
|
-
return price > 0 ? '+ '.concat(formatPrice$
|
|
23319
|
+
return price > 0 ? '+ '.concat(formatPrice$2(Math.abs(price), currencyCode)) : '- '.concat(formatPrice$2(Math.abs(price), currencyCode));
|
|
23320
23320
|
};
|
|
23321
23321
|
var getAccommodationPriceDifference = function (accommodation) {
|
|
23322
23322
|
var _a;
|
|
@@ -24847,7 +24847,7 @@ var Sidebar = function (_a) {
|
|
|
24847
24847
|
{ className: 'pricing-summary__property' },
|
|
24848
24848
|
React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
|
|
24849
24849
|
),
|
|
24850
|
-
React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$
|
|
24850
|
+
React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$2(basePrice, currencyCode))
|
|
24851
24851
|
),
|
|
24852
24852
|
basePricePerPaxType &&
|
|
24853
24853
|
basePricePerPaxType.map(function (ppt, index) {
|
|
@@ -24867,7 +24867,7 @@ var Sidebar = function (_a) {
|
|
|
24867
24867
|
React__default['default'].createElement(
|
|
24868
24868
|
'div',
|
|
24869
24869
|
{ className: 'pricing-summary__value' },
|
|
24870
|
-
formatPrice$
|
|
24870
|
+
formatPrice$2(ppt.pricePerPaxType, currencyCode)
|
|
24871
24871
|
)
|
|
24872
24872
|
),
|
|
24873
24873
|
ppt.details.map(function (detail, dIndex) {
|
|
@@ -24887,7 +24887,7 @@ var Sidebar = function (_a) {
|
|
|
24887
24887
|
React__default['default'].createElement(
|
|
24888
24888
|
'div',
|
|
24889
24889
|
{ className: 'pricing-summary__value' },
|
|
24890
|
-
formatPrice$
|
|
24890
|
+
formatPrice$2(detail.price / detail.numberOfPax, currencyCode)
|
|
24891
24891
|
)
|
|
24892
24892
|
);
|
|
24893
24893
|
})
|
|
@@ -24914,7 +24914,7 @@ var Sidebar = function (_a) {
|
|
|
24914
24914
|
React__default['default'].createElement(
|
|
24915
24915
|
'div',
|
|
24916
24916
|
{ className: 'pricing-summary__value' },
|
|
24917
|
-
formatPrice$
|
|
24917
|
+
formatPrice$2(priceDetail.price * priceDetail.amount, currencyCode)
|
|
24918
24918
|
)
|
|
24919
24919
|
),
|
|
24920
24920
|
React__default['default'].createElement(
|
|
@@ -24949,7 +24949,7 @@ var Sidebar = function (_a) {
|
|
|
24949
24949
|
React__default['default'].createElement(
|
|
24950
24950
|
'div',
|
|
24951
24951
|
{ className: 'pricing-summary__value' },
|
|
24952
|
-
formatPrice$
|
|
24952
|
+
formatPrice$2(priceDetail.price * priceDetail.amount, currencyCode)
|
|
24953
24953
|
)
|
|
24954
24954
|
),
|
|
24955
24955
|
React__default['default'].createElement(
|
|
@@ -24979,7 +24979,7 @@ var Sidebar = function (_a) {
|
|
|
24979
24979
|
React__default['default'].createElement(
|
|
24980
24980
|
'div',
|
|
24981
24981
|
{ className: 'pricing-summary__value' },
|
|
24982
|
-
formatPrice$
|
|
24982
|
+
formatPrice$2(ppt.pricePerPaxType, currencyCode)
|
|
24983
24983
|
)
|
|
24984
24984
|
),
|
|
24985
24985
|
ppt.details.map(function (detail, dIndex) {
|
|
@@ -24999,7 +24999,7 @@ var Sidebar = function (_a) {
|
|
|
24999
24999
|
React__default['default'].createElement(
|
|
25000
25000
|
'div',
|
|
25001
25001
|
{ className: 'pricing-summary__value' },
|
|
25002
|
-
formatPrice$
|
|
25002
|
+
formatPrice$2(detail.price / detail.numberOfPax, currencyCode)
|
|
25003
25003
|
)
|
|
25004
25004
|
);
|
|
25005
25005
|
})
|
|
@@ -25041,7 +25041,7 @@ var Sidebar = function (_a) {
|
|
|
25041
25041
|
React__default['default'].createElement(
|
|
25042
25042
|
'div',
|
|
25043
25043
|
{ className: 'pricing' },
|
|
25044
|
-
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25044
|
+
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$2(totalPrice, currencyCode))
|
|
25045
25045
|
)
|
|
25046
25046
|
)
|
|
25047
25047
|
),
|
|
@@ -25059,7 +25059,7 @@ var Sidebar = function (_a) {
|
|
|
25059
25059
|
React__default['default'].createElement(
|
|
25060
25060
|
'div',
|
|
25061
25061
|
{ className: 'pricing' },
|
|
25062
|
-
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25062
|
+
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$2(deposit, currencyCode))
|
|
25063
25063
|
)
|
|
25064
25064
|
)
|
|
25065
25065
|
),
|
|
@@ -25075,7 +25075,7 @@ var Sidebar = function (_a) {
|
|
|
25075
25075
|
translations.SIDEBAR.DEPOSIT_TEXT1,
|
|
25076
25076
|
React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
|
|
25077
25077
|
translations.SIDEBAR.DEPOSIT_TEXT3,
|
|
25078
|
-
formatPrice$
|
|
25078
|
+
formatPrice$2(remainingAmount, currencyCode),
|
|
25079
25079
|
translations.SIDEBAR.DEPOSIT_TEXT4,
|
|
25080
25080
|
React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
|
|
25081
25081
|
translations.SIDEBAR.DEPOSIT_TEXT6
|
|
@@ -25102,7 +25102,7 @@ var Sidebar = function (_a) {
|
|
|
25102
25102
|
React__default['default'].createElement(
|
|
25103
25103
|
'div',
|
|
25104
25104
|
{ className: 'pricing' },
|
|
25105
|
-
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$
|
|
25105
|
+
React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$2(totalPrice, currencyCode))
|
|
25106
25106
|
)
|
|
25107
25107
|
)
|
|
25108
25108
|
)
|
|
@@ -33675,7 +33675,7 @@ var _a;
|
|
|
33675
33675
|
var initialState$1 = {
|
|
33676
33676
|
results: [],
|
|
33677
33677
|
filteredResults: [],
|
|
33678
|
-
|
|
33678
|
+
selectedSearchResult: null,
|
|
33679
33679
|
packagingAccoResults: [],
|
|
33680
33680
|
filteredPackagingAccoResults: [],
|
|
33681
33681
|
packagingAccoSearchDetails: [],
|
|
@@ -33702,7 +33702,7 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
33702
33702
|
state.filteredResults = action.payload;
|
|
33703
33703
|
},
|
|
33704
33704
|
setSelectedSearchResult: function (state, action) {
|
|
33705
|
-
state.
|
|
33705
|
+
state.selectedSearchResult = action.payload;
|
|
33706
33706
|
},
|
|
33707
33707
|
setPackagingAccoResults: function (state, action) {
|
|
33708
33708
|
state.packagingAccoResults = action.payload;
|
|
@@ -34983,7 +34983,7 @@ var Itinerary = function (_a) {
|
|
|
34983
34983
|
React__default['default'].createElement(
|
|
34984
34984
|
'h3',
|
|
34985
34985
|
{ className: 'search__filter__prices--amount' },
|
|
34986
|
-
formatPrice$
|
|
34986
|
+
formatPrice$2(
|
|
34987
34987
|
((entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0) /
|
|
34988
34988
|
((entry === null || entry === void 0 ? void 0 : entry.numberOfPax) || 1),
|
|
34989
34989
|
(entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR'
|
|
@@ -34997,7 +34997,7 @@ var Itinerary = function (_a) {
|
|
|
34997
34997
|
'strong',
|
|
34998
34998
|
null,
|
|
34999
34999
|
'(',
|
|
35000
|
-
formatPrice$
|
|
35000
|
+
formatPrice$2(
|
|
35001
35001
|
(entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0,
|
|
35002
35002
|
(entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR'
|
|
35003
35003
|
),
|
|
@@ -38066,7 +38066,7 @@ var FlightsFlyIn = function (_a) {
|
|
|
38066
38066
|
);
|
|
38067
38067
|
};
|
|
38068
38068
|
|
|
38069
|
-
var formatPrice = function (price, currencyCode) {
|
|
38069
|
+
var formatPrice$1 = function (price, currencyCode) {
|
|
38070
38070
|
if (currencyCode === void 0) {
|
|
38071
38071
|
currencyCode = 'EUR';
|
|
38072
38072
|
}
|
|
@@ -38197,7 +38197,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38197
38197
|
var totalPrice = selectedOptions.reduce(function (total, option) {
|
|
38198
38198
|
return total + (option.price || 0);
|
|
38199
38199
|
}, 0);
|
|
38200
|
-
return formatPrice(totalPrice, selectedPackagingAccoSearchDetails.currencyCode);
|
|
38200
|
+
return formatPrice$1(totalPrice, selectedPackagingAccoSearchDetails.currencyCode);
|
|
38201
38201
|
};
|
|
38202
38202
|
var getPriceDifference = function (currentSelectedPrice, roomIndex, accommodationCode, regimeId) {
|
|
38203
38203
|
var targetPrice = 0;
|
|
@@ -38222,7 +38222,7 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38222
38222
|
if (difference === 0) {
|
|
38223
38223
|
return null;
|
|
38224
38224
|
}
|
|
38225
|
-
var formattedAbsoluteValue = formatPrice(Math.abs(difference), currencyCode);
|
|
38225
|
+
var formattedAbsoluteValue = formatPrice$1(Math.abs(difference), currencyCode);
|
|
38226
38226
|
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
38227
38227
|
};
|
|
38228
38228
|
var getPriceDifferenceClassName = function (difference) {
|
|
@@ -38503,6 +38503,320 @@ var AccommodationFlyIn = function (_a) {
|
|
|
38503
38503
|
// </>
|
|
38504
38504
|
};
|
|
38505
38505
|
|
|
38506
|
+
var formatPrice = function (price, currencyCode) {
|
|
38507
|
+
if (currencyCode === void 0) {
|
|
38508
|
+
currencyCode = 'EUR';
|
|
38509
|
+
}
|
|
38510
|
+
if (typeof price !== 'number') return '';
|
|
38511
|
+
return new Intl.NumberFormat('nl-BE', {
|
|
38512
|
+
style: 'currency',
|
|
38513
|
+
currency: currencyCode
|
|
38514
|
+
}).format(price);
|
|
38515
|
+
};
|
|
38516
|
+
var GroupTourFlyIn = function (_a) {
|
|
38517
|
+
var _b, _c;
|
|
38518
|
+
var isLoading = _a.isLoading,
|
|
38519
|
+
isOpen = _a.isOpen,
|
|
38520
|
+
setIsOpen = _a.setIsOpen;
|
|
38521
|
+
var dispatch = reactRedux.useDispatch();
|
|
38522
|
+
var context = React.useContext(SearchResultsConfigurationContext);
|
|
38523
|
+
if (isLoading) {
|
|
38524
|
+
return React__default['default'].createElement(
|
|
38525
|
+
React__default['default'].Fragment,
|
|
38526
|
+
null,
|
|
38527
|
+
(_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0
|
|
38528
|
+
? _b
|
|
38529
|
+
: React__default['default'].createElement(Spinner, null)
|
|
38530
|
+
);
|
|
38531
|
+
}
|
|
38532
|
+
var language = (_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB';
|
|
38533
|
+
var translations = getTranslations(language);
|
|
38534
|
+
var bookingPackageDetails = reactRedux.useSelector(function (state) {
|
|
38535
|
+
return state.searchResults;
|
|
38536
|
+
}).bookingPackageDetails;
|
|
38537
|
+
var selectedBookingPackageDetails = React.useMemo(
|
|
38538
|
+
function () {
|
|
38539
|
+
var _a;
|
|
38540
|
+
return (_a = bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.options) === null || _a === void 0
|
|
38541
|
+
? void 0
|
|
38542
|
+
: _a.find(function (x) {
|
|
38543
|
+
return x.isSelected;
|
|
38544
|
+
});
|
|
38545
|
+
},
|
|
38546
|
+
[bookingPackageDetails]
|
|
38547
|
+
);
|
|
38548
|
+
var groupedRooms = React.useMemo(
|
|
38549
|
+
function () {
|
|
38550
|
+
if (!(selectedBookingPackageDetails === null || selectedBookingPackageDetails === void 0 ? void 0 : selectedBookingPackageDetails.rooms)) return [];
|
|
38551
|
+
return selectedBookingPackageDetails.rooms.map(function (room) {
|
|
38552
|
+
var groupedMap = new Map();
|
|
38553
|
+
room.options.forEach(function (option) {
|
|
38554
|
+
var _a, _b;
|
|
38555
|
+
var key = option.accommodationCode;
|
|
38556
|
+
if (!groupedMap.has(key)) {
|
|
38557
|
+
groupedMap.set(key, {
|
|
38558
|
+
accommodationCode: option.accommodationCode,
|
|
38559
|
+
accommodationName: option.accommodationName,
|
|
38560
|
+
regimes: []
|
|
38561
|
+
});
|
|
38562
|
+
}
|
|
38563
|
+
(_a = groupedMap.get(key)) === null || _a === void 0
|
|
38564
|
+
? void 0
|
|
38565
|
+
: _a.regimes.push({
|
|
38566
|
+
id: option.entryLineGuid,
|
|
38567
|
+
label: (_b = option.regimeName) !== null && _b !== void 0 ? _b : 'No regime'
|
|
38568
|
+
});
|
|
38569
|
+
});
|
|
38570
|
+
return Array.from(groupedMap.values());
|
|
38571
|
+
});
|
|
38572
|
+
},
|
|
38573
|
+
[selectedBookingPackageDetails]
|
|
38574
|
+
);
|
|
38575
|
+
if (!bookingPackageDetails) {
|
|
38576
|
+
return null;
|
|
38577
|
+
}
|
|
38578
|
+
var getSelectedOptionForRoom = function (roomIndex) {
|
|
38579
|
+
var _a, _b, _c;
|
|
38580
|
+
return (_c =
|
|
38581
|
+
(_b =
|
|
38582
|
+
(_a = selectedBookingPackageDetails === null || selectedBookingPackageDetails === void 0 ? void 0 : selectedBookingPackageDetails.rooms) === null ||
|
|
38583
|
+
_a === void 0
|
|
38584
|
+
? void 0
|
|
38585
|
+
: _a[roomIndex]) === null || _b === void 0
|
|
38586
|
+
? void 0
|
|
38587
|
+
: _b.options) === null || _c === void 0
|
|
38588
|
+
? void 0
|
|
38589
|
+
: _c.find(function (option) {
|
|
38590
|
+
return option.isSelected;
|
|
38591
|
+
});
|
|
38592
|
+
};
|
|
38593
|
+
var getSelectedOptionForAccommodation = function (roomIndex, accommodationCode) {
|
|
38594
|
+
var _a, _b, _c;
|
|
38595
|
+
return (_c =
|
|
38596
|
+
(_b =
|
|
38597
|
+
(_a = selectedBookingPackageDetails === null || selectedBookingPackageDetails === void 0 ? void 0 : selectedBookingPackageDetails.rooms) === null ||
|
|
38598
|
+
_a === void 0
|
|
38599
|
+
? void 0
|
|
38600
|
+
: _a[roomIndex]) === null || _b === void 0
|
|
38601
|
+
? void 0
|
|
38602
|
+
: _b.options) === null || _c === void 0
|
|
38603
|
+
? void 0
|
|
38604
|
+
: _c.find(function (option) {
|
|
38605
|
+
return option.accommodationCode === accommodationCode && option.isSelected;
|
|
38606
|
+
});
|
|
38607
|
+
};
|
|
38608
|
+
var handlePick = function (roomIndex, selectedGuid) {
|
|
38609
|
+
if (!bookingPackageDetails || !selectedBookingPackageDetails) return;
|
|
38610
|
+
var updatedBookingPackageDetails = __assign(__assign({}, bookingPackageDetails), {
|
|
38611
|
+
options: bookingPackageDetails.options.map(function (bookingOption) {
|
|
38612
|
+
if (!bookingOption.isSelected) {
|
|
38613
|
+
return bookingOption;
|
|
38614
|
+
}
|
|
38615
|
+
return __assign(__assign({}, bookingOption), {
|
|
38616
|
+
rooms: bookingOption.rooms.map(function (room, currentRoomIndex) {
|
|
38617
|
+
if (currentRoomIndex !== roomIndex) {
|
|
38618
|
+
return room;
|
|
38619
|
+
}
|
|
38620
|
+
return __assign(__assign({}, room), {
|
|
38621
|
+
options: room.options.map(function (roomOption) {
|
|
38622
|
+
return __assign(__assign({}, roomOption), { isSelected: roomOption.entryLineGuid === selectedGuid });
|
|
38623
|
+
})
|
|
38624
|
+
});
|
|
38625
|
+
})
|
|
38626
|
+
});
|
|
38627
|
+
})
|
|
38628
|
+
});
|
|
38629
|
+
dispatch(setBookingPackageDetails({ details: updatedBookingPackageDetails }));
|
|
38630
|
+
};
|
|
38631
|
+
var handleConfirm = function () {
|
|
38632
|
+
if (isOpen) {
|
|
38633
|
+
setIsOpen(false);
|
|
38634
|
+
}
|
|
38635
|
+
console.log('Booking package details sent to onBook callback:', bookingPackageDetails);
|
|
38636
|
+
if (context === null || context === void 0 ? void 0 : context.onBook) {
|
|
38637
|
+
context.onBook(bookingPackageDetails);
|
|
38638
|
+
}
|
|
38639
|
+
};
|
|
38640
|
+
var calculateTotalPrice = function () {
|
|
38641
|
+
var selectedOptions =
|
|
38642
|
+
selectedBookingPackageDetails === null || selectedBookingPackageDetails === void 0
|
|
38643
|
+
? void 0
|
|
38644
|
+
: selectedBookingPackageDetails.rooms.flatMap(function (room) {
|
|
38645
|
+
return room.options.filter(function (option) {
|
|
38646
|
+
return option.isSelected;
|
|
38647
|
+
});
|
|
38648
|
+
});
|
|
38649
|
+
var totalPrice =
|
|
38650
|
+
selectedOptions === null || selectedOptions === void 0
|
|
38651
|
+
? void 0
|
|
38652
|
+
: selectedOptions.reduce(function (total, option) {
|
|
38653
|
+
return total + (option.price || 0);
|
|
38654
|
+
}, 0);
|
|
38655
|
+
return formatPrice(totalPrice, bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.currencyCode);
|
|
38656
|
+
};
|
|
38657
|
+
var getPriceDifference = function (currentSelectedPrice, roomIndex, accommodationCode, regimeId) {
|
|
38658
|
+
var targetPrice = 0;
|
|
38659
|
+
var selectedOption = getSelectedOptionForAccommodation(roomIndex, accommodationCode);
|
|
38660
|
+
if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.price) {
|
|
38661
|
+
targetPrice = selectedOption.price;
|
|
38662
|
+
} else {
|
|
38663
|
+
var firstOption =
|
|
38664
|
+
selectedBookingPackageDetails === null || selectedBookingPackageDetails === void 0
|
|
38665
|
+
? void 0
|
|
38666
|
+
: selectedBookingPackageDetails.rooms[roomIndex].options.find(function (option) {
|
|
38667
|
+
return option.accommodationCode === accommodationCode;
|
|
38668
|
+
});
|
|
38669
|
+
targetPrice = (firstOption === null || firstOption === void 0 ? void 0 : firstOption.price) || 0;
|
|
38670
|
+
}
|
|
38671
|
+
if (regimeId) {
|
|
38672
|
+
var regimeOption =
|
|
38673
|
+
selectedBookingPackageDetails === null || selectedBookingPackageDetails === void 0
|
|
38674
|
+
? void 0
|
|
38675
|
+
: selectedBookingPackageDetails.rooms[roomIndex].options.find(function (option) {
|
|
38676
|
+
return option.entryLineGuid === regimeId;
|
|
38677
|
+
});
|
|
38678
|
+
targetPrice = (regimeOption === null || regimeOption === void 0 ? void 0 : regimeOption.price) || 0;
|
|
38679
|
+
}
|
|
38680
|
+
return targetPrice - (currentSelectedPrice || 0);
|
|
38681
|
+
};
|
|
38682
|
+
var formatPriceDifference = function (difference, currencyCode) {
|
|
38683
|
+
if (difference === 0) {
|
|
38684
|
+
return null;
|
|
38685
|
+
}
|
|
38686
|
+
var formattedAbsoluteValue = formatPrice(Math.abs(difference), currencyCode);
|
|
38687
|
+
return ''.concat(difference > 0 ? '+' : '-', ' ').concat(formattedAbsoluteValue);
|
|
38688
|
+
};
|
|
38689
|
+
var getPriceDifferenceClassName = function (difference) {
|
|
38690
|
+
if (difference < 0) {
|
|
38691
|
+
return 'flyin__acco__price flyin__acco__price--decrease';
|
|
38692
|
+
}
|
|
38693
|
+
if (difference > 0) {
|
|
38694
|
+
return 'flyin__acco__price flyin__acco__price--increase';
|
|
38695
|
+
}
|
|
38696
|
+
return 'flyin__acco__price';
|
|
38697
|
+
};
|
|
38698
|
+
var regimeFormatter = function (roomIndex, accommodation, regimeId, label) {
|
|
38699
|
+
var roomOption = getSelectedOptionForRoom(roomIndex);
|
|
38700
|
+
var difference = getPriceDifference(
|
|
38701
|
+
roomOption === null || roomOption === void 0 ? void 0 : roomOption.price,
|
|
38702
|
+
roomIndex,
|
|
38703
|
+
accommodation.accommodationCode,
|
|
38704
|
+
regimeId
|
|
38705
|
+
);
|
|
38706
|
+
return ''.concat(label, ' ').concat(difference !== 0 ? '('.concat(formatPriceDifference(difference, bookingPackageDetails.currencyCode), ')') : '');
|
|
38707
|
+
};
|
|
38708
|
+
return React__default['default'].createElement(
|
|
38709
|
+
React__default['default'].Fragment,
|
|
38710
|
+
null,
|
|
38711
|
+
React__default['default'].createElement(
|
|
38712
|
+
'div',
|
|
38713
|
+
{ className: 'flyin__content' },
|
|
38714
|
+
groupedRooms.map(function (roomAccommodations, roomIndex) {
|
|
38715
|
+
var selectedRoomOption = getSelectedOptionForRoom(roomIndex);
|
|
38716
|
+
return React__default['default'].createElement(
|
|
38717
|
+
'div',
|
|
38718
|
+
{ className: 'flyin__acco', key: 'room-'.concat(roomIndex) },
|
|
38719
|
+
React__default['default'].createElement('h3', { className: 'flyin__acco__room-title' }, 'Room ', roomIndex + 1),
|
|
38720
|
+
React__default['default'].createElement(
|
|
38721
|
+
'div',
|
|
38722
|
+
{ className: 'flyin__acco__cards' },
|
|
38723
|
+
roomAccommodations.map(function (accommodation) {
|
|
38724
|
+
var _a;
|
|
38725
|
+
var selectedOption = getSelectedOptionForAccommodation(roomIndex, accommodation.accommodationCode);
|
|
38726
|
+
var priceDifference = getPriceDifference(
|
|
38727
|
+
selectedRoomOption === null || selectedRoomOption === void 0 ? void 0 : selectedRoomOption.price,
|
|
38728
|
+
roomIndex,
|
|
38729
|
+
accommodation.accommodationCode
|
|
38730
|
+
);
|
|
38731
|
+
return React__default['default'].createElement(
|
|
38732
|
+
'div',
|
|
38733
|
+
{ className: 'flyin__acco__card', key: ''.concat(roomIndex, '-').concat(accommodation.accommodationCode) },
|
|
38734
|
+
React__default['default'].createElement(
|
|
38735
|
+
'div',
|
|
38736
|
+
{ className: 'flyin__acco__content' },
|
|
38737
|
+
React__default['default'].createElement('h4', { className: 'flyin__acco__title' }, accommodation.accommodationName)
|
|
38738
|
+
),
|
|
38739
|
+
React__default['default'].createElement(
|
|
38740
|
+
'div',
|
|
38741
|
+
{ className: 'flyin__acco__footer' },
|
|
38742
|
+
React__default['default'].createElement(ItemPicker$1, {
|
|
38743
|
+
items: accommodation.regimes,
|
|
38744
|
+
selection: selectedOption != null ? ((_a = selectedOption.regimeName) !== null && _a !== void 0 ? _a : 'No regime') : undefined,
|
|
38745
|
+
label: '',
|
|
38746
|
+
placeholder: 'Select regime',
|
|
38747
|
+
classModifier: '',
|
|
38748
|
+
onPick: function (selected, selectedGuid) {
|
|
38749
|
+
return handlePick(roomIndex, selectedGuid);
|
|
38750
|
+
},
|
|
38751
|
+
valueFormatter: function (id, label) {
|
|
38752
|
+
return regimeFormatter(roomIndex, accommodation, id, label);
|
|
38753
|
+
}
|
|
38754
|
+
}),
|
|
38755
|
+
React__default['default'].createElement(
|
|
38756
|
+
'div',
|
|
38757
|
+
{ className: 'flyin__acco__footer__actions' },
|
|
38758
|
+
React__default['default'].createElement(
|
|
38759
|
+
'button',
|
|
38760
|
+
{
|
|
38761
|
+
className:
|
|
38762
|
+
(selectedRoomOption === null || selectedRoomOption === void 0 ? void 0 : selectedRoomOption.accommodationCode) ==
|
|
38763
|
+
accommodation.accommodationCode
|
|
38764
|
+
? 'cta cta--select cta--selected'
|
|
38765
|
+
: 'cta cta--select',
|
|
38766
|
+
onClick: function () {
|
|
38767
|
+
var _a;
|
|
38768
|
+
handlePick(
|
|
38769
|
+
roomIndex,
|
|
38770
|
+
selectedOption
|
|
38771
|
+
? selectedOption.entryLineGuid
|
|
38772
|
+
: (_a = lodash.first(accommodation.regimes)) === null || _a === void 0
|
|
38773
|
+
? void 0
|
|
38774
|
+
: _a.id
|
|
38775
|
+
);
|
|
38776
|
+
}
|
|
38777
|
+
},
|
|
38778
|
+
(selectedRoomOption === null || selectedRoomOption === void 0 ? void 0 : selectedRoomOption.accommodationCode) ==
|
|
38779
|
+
accommodation.accommodationCode
|
|
38780
|
+
? translations === null || translations === void 0
|
|
38781
|
+
? void 0
|
|
38782
|
+
: translations.SHARED.SELECTED
|
|
38783
|
+
: translations === null || translations === void 0
|
|
38784
|
+
? void 0
|
|
38785
|
+
: translations.SHARED.SELECT
|
|
38786
|
+
),
|
|
38787
|
+
React__default['default'].createElement(
|
|
38788
|
+
'div',
|
|
38789
|
+
{ className: 'flyin__acco__price__wrapper' },
|
|
38790
|
+
React__default['default'].createElement(
|
|
38791
|
+
'span',
|
|
38792
|
+
{ className: getPriceDifferenceClassName(priceDifference) },
|
|
38793
|
+
formatPriceDifference(
|
|
38794
|
+
priceDifference,
|
|
38795
|
+
bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.currencyCode
|
|
38796
|
+
)
|
|
38797
|
+
)
|
|
38798
|
+
)
|
|
38799
|
+
)
|
|
38800
|
+
)
|
|
38801
|
+
);
|
|
38802
|
+
})
|
|
38803
|
+
)
|
|
38804
|
+
);
|
|
38805
|
+
})
|
|
38806
|
+
),
|
|
38807
|
+
React__default['default'].createElement(
|
|
38808
|
+
'div',
|
|
38809
|
+
{ className: 'flyin__footer' },
|
|
38810
|
+
React__default['default'].createElement('div', { className: 'flyin__footer__price' }, 'Total price: ', calculateTotalPrice()),
|
|
38811
|
+
React__default['default'].createElement(
|
|
38812
|
+
'div',
|
|
38813
|
+
{ className: 'flyin__button-wrapper' },
|
|
38814
|
+
React__default['default'].createElement('button', { className: 'cta cta--select', onClick: handleConfirm }, translations.PRODUCT.BOOK_NOW)
|
|
38815
|
+
)
|
|
38816
|
+
)
|
|
38817
|
+
);
|
|
38818
|
+
};
|
|
38819
|
+
|
|
38506
38820
|
var FlyIn = function (_a) {
|
|
38507
38821
|
var title = _a.title,
|
|
38508
38822
|
srpType = _a.srpType,
|
|
@@ -38510,7 +38824,8 @@ var FlyIn = function (_a) {
|
|
|
38510
38824
|
setIsOpen = _a.setIsOpen,
|
|
38511
38825
|
_b = _a.className,
|
|
38512
38826
|
className = _b === void 0 ? '' : _b,
|
|
38513
|
-
onPanelRef = _a.onPanelRef
|
|
38827
|
+
onPanelRef = _a.onPanelRef,
|
|
38828
|
+
detailsLoading = _a.detailsLoading;
|
|
38514
38829
|
var dispatch = reactRedux.useDispatch();
|
|
38515
38830
|
var onCancelSearch = useFlightSearch().onCancelSearch;
|
|
38516
38831
|
var panelRef = React.useRef(null);
|
|
@@ -38585,8 +38900,10 @@ var FlyIn = function (_a) {
|
|
|
38585
38900
|
)
|
|
38586
38901
|
),
|
|
38587
38902
|
srpType === build.PortalQsmType.Flight && React__default['default'].createElement(FlightsFlyIn, { isOpen: isOpen, setIsOpen: setIsOpen }),
|
|
38588
|
-
|
|
38589
|
-
React__default['default'].createElement(AccommodationFlyIn, { isLoading: true, isOpen: isOpen, setIsOpen: setIsOpen })
|
|
38903
|
+
srpType === build.PortalQsmType.Accommodation &&
|
|
38904
|
+
React__default['default'].createElement(AccommodationFlyIn, { isLoading: true, isOpen: isOpen, setIsOpen: setIsOpen }),
|
|
38905
|
+
srpType === build.PortalQsmType.GroupTour &&
|
|
38906
|
+
React__default['default'].createElement(GroupTourFlyIn, { isLoading: detailsLoading, isOpen: isOpen, setIsOpen: setIsOpen })
|
|
38590
38907
|
)
|
|
38591
38908
|
);
|
|
38592
38909
|
};
|
|
@@ -42897,7 +43214,7 @@ var getBaseHotelResult = function (searchResult, cmsItem, languageCode, translat
|
|
|
42897
43214
|
searchResult.countryName,
|
|
42898
43215
|
(_h = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.parentItem) === null || _h === void 0 ? void 0 : _h.name
|
|
42899
43216
|
),
|
|
42900
|
-
price: formatPrice$
|
|
43217
|
+
price: formatPrice$2(searchResult.price, searchResult.currencyCode, languageCode),
|
|
42901
43218
|
ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS
|
|
42902
43219
|
};
|
|
42903
43220
|
};
|
|
@@ -43681,7 +43998,7 @@ var PairedFlightOption = function (_a) {
|
|
|
43681
43998
|
React__default['default'].createElement(
|
|
43682
43999
|
'span',
|
|
43683
44000
|
{ className: 'price' },
|
|
43684
|
-
formatPrice$
|
|
44001
|
+
formatPrice$2(
|
|
43685
44002
|
item.price,
|
|
43686
44003
|
'EUR',
|
|
43687
44004
|
(_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB'
|
|
@@ -45957,9 +46274,9 @@ var GroupTourCard = function (_a) {
|
|
|
45957
46274
|
languageCode = _a.languageCode,
|
|
45958
46275
|
cmsItem = _a.cmsItem;
|
|
45959
46276
|
var context = React.useContext(SearchResultsConfigurationContext);
|
|
45960
|
-
var
|
|
46277
|
+
var selectedSearchResult = reactRedux.useSelector(function (state) {
|
|
45961
46278
|
return state.searchResults;
|
|
45962
|
-
}).
|
|
46279
|
+
}).selectedSearchResult;
|
|
45963
46280
|
if (!context) {
|
|
45964
46281
|
return;
|
|
45965
46282
|
}
|
|
@@ -45975,9 +46292,8 @@ var GroupTourCard = function (_a) {
|
|
|
45975
46292
|
var otherCount = genders.filter(function (g) {
|
|
45976
46293
|
return g === 2;
|
|
45977
46294
|
}).length;
|
|
45978
|
-
var handleChange = function (
|
|
45979
|
-
|
|
45980
|
-
dispatch(setSelectedSearchResult(productId));
|
|
46295
|
+
var handleChange = function (result) {
|
|
46296
|
+
dispatch(setSelectedSearchResult(result));
|
|
45981
46297
|
};
|
|
45982
46298
|
return React__default['default'].createElement(
|
|
45983
46299
|
'div',
|
|
@@ -46092,7 +46408,7 @@ var GroupTourCard = function (_a) {
|
|
|
46092
46408
|
React__default['default'].createElement(
|
|
46093
46409
|
'div',
|
|
46094
46410
|
{ className: 'search__result-card__allotment__price' },
|
|
46095
|
-
formatPrice$
|
|
46411
|
+
formatPrice$2(result.price, result.currencyCode, languageCode),
|
|
46096
46412
|
' ',
|
|
46097
46413
|
translations.PRODUCT.PER_PERSON
|
|
46098
46414
|
)
|
|
@@ -46101,23 +46417,12 @@ var GroupTourCard = function (_a) {
|
|
|
46101
46417
|
'button',
|
|
46102
46418
|
{
|
|
46103
46419
|
type: 'button',
|
|
46104
|
-
className: 'cta cta--select',
|
|
46420
|
+
className: 'cta '.concat(selectedSearchResult === result ? 'cta--selected' : 'cta--select'),
|
|
46105
46421
|
onClick: function () {
|
|
46106
|
-
return
|
|
46422
|
+
return handleChange(result);
|
|
46107
46423
|
}
|
|
46108
46424
|
},
|
|
46109
|
-
|
|
46110
|
-
),
|
|
46111
|
-
React__default['default'].createElement(
|
|
46112
|
-
'button',
|
|
46113
|
-
{
|
|
46114
|
-
type: 'button',
|
|
46115
|
-
className: 'cta '.concat(selectedSearchResultId === result.productId ? 'cta--selected' : 'cta--select'),
|
|
46116
|
-
onClick: function () {
|
|
46117
|
-
return handleChange(result.productId);
|
|
46118
|
-
}
|
|
46119
|
-
},
|
|
46120
|
-
selectedSearchResultId === result.productId
|
|
46425
|
+
selectedSearchResult === result
|
|
46121
46426
|
? translations === null || translations === void 0
|
|
46122
46427
|
? void 0
|
|
46123
46428
|
: translations.SHARED.SELECTED
|
|
@@ -46513,7 +46818,7 @@ var SearchResultsContainer = function () {
|
|
|
46513
46818
|
isLoading = _b.isLoading,
|
|
46514
46819
|
filters = _b.filters,
|
|
46515
46820
|
selectedSortType = _b.selectedSortType,
|
|
46516
|
-
|
|
46821
|
+
selectedSearchResult = _b.selectedSearchResult,
|
|
46517
46822
|
selectedPackagingAccoResultCode = _b.selectedPackagingAccoResultCode,
|
|
46518
46823
|
flyInIsOpen = _b.flyInIsOpen;
|
|
46519
46824
|
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
@@ -46527,8 +46832,11 @@ var SearchResultsContainer = function () {
|
|
|
46527
46832
|
filtersOpen = _e[0],
|
|
46528
46833
|
setFiltersOpen = _e[1];
|
|
46529
46834
|
var _f = React.useState(false),
|
|
46530
|
-
|
|
46531
|
-
|
|
46835
|
+
detailsIsLoading = _f[0],
|
|
46836
|
+
setDetailsIsLoading = _f[1];
|
|
46837
|
+
var _g = React.useState(false),
|
|
46838
|
+
itineraryOpen = _g[0],
|
|
46839
|
+
setItineraryOpen = _g[1];
|
|
46532
46840
|
var panelRef = React.useRef(null);
|
|
46533
46841
|
var sortByTypes = [
|
|
46534
46842
|
{ direction: 'asc', label: 'default' },
|
|
@@ -46879,14 +47187,14 @@ var SearchResultsContainer = function () {
|
|
|
46879
47187
|
var runSearch = function () {
|
|
46880
47188
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
46881
47189
|
var config, params, entryId, entryLight, searchRequest, rq, packageSearchResults, enrichedFilters, initialFilteredResults, matching, err_1;
|
|
46882
|
-
var _a
|
|
46883
|
-
return __generator(this, function (
|
|
46884
|
-
switch (
|
|
47190
|
+
var _a;
|
|
47191
|
+
return __generator(this, function (_b) {
|
|
47192
|
+
switch (_b.label) {
|
|
46885
47193
|
case 0:
|
|
46886
47194
|
dispatch(setIsLoading(true));
|
|
46887
|
-
|
|
47195
|
+
_b.label = 1;
|
|
46888
47196
|
case 1:
|
|
46889
|
-
|
|
47197
|
+
_b.trys.push([1, 6, , 7]);
|
|
46890
47198
|
if (!context) {
|
|
46891
47199
|
return [2 /*return*/];
|
|
46892
47200
|
}
|
|
@@ -46901,7 +47209,7 @@ var SearchResultsContainer = function () {
|
|
|
46901
47209
|
if (!entryId) return [3 /*break*/, 3];
|
|
46902
47210
|
return [4 /*yield*/, build.getEntryLight(config, entryId)];
|
|
46903
47211
|
case 2:
|
|
46904
|
-
entryLight =
|
|
47212
|
+
entryLight = _b.sent();
|
|
46905
47213
|
// populate itinerary store
|
|
46906
47214
|
dispatch(setEntry({ entry: entryLight }));
|
|
46907
47215
|
searchRequest = buildSearchFromEntry(entryLight);
|
|
@@ -46912,11 +47220,11 @@ var SearchResultsContainer = function () {
|
|
|
46912
47220
|
throw new Error('Invalid search parameters');
|
|
46913
47221
|
}
|
|
46914
47222
|
searchRequest = rq;
|
|
46915
|
-
|
|
47223
|
+
_b.label = 4;
|
|
46916
47224
|
case 4:
|
|
46917
47225
|
return [4 /*yield*/, build.search(config, searchRequest)];
|
|
46918
47226
|
case 5:
|
|
46919
|
-
packageSearchResults =
|
|
47227
|
+
packageSearchResults = _b.sent();
|
|
46920
47228
|
console.log('Search results', packageSearchResults);
|
|
46921
47229
|
enrichedFilters = enrichFiltersWithResults(packageSearchResults, context.filters, (_a = context.tags) !== null && _a !== void 0 ? _a : []);
|
|
46922
47230
|
if (!initialFiltersSet) {
|
|
@@ -46933,18 +47241,18 @@ var SearchResultsContainer = function () {
|
|
|
46933
47241
|
return r.productId === (entry === null || entry === void 0 ? void 0 : entry.id);
|
|
46934
47242
|
});
|
|
46935
47243
|
if (matching) {
|
|
46936
|
-
dispatch(setSelectedSearchResult(matching
|
|
47244
|
+
dispatch(setSelectedSearchResult(matching));
|
|
46937
47245
|
}
|
|
46938
47246
|
} else {
|
|
46939
47247
|
if (context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight) {
|
|
46940
|
-
dispatch(setSelectedSearchResult(
|
|
47248
|
+
dispatch(setSelectedSearchResult(packageSearchResults[0]));
|
|
46941
47249
|
}
|
|
46942
47250
|
}
|
|
46943
47251
|
}
|
|
46944
47252
|
dispatch(setIsLoading(false));
|
|
46945
47253
|
return [3 /*break*/, 7];
|
|
46946
47254
|
case 6:
|
|
46947
|
-
err_1 =
|
|
47255
|
+
err_1 = _b.sent();
|
|
46948
47256
|
console.error('Search failed', err_1);
|
|
46949
47257
|
dispatch(setIsLoading(false));
|
|
46950
47258
|
return [3 /*break*/, 7];
|
|
@@ -47043,8 +47351,9 @@ var SearchResultsContainer = function () {
|
|
|
47043
47351
|
return __generator(this, function (_a) {
|
|
47044
47352
|
switch (_a.label) {
|
|
47045
47353
|
case 0:
|
|
47046
|
-
|
|
47047
|
-
|
|
47354
|
+
setDetailsIsLoading(true);
|
|
47355
|
+
console.log('Fetching details for selected search result', selectedSearchResult);
|
|
47356
|
+
if (!selectedSearchResult || !context) return [2 /*return*/];
|
|
47048
47357
|
if (
|
|
47049
47358
|
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === build.PortalQsmType.Accommodation ||
|
|
47050
47359
|
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === build.PortalQsmType.GroupTour
|
|
@@ -47059,7 +47368,7 @@ var SearchResultsContainer = function () {
|
|
|
47059
47368
|
apiKey: context.tideConnection.apiKey
|
|
47060
47369
|
};
|
|
47061
47370
|
selectedItem = results.find(function (r) {
|
|
47062
|
-
return r.productId ===
|
|
47371
|
+
return r.productId === selectedSearchResult.productId;
|
|
47063
47372
|
});
|
|
47064
47373
|
if (!selectedItem) {
|
|
47065
47374
|
// TODO: handle this case better, show an error message to the user
|
|
@@ -47106,12 +47415,14 @@ var SearchResultsContainer = function () {
|
|
|
47106
47415
|
case 4:
|
|
47107
47416
|
detailsResponse = _a.sent();
|
|
47108
47417
|
dispatch(setBookingPackageDetails({ details: detailsResponse === null || detailsResponse === void 0 ? void 0 : detailsResponse.payload }));
|
|
47418
|
+
setDetailsIsLoading(false);
|
|
47109
47419
|
_a.label = 5;
|
|
47110
47420
|
case 5:
|
|
47111
47421
|
return [3 /*break*/, 7];
|
|
47112
47422
|
case 6:
|
|
47113
47423
|
err_3 = _a.sent();
|
|
47114
47424
|
console.error('Failed to fetch package details', err_3);
|
|
47425
|
+
setDetailsIsLoading(false);
|
|
47115
47426
|
return [3 /*break*/, 7];
|
|
47116
47427
|
case 7:
|
|
47117
47428
|
return [2 /*return*/];
|
|
@@ -47233,14 +47544,14 @@ var SearchResultsContainer = function () {
|
|
|
47233
47544
|
});
|
|
47234
47545
|
});
|
|
47235
47546
|
};
|
|
47236
|
-
if (
|
|
47547
|
+
if (selectedSearchResult) {
|
|
47237
47548
|
fetchDetails();
|
|
47238
47549
|
}
|
|
47239
47550
|
if (selectedPackagingAccoResultCode) {
|
|
47240
47551
|
fetchPackagingAccoSearchDetails();
|
|
47241
47552
|
}
|
|
47242
47553
|
},
|
|
47243
|
-
[
|
|
47554
|
+
[selectedSearchResult, selectedPackagingAccoResultCode]
|
|
47244
47555
|
);
|
|
47245
47556
|
React.useEffect(
|
|
47246
47557
|
function () {
|
|
@@ -47276,7 +47587,8 @@ var SearchResultsContainer = function () {
|
|
|
47276
47587
|
setIsOpen: handleFlyInToggle,
|
|
47277
47588
|
onPanelRef: function (el) {
|
|
47278
47589
|
return (panelRef.current = el);
|
|
47279
|
-
}
|
|
47590
|
+
},
|
|
47591
|
+
detailsLoading: detailsIsLoading
|
|
47280
47592
|
})
|
|
47281
47593
|
),
|
|
47282
47594
|
(context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight ||
|
|
@@ -47440,7 +47752,8 @@ var SearchResultsContainer = function () {
|
|
|
47440
47752
|
setIsOpen: handleFlyInToggle,
|
|
47441
47753
|
onPanelRef: function (el) {
|
|
47442
47754
|
return (panelRef.current = el);
|
|
47443
|
-
}
|
|
47755
|
+
},
|
|
47756
|
+
detailsLoading: detailsIsLoading
|
|
47444
47757
|
})
|
|
47445
47758
|
)
|
|
47446
47759
|
)
|