@qite/tide-booking-component 1.4.35 → 1.4.37
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 +912 -192
- package/build/build-cjs/qsm/types.d.ts +1 -0
- package/build/build-cjs/search-results/components/flight/flight-results.d.ts +1 -1
- package/build/build-cjs/search-results/types.d.ts +5 -0
- package/build/build-esm/index.js +912 -192
- package/build/build-esm/qsm/types.d.ts +1 -0
- package/build/build-esm/search-results/components/flight/flight-results.d.ts +1 -1
- package/build/build-esm/search-results/types.d.ts +5 -0
- package/package.json +2 -2
- package/src/qsm/components/mobile-filter-modal/index.tsx +67 -42
- package/src/qsm/components/search-input-group/index.tsx +16 -2
- package/src/qsm/types.ts +1 -0
- package/src/search-results/components/flight/flight-results.tsx +115 -113
- package/src/search-results/components/hotel/hotel-accommodation-results.tsx +85 -0
- package/src/search-results/components/itinerary/index.tsx +11 -9
- package/src/search-results/components/search-results-container/search-results-container.tsx +294 -146
- package/src/search-results/features/flights/flight-search-results-self-contained.tsx +5 -1
- package/src/search-results/features/hotels/hotel-flight-search-results-self-contained.tsx +5 -1
- package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +5 -1
- package/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.tsx +5 -1
- package/src/search-results/types.ts +3 -1
package/build/build-cjs/index.js
CHANGED
|
@@ -11961,6 +11961,9 @@ var ENDPOINT_SEARCH_WITH_ERROR_MAPPING =
|
|
|
11961
11961
|
// const ENDPOINT_ELASTIC = `${ENDPOINT}/elastic`; // TODO
|
|
11962
11962
|
var ENDPOINT_DETAILS = ENDPOINT$7 + "/details";
|
|
11963
11963
|
var ENDPOINT_DETAILS_WL = ENDPOINT$7 + "/details-wl";
|
|
11964
|
+
var ENDPOINT_ENTRYLIGHT = function (code) {
|
|
11965
|
+
return ENDPOINT$7 + "/entry-light/" + code;
|
|
11966
|
+
};
|
|
11964
11967
|
var ENDPOINT_VALIDATE_VOUCHER = ENDPOINT$7 + "/validate-voucher";
|
|
11965
11968
|
var ENDPOINT_ALTERNATE_HOTELS = function (transactionId, optionId) {
|
|
11966
11969
|
return (
|
|
@@ -12054,6 +12057,11 @@ var detailsWL = function (config, request, signal, languageCode) {
|
|
|
12054
12057
|
var body = JSON.stringify(request);
|
|
12055
12058
|
return post(url, apiKey, body, config.token, signal, true, languageCode);
|
|
12056
12059
|
};
|
|
12060
|
+
var getEntryLight = function (config, code, signal) {
|
|
12061
|
+
var url = "" + config.host + ENDPOINT_ENTRYLIGHT(code);
|
|
12062
|
+
var apiKey = config.apiKey;
|
|
12063
|
+
return get(url, apiKey, config.token, signal, true);
|
|
12064
|
+
};
|
|
12057
12065
|
var validateVoucher = function (config, request, signal) {
|
|
12058
12066
|
var url = "" + config.host + ENDPOINT_VALIDATE_VOUCHER;
|
|
12059
12067
|
var apiKey = config.apiKey;
|
|
@@ -12197,6 +12205,7 @@ var getMolliePayment = function (config, request, signal) {
|
|
|
12197
12205
|
|
|
12198
12206
|
var ENDPOINT$4 = "/api/web/search";
|
|
12199
12207
|
var ENDPOINT_COUNTRIES = ENDPOINT$4 + "/countries";
|
|
12208
|
+
var ENDPOINT_LOCATIONS$1 = ENDPOINT$4 + "/locations";
|
|
12200
12209
|
/**
|
|
12201
12210
|
* api/search/countries
|
|
12202
12211
|
* Gets all Countries
|
|
@@ -12209,6 +12218,15 @@ var getCountries = function (config, signal) {
|
|
|
12209
12218
|
var apiKey = config.apiKey;
|
|
12210
12219
|
return get(url, apiKey, config.token, signal, true);
|
|
12211
12220
|
};
|
|
12221
|
+
var searchLocations = function (config, searchTerm, signal) {
|
|
12222
|
+
var apiKey = config.apiKey;
|
|
12223
|
+
var safeSearch = searchTerm.replace(/'/g, "''");
|
|
12224
|
+
var filter =
|
|
12225
|
+
"$filter=contains(tolower(Name),'" + safeSearch.toLowerCase() + "')";
|
|
12226
|
+
var top = "$top=10";
|
|
12227
|
+
var url = "" + config.host + ENDPOINT_LOCATIONS$1 + "?" + filter + "&" + top;
|
|
12228
|
+
return get(url, apiKey, config.token, signal, true);
|
|
12229
|
+
};
|
|
12212
12230
|
|
|
12213
12231
|
var createParams = function (filter, all, gridColumns, mode, forceToLower) {
|
|
12214
12232
|
var params = {};
|
|
@@ -12646,6 +12664,7 @@ exports.getAllotmentList = getAllotmentList;
|
|
|
12646
12664
|
exports.getCountries = getCountries;
|
|
12647
12665
|
exports.getCustomEntryStatus = getCustomEntryStatus;
|
|
12648
12666
|
exports.getEntryDetailv2 = getEntryDetailv2;
|
|
12667
|
+
exports.getEntryLight = getEntryLight;
|
|
12649
12668
|
exports.getEntryList = getEntryList;
|
|
12650
12669
|
exports.getEntryListv2 = getEntryListv2;
|
|
12651
12670
|
exports.getEntryStatus = getEntryStatus;
|
|
@@ -12664,6 +12683,7 @@ exports.resetPassword = resetPassword;
|
|
|
12664
12683
|
exports.search = search;
|
|
12665
12684
|
exports.searchElastic = searchElastic;
|
|
12666
12685
|
exports.searchFlightPool = searchFlightPool;
|
|
12686
|
+
exports.searchLocations = searchLocations;
|
|
12667
12687
|
exports.searchWithErrorMapping = searchWithErrorMapping;
|
|
12668
12688
|
exports.setCustomEntryStatus = setCustomEntryStatus;
|
|
12669
12689
|
exports.setEntryStatus = setEntryStatus;
|
|
@@ -21544,60 +21564,77 @@ var TravelInput = function () {
|
|
|
21544
21564
|
};
|
|
21545
21565
|
|
|
21546
21566
|
var MobileFilterModal = function () {
|
|
21547
|
-
var _a = React.useContext(QSMConfigurationContext), datesIcon = _a.datesIcon, languageCode = _a.languageCode;
|
|
21567
|
+
var _a = React.useContext(QSMConfigurationContext), datesIcon = _a.datesIcon, languageCode = _a.languageCode, searchFields = _a.searchFields;
|
|
21548
21568
|
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
21549
21569
|
var dispatch = reactRedux.useDispatch();
|
|
21550
|
-
var _b = reactRedux.useSelector(function (state) { return state.qsm; }), mobileFilterType = _b.mobileFilterType, mobileDatePickerMode = _b.mobileDatePickerMode, activeSearchFieldProps = _b.activeSearchFieldProps, fromDate = _b.fromDate, toDate = _b.toDate;
|
|
21570
|
+
var _b = reactRedux.useSelector(function (state) { return state.qsm; }), mobileFilterType = _b.mobileFilterType, mobileDatePickerMode = _b.mobileDatePickerMode, activeSearchFieldProps = _b.activeSearchFieldProps, fromDate = _b.fromDate, toDate = _b.toDate, searchResults = _b.searchResults;
|
|
21551
21571
|
var _c = React.useState(''), inputValue = _c[0], setInputValue = _c[1];
|
|
21552
|
-
var _d = React.useState([]), searchResultsLocal = _d[0], setSearchResultsLocal = _d[1];
|
|
21553
|
-
var hasTypedRef = React.useRef(false);
|
|
21554
21572
|
/* ---------------------------------------------------------------- */
|
|
21555
21573
|
/* Sync local state when a new field is opened */
|
|
21556
21574
|
/* ---------------------------------------------------------------- */
|
|
21557
21575
|
React.useEffect(function () {
|
|
21558
21576
|
if (activeSearchFieldProps) {
|
|
21559
21577
|
setInputValue(activeSearchFieldProps.value || '');
|
|
21560
|
-
setSearchResultsLocal([]);
|
|
21561
|
-
hasTypedRef.current = false;
|
|
21578
|
+
// setSearchResultsLocal([]);
|
|
21579
|
+
// hasTypedRef.current = false;
|
|
21562
21580
|
}
|
|
21563
21581
|
}, [activeSearchFieldProps]);
|
|
21564
21582
|
/* ---------------------------------------------------------------- */
|
|
21565
21583
|
/* Helpers */
|
|
21566
21584
|
/* ---------------------------------------------------------------- */
|
|
21567
21585
|
var closeModal = function () {
|
|
21568
|
-
hasTypedRef.current = false;
|
|
21586
|
+
// hasTypedRef.current = false;
|
|
21569
21587
|
dispatch(closeMobileFilter());
|
|
21570
21588
|
};
|
|
21571
|
-
|
|
21572
|
-
|
|
21573
|
-
|
|
21574
|
-
|
|
21575
|
-
|
|
21576
|
-
|
|
21577
|
-
|
|
21578
|
-
|
|
21579
|
-
|
|
21580
|
-
|
|
21581
|
-
|
|
21582
|
-
setInputValue(val);
|
|
21583
|
-
hasTypedRef.current = true;
|
|
21584
|
-
if (val.trim() !== '' && activeSearchFieldProps) {
|
|
21585
|
-
var filtered = activeSearchFieldProps.options.filter(function (option) { return option.value.toLowerCase().includes(val.toLowerCase()); });
|
|
21586
|
-
setSearchResultsLocal(filtered);
|
|
21587
|
-
}
|
|
21588
|
-
else {
|
|
21589
|
-
setSearchResultsLocal([]);
|
|
21589
|
+
var findConfig = function (all, key) {
|
|
21590
|
+
for (var _i = 0, all_1 = all; _i < all_1.length; _i++) {
|
|
21591
|
+
var config_1 = all_1[_i];
|
|
21592
|
+
if (config_1.type === 'single' && config_1.fieldKey === key) {
|
|
21593
|
+
return config_1;
|
|
21594
|
+
}
|
|
21595
|
+
if (config_1.type === 'double') {
|
|
21596
|
+
var field = config_1.fields.find(function (x) { return x.fieldKey === key; });
|
|
21597
|
+
if (field)
|
|
21598
|
+
return field;
|
|
21599
|
+
}
|
|
21590
21600
|
}
|
|
21601
|
+
return undefined;
|
|
21591
21602
|
};
|
|
21592
|
-
|
|
21593
|
-
|
|
21594
|
-
|
|
21595
|
-
|
|
21596
|
-
|
|
21597
|
-
|
|
21598
|
-
|
|
21599
|
-
|
|
21600
|
-
|
|
21603
|
+
var config = React.useMemo(function () {
|
|
21604
|
+
if (!activeSearchFieldProps)
|
|
21605
|
+
return undefined;
|
|
21606
|
+
return findConfig(searchFields, activeSearchFieldProps.fieldKey);
|
|
21607
|
+
}, [searchFields, activeSearchFieldProps]);
|
|
21608
|
+
var match = React.useCallback(function (input) {
|
|
21609
|
+
if (!input) {
|
|
21610
|
+
return [];
|
|
21611
|
+
}
|
|
21612
|
+
var lowered = input.toLowerCase();
|
|
21613
|
+
return activeSearchFieldProps === null || activeSearchFieldProps === void 0 ? void 0 : activeSearchFieldProps.options.filter(function (option) { var _a; return option.value.toLowerCase().includes(lowered) || ((_a = option.iataCode) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(lowered)); });
|
|
21614
|
+
}, [activeSearchFieldProps === null || activeSearchFieldProps === void 0 ? void 0 : activeSearchFieldProps.options]);
|
|
21615
|
+
var handleInputChange = React.useCallback(function (input) {
|
|
21616
|
+
var _a;
|
|
21617
|
+
setInputValue(input);
|
|
21618
|
+
if (!activeSearchFieldProps)
|
|
21619
|
+
return;
|
|
21620
|
+
dispatch(setFieldValue({ fieldKey: activeSearchFieldProps.fieldKey, value: input }));
|
|
21621
|
+
dispatch(setSearchResults([]));
|
|
21622
|
+
dispatch(setActiveSearchField(activeSearchFieldProps.fieldKey));
|
|
21623
|
+
if (config === null || config === void 0 ? void 0 : config.onChange) {
|
|
21624
|
+
config.onChange(input);
|
|
21625
|
+
return;
|
|
21626
|
+
}
|
|
21627
|
+
var filtered = (_a = match(input)) !== null && _a !== void 0 ? _a : [];
|
|
21628
|
+
dispatch(setSearchResults(filtered));
|
|
21629
|
+
}, [dispatch, activeSearchFieldProps, match]);
|
|
21630
|
+
React.useEffect(function () {
|
|
21631
|
+
var _a;
|
|
21632
|
+
if (!activeSearchFieldProps)
|
|
21633
|
+
return;
|
|
21634
|
+
if (!inputValue)
|
|
21635
|
+
return;
|
|
21636
|
+
dispatch(setSearchResults((_a = match(inputValue)) !== null && _a !== void 0 ? _a : []));
|
|
21637
|
+
}, [activeSearchFieldProps === null || activeSearchFieldProps === void 0 ? void 0 : activeSearchFieldProps.options]);
|
|
21601
21638
|
var handleLocationSelect = function (option) {
|
|
21602
21639
|
if (activeSearchFieldProps) {
|
|
21603
21640
|
var fieldKey = activeSearchFieldProps.fieldKey;
|
|
@@ -21657,8 +21694,10 @@ var MobileFilterModal = function () {
|
|
|
21657
21694
|
React__default["default"].createElement("span", { className: "mobile-qsm-filter__modal-header-close", onClick: closeModal }))),
|
|
21658
21695
|
React__default["default"].createElement("div", { className: "qsm__double-input qsm__double-input--search-modal" },
|
|
21659
21696
|
React__default["default"].createElement("label", { className: "qsm__input-wrapper" },
|
|
21660
|
-
React__default["default"].createElement("input", { type: "text", id: "search", value: inputValue,
|
|
21661
|
-
|
|
21697
|
+
React__default["default"].createElement("input", { type: "text", id: "search", value: inputValue, onClick: function (e) { return e.stopPropagation(); }, onChange: function (e) { return handleInputChange(e.target.value); },
|
|
21698
|
+
// onChange={(e) => handleLocationChange(e.target.value)}
|
|
21699
|
+
className: "qsm__input qsm__input--modal qsm__from-to u-ps-2", placeholder: activeSearchFieldProps.placeholder }),
|
|
21700
|
+
React__default["default"].createElement(SearchInput, { onChange: handleInputChange, searchResults: searchResults, onOptionSelect: handleLocationSelect, highlightTarget: inputValue, label: activeSearchFieldProps.label }))),
|
|
21662
21701
|
React__default["default"].createElement("div", { className: "mobile-qsm-filter__modal-footer" },
|
|
21663
21702
|
React__default["default"].createElement("button", { className: "cta", onClick: closeModal }, translations.QSM.CONFIRM))));
|
|
21664
21703
|
};
|
|
@@ -21721,7 +21760,7 @@ var SearchInputGroup = function (_a) {
|
|
|
21721
21760
|
return [];
|
|
21722
21761
|
}
|
|
21723
21762
|
var lowered = input.toLowerCase();
|
|
21724
|
-
return options.filter(function (option) { return option.value.toLowerCase().includes(lowered); });
|
|
21763
|
+
return options.filter(function (option) { var _a; return option.value.toLowerCase().includes(lowered) || ((_a = option.iataCode) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(lowered)); });
|
|
21725
21764
|
}, [options]);
|
|
21726
21765
|
var handleInputChange = React.useCallback(function (input) {
|
|
21727
21766
|
dispatch(setFieldValue({ fieldKey: fieldKey, value: input }));
|
|
@@ -21729,8 +21768,19 @@ var SearchInputGroup = function (_a) {
|
|
|
21729
21768
|
if (small)
|
|
21730
21769
|
return;
|
|
21731
21770
|
dispatch(setActiveSearchField(fieldKey));
|
|
21771
|
+
// if field has custom onChange (API search)
|
|
21772
|
+
if (config.onChange) {
|
|
21773
|
+
config.onChange(input);
|
|
21774
|
+
return;
|
|
21775
|
+
}
|
|
21776
|
+
// fallback to local filtering
|
|
21732
21777
|
dispatch(setSearchResults(match(input)));
|
|
21733
|
-
}, [dispatch, fieldKey, small, match,
|
|
21778
|
+
}, [dispatch, fieldKey, small, match, config]);
|
|
21779
|
+
React.useEffect(function () {
|
|
21780
|
+
if (!value || activeSearchField !== fieldKey)
|
|
21781
|
+
return;
|
|
21782
|
+
dispatch(setSearchResults(match(value)));
|
|
21783
|
+
}, [options, value, activeSearchField, config, fieldKey]);
|
|
21734
21784
|
var handleKeyDown = React.useCallback(function (e) {
|
|
21735
21785
|
if (!['Tab', 'Enter'].includes(e.key))
|
|
21736
21786
|
return;
|
|
@@ -22866,14 +22916,13 @@ var Itinerary = function (_a) {
|
|
|
22866
22916
|
React__default["default"].createElement("div", { className: "search__filter-row-flex-title" },
|
|
22867
22917
|
React__default["default"].createElement("p", { className: "search__filter-small-title" }, translations.SRP.ITINERARY_TITLE))),
|
|
22868
22918
|
isLoading ? (React__default["default"].createElement(Spinner, null)) : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
22869
|
-
React__default["default"].createElement("div", { className: "search__filter-group" },
|
|
22870
|
-
React__default["default"].createElement("
|
|
22871
|
-
|
|
22872
|
-
|
|
22873
|
-
|
|
22874
|
-
|
|
22875
|
-
|
|
22876
|
-
React__default["default"].createElement("h4", { className: "search__filter__image__title" }, (location || '') + (location && country ? ' - ' : '') + (country || '')))),
|
|
22919
|
+
React__default["default"].createElement("div", { className: "search__filter-group" }, (context === null || context === void 0 ? void 0 : context.destinationImage) && (React__default["default"].createElement("div", { className: "search__filter__image__wrapper" },
|
|
22920
|
+
React__default["default"].createElement("img", { src: context.destinationImage.url, alt: context.destinationImage.alt, className: "search__filter__image" }),
|
|
22921
|
+
(entry === null || entry === void 0 ? void 0 : entry.number) && (React__default["default"].createElement("span", { className: "search__filter__image__text" },
|
|
22922
|
+
translations.SRP.DOSSIER_NUMBER,
|
|
22923
|
+
": ", entry === null || entry === void 0 ? void 0 :
|
|
22924
|
+
entry.number)),
|
|
22925
|
+
React__default["default"].createElement("h4", { className: "search__filter__image__title" }, (location || '') + (location && country ? ' - ' : '') + (country || ''))))),
|
|
22877
22926
|
React__default["default"].createElement("div", { className: "search__filter__prices" },
|
|
22878
22927
|
React__default["default"].createElement("div", { className: "search__filter__prices__wrapper" },
|
|
22879
22928
|
React__default["default"].createElement("h3", { className: "search__filter__prices--amount" }, formatPrice(((entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0) / ((entry === null || entry === void 0 ? void 0 : entry.numberOfPax) || 1), (entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR')),
|
|
@@ -23092,6 +23141,9 @@ var calculateNights = function (fromDate, toDate, translations) {
|
|
|
23092
23141
|
var HotelAccommodationResults = function (_a) {
|
|
23093
23142
|
var _b, _c;
|
|
23094
23143
|
var isLoading = _a.isLoading, context = _a.context;
|
|
23144
|
+
if (context.showMockup) {
|
|
23145
|
+
return showMocukups(context);
|
|
23146
|
+
}
|
|
23095
23147
|
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
23096
23148
|
if (isLoading) {
|
|
23097
23149
|
return React__default["default"].createElement(React__default["default"].Fragment, null, (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0 ? _c : React__default["default"].createElement(Spinner, null));
|
|
@@ -23125,6 +23177,191 @@ var HotelAccommodationResults = function (_a) {
|
|
|
23125
23177
|
" ",
|
|
23126
23178
|
React__default["default"].createElement("strong", null, translations.SRP.ACCOMMODATION)))),
|
|
23127
23179
|
renderResults(results, context, cmsMap, activeTab, translations)));
|
|
23180
|
+
};
|
|
23181
|
+
var showMocukups = function (context) {
|
|
23182
|
+
var mockedHotelResults = [
|
|
23183
|
+
{
|
|
23184
|
+
type: 'hotel',
|
|
23185
|
+
id: 2,
|
|
23186
|
+
title: 'HTFSWILLCARL',
|
|
23187
|
+
image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
23188
|
+
description: '2 persoons kamer',
|
|
23189
|
+
location: 'Tenerif, Spanje',
|
|
23190
|
+
price: '$2244',
|
|
23191
|
+
ctaText: 'Bekijk details',
|
|
23192
|
+
days: '7 nights',
|
|
23193
|
+
flightInfo: null,
|
|
23194
|
+
accommodation: 'Hotel XYZ',
|
|
23195
|
+
regime: 'All-inclusive',
|
|
23196
|
+
stars: 5
|
|
23197
|
+
},
|
|
23198
|
+
{
|
|
23199
|
+
type: 'hotel',
|
|
23200
|
+
id: 3,
|
|
23201
|
+
title: 'HTFSSOFTROCK',
|
|
23202
|
+
image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
23203
|
+
description: '3 persoons kamer',
|
|
23204
|
+
location: 'Tenerif, Spanje',
|
|
23205
|
+
price: '$2244',
|
|
23206
|
+
ctaText: 'Bekijk details',
|
|
23207
|
+
days: '7 nights',
|
|
23208
|
+
flightInfo: null,
|
|
23209
|
+
accommodation: 'Hotel ABC',
|
|
23210
|
+
regime: 'Half-board',
|
|
23211
|
+
stars: 4
|
|
23212
|
+
},
|
|
23213
|
+
{
|
|
23214
|
+
type: 'hotel',
|
|
23215
|
+
id: 4,
|
|
23216
|
+
title: 'HTFSROYGAR',
|
|
23217
|
+
image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
23218
|
+
description: '4 persoons kamer',
|
|
23219
|
+
location: 'Tenerif, Spanje',
|
|
23220
|
+
price: '$2496',
|
|
23221
|
+
ctaText: 'Bekijk details',
|
|
23222
|
+
days: '7 nights',
|
|
23223
|
+
flightInfo: null,
|
|
23224
|
+
accommodation: 'Hotel DEF',
|
|
23225
|
+
regime: 'Full-board',
|
|
23226
|
+
stars: 5
|
|
23227
|
+
},
|
|
23228
|
+
{
|
|
23229
|
+
type: 'hotel',
|
|
23230
|
+
id: 5,
|
|
23231
|
+
title: 'HTFSCONBEL',
|
|
23232
|
+
image: 'https://images.unsplash.com/photo-1573790387438-4da905039392?q=80&w=1925&auto=format&fit=crop',
|
|
23233
|
+
description: '5 persoons kamer',
|
|
23234
|
+
location: 'Tenerif, Spanje',
|
|
23235
|
+
price: '$6784.8',
|
|
23236
|
+
ctaText: 'Bekijk details',
|
|
23237
|
+
days: '7 nights',
|
|
23238
|
+
flightInfo: null,
|
|
23239
|
+
accommodation: 'Hotel GHI',
|
|
23240
|
+
regime: 'All-inclusive',
|
|
23241
|
+
stars: 5
|
|
23242
|
+
}
|
|
23243
|
+
];
|
|
23244
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, renderMockupResults(mockedHotelResults, context));
|
|
23245
|
+
};
|
|
23246
|
+
var renderMockupResults = function (results, context) {
|
|
23247
|
+
var renderedResults = results.map(function (result, index) {
|
|
23248
|
+
if ((context === null || context === void 0 ? void 0 : context.showCustomCards) && (context === null || context === void 0 ? void 0 : context.customCardRenderer)) {
|
|
23249
|
+
return (React__default["default"].createElement("div", { key: "".concat(result.id, "-").concat(index), className: "search__result-card" }, context.customCardRenderer(result)));
|
|
23250
|
+
}
|
|
23251
|
+
return React__default["default"].createElement(HotelCard, { key: "".concat(result.id, "-").concat(index), result: result });
|
|
23252
|
+
});
|
|
23253
|
+
return React__default["default"].createElement("div", { className: "search__results__cards" }, renderedResults);
|
|
23254
|
+
};
|
|
23255
|
+
|
|
23256
|
+
var RoundTripResults = function () {
|
|
23257
|
+
return (React__default["default"].createElement("div", { className: "search__results__cards search__results__cards--list" },
|
|
23258
|
+
React__default["default"].createElement("div", { className: "search__result-card" },
|
|
23259
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment" },
|
|
23260
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__title__wrapper" },
|
|
23261
|
+
React__default["default"].createElement("h3", { className: "search__result-card__allotment__title" },
|
|
23262
|
+
"Rondreis Noord-India: Rajasthan",
|
|
23263
|
+
React__default["default"].createElement("span", { className: "search__result-card__allotment__badge" },
|
|
23264
|
+
React__default["default"].createElement(Icon, { name: "ui-circle-check", width: 14, height: 14 }),
|
|
23265
|
+
"GAR")),
|
|
23266
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__container" },
|
|
23267
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__header" },
|
|
23268
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__wrapper" },
|
|
23269
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__date" },
|
|
23270
|
+
React__default["default"].createElement(Icon, { name: "ui-plane", height: 16 }),
|
|
23271
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
|
|
23272
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__info" },
|
|
23273
|
+
React__default["default"].createElement("span", null,
|
|
23274
|
+
React__default["default"].createElement(Icon, { name: "ui-calendar", height: 16 })),
|
|
23275
|
+
' ',
|
|
23276
|
+
"8 dagen -",
|
|
23277
|
+
' ',
|
|
23278
|
+
React__default["default"].createElement("span", null,
|
|
23279
|
+
React__default["default"].createElement(Icon, { name: "ui-moon", height: 16 })),
|
|
23280
|
+
"7 nachten"))),
|
|
23281
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__info" },
|
|
23282
|
+
React__default["default"].createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
|
|
23283
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__persons" },
|
|
23284
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__person" },
|
|
23285
|
+
React__default["default"].createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
|
|
23286
|
+
React__default["default"].createElement("span", null, "2 p.")),
|
|
23287
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__person" },
|
|
23288
|
+
React__default["default"].createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
|
|
23289
|
+
React__default["default"].createElement("span", null, "3 p.")))))),
|
|
23290
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__footer" },
|
|
23291
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price__wrapper" },
|
|
23292
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
|
|
23293
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
|
|
23294
|
+
React__default["default"].createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
|
|
23295
|
+
React__default["default"].createElement("div", { className: "search__result-card" },
|
|
23296
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment" },
|
|
23297
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__title__wrapper" },
|
|
23298
|
+
React__default["default"].createElement("h3", { className: "search__result-card__allotment__title" },
|
|
23299
|
+
"Rondreis Thailand",
|
|
23300
|
+
React__default["default"].createElement("span", { className: "search__result-card__allotment__badge search__result-card__allotment__badge--secondary" },
|
|
23301
|
+
React__default["default"].createElement(Icon, { name: "ui-circle-half", width: 14, height: 14 }),
|
|
23302
|
+
"BIJNA GAR")),
|
|
23303
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__container" },
|
|
23304
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__header" },
|
|
23305
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__wrapper" },
|
|
23306
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__date" },
|
|
23307
|
+
React__default["default"].createElement(Icon, { name: "ui-plane", height: 16 }),
|
|
23308
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
|
|
23309
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__info" },
|
|
23310
|
+
React__default["default"].createElement("span", null,
|
|
23311
|
+
React__default["default"].createElement(Icon, { name: "ui-calendar", height: 16 })),
|
|
23312
|
+
' ',
|
|
23313
|
+
"8 dagen -",
|
|
23314
|
+
' ',
|
|
23315
|
+
React__default["default"].createElement("span", null,
|
|
23316
|
+
React__default["default"].createElement(Icon, { name: "ui-moon", height: 16 })),
|
|
23317
|
+
"7 nachten"))),
|
|
23318
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__info" },
|
|
23319
|
+
React__default["default"].createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
|
|
23320
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__persons" },
|
|
23321
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__person" },
|
|
23322
|
+
React__default["default"].createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
|
|
23323
|
+
React__default["default"].createElement("span", null, "2 p.")),
|
|
23324
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__person" },
|
|
23325
|
+
React__default["default"].createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
|
|
23326
|
+
React__default["default"].createElement("span", null, "3 p.")))))),
|
|
23327
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__footer" },
|
|
23328
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price__wrapper" },
|
|
23329
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
|
|
23330
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
|
|
23331
|
+
React__default["default"].createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
|
|
23332
|
+
React__default["default"].createElement("div", { className: "search__result-card" },
|
|
23333
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment" },
|
|
23334
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__title__wrapper" },
|
|
23335
|
+
React__default["default"].createElement("h3", { className: "search__result-card__allotment__title" }, "Rondreis Timboektoe"),
|
|
23336
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__container" },
|
|
23337
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__header" },
|
|
23338
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__wrapper" },
|
|
23339
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__date" },
|
|
23340
|
+
React__default["default"].createElement(Icon, { name: "ui-plane", height: 16 }),
|
|
23341
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
|
|
23342
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__info" },
|
|
23343
|
+
React__default["default"].createElement("span", null,
|
|
23344
|
+
React__default["default"].createElement(Icon, { name: "ui-calendar", height: 16 })),
|
|
23345
|
+
' ',
|
|
23346
|
+
"8 dagen -",
|
|
23347
|
+
' ',
|
|
23348
|
+
React__default["default"].createElement("span", null,
|
|
23349
|
+
React__default["default"].createElement(Icon, { name: "ui-moon", height: 16 })),
|
|
23350
|
+
"7 nachten"))),
|
|
23351
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__info" },
|
|
23352
|
+
React__default["default"].createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
|
|
23353
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__persons" },
|
|
23354
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__person" },
|
|
23355
|
+
React__default["default"].createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
|
|
23356
|
+
React__default["default"].createElement("span", null, "2 p.")),
|
|
23357
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__person" },
|
|
23358
|
+
React__default["default"].createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
|
|
23359
|
+
React__default["default"].createElement("span", null, "3 p.")))))),
|
|
23360
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__footer" },
|
|
23361
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price__wrapper" },
|
|
23362
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
|
|
23363
|
+
React__default["default"].createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
|
|
23364
|
+
React__default["default"].createElement("button", { className: "cta cta--select" }, "Bekijk reis"))))));
|
|
23128
23365
|
};
|
|
23129
23366
|
|
|
23130
23367
|
var enrichFiltersWithResults = function (results, filters) {
|
|
@@ -23173,7 +23410,7 @@ var FlightResults = function (_a) {
|
|
|
23173
23410
|
translations.SRP.SELECT,
|
|
23174
23411
|
" ",
|
|
23175
23412
|
React__default["default"].createElement("strong", null, isDeparture ? translations.SRP.DEPARTURE : translations.SRP.RETURN)))),
|
|
23176
|
-
React__default["default"].createElement("div", { className: "search__results__cards search__results__cards--extended" }, flights.map(function (flight, index) {
|
|
23413
|
+
flights && flights.length > 0 && (React__default["default"].createElement("div", { className: "search__results__cards search__results__cards--extended" }, flights.map(function (flight, index) {
|
|
23177
23414
|
var lines = flight.flightMetaData.flightLines;
|
|
23178
23415
|
var firstLine = lines[0];
|
|
23179
23416
|
var lastLine = lines[lines.length - 1];
|
|
@@ -23247,113 +23484,608 @@ var FlightResults = function (_a) {
|
|
|
23247
23484
|
React__default["default"].createElement("strong", null, formatDuration(dateFns.parseISO(nextLine.departureDate).getTime() - dateFns.parseISO(line.arrivalDate).getTime()))))))));
|
|
23248
23485
|
})))),
|
|
23249
23486
|
React__default["default"].createElement("div", { className: "flight__rate" })))));
|
|
23250
|
-
}))));
|
|
23487
|
+
})))));
|
|
23488
|
+
};
|
|
23489
|
+
|
|
23490
|
+
var FlightAccommodationResults = function () {
|
|
23491
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
23492
|
+
React__default["default"].createElement("div", { className: "search__results__label search__results__label--secondary" },
|
|
23493
|
+
React__default["default"].createElement("div", { className: "search__results__label__date" },
|
|
23494
|
+
React__default["default"].createElement("p", { className: "search__results__label__date-date" }, "19"),
|
|
23495
|
+
React__default["default"].createElement("p", null, "Jan")),
|
|
23496
|
+
React__default["default"].createElement("div", { className: "search__results__label__text" },
|
|
23497
|
+
React__default["default"].createElement("h3", null,
|
|
23498
|
+
"Select ",
|
|
23499
|
+
React__default["default"].createElement("strong", null, "Accomodation")))),
|
|
23500
|
+
React__default["default"].createElement("div", { className: "search__results__cards search__results__cards--extended" },
|
|
23501
|
+
React__default["default"].createElement("div", { key: 1, className: "search__result-card" },
|
|
23502
|
+
React__default["default"].createElement("div", { className: "flight" },
|
|
23503
|
+
React__default["default"].createElement("div", { className: "flight__option" },
|
|
23504
|
+
React__default["default"].createElement("div", { className: "flight__content" },
|
|
23505
|
+
React__default["default"].createElement("div", { className: "flight__flights" },
|
|
23506
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23507
|
+
React__default["default"].createElement("div", { className: "flight__flight__header" },
|
|
23508
|
+
React__default["default"].createElement("div", { className: "flight__status__container" }),
|
|
23509
|
+
React__default["default"].createElement("div", { className: "flight__price" },
|
|
23510
|
+
React__default["default"].createElement("span", { className: "price price--increase" }, "- \u20AC 375,98"),
|
|
23511
|
+
React__default["default"].createElement("button", { type: "button", className: "cta cta--select" }, "Select")))),
|
|
23512
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23513
|
+
React__default["default"].createElement("div", { className: "flight__flight__container" },
|
|
23514
|
+
React__default["default"].createElement("div", { className: "flight__flight__wrapper" },
|
|
23515
|
+
React__default["default"].createElement("div", { className: "flight__logo__wrapper" },
|
|
23516
|
+
React__default["default"].createElement("img", { src: "https://media.tidesoftware.be/media/shared/Airlines/XX.png?height=256", alt: "", className: "flight__logo" }),
|
|
23517
|
+
React__default["default"].createElement("span", null, "Example Airline")),
|
|
23518
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23519
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23520
|
+
React__default["default"].createElement("strong", null, "08:30 JFK"),
|
|
23521
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23522
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23523
|
+
React__default["default"].createElement("p", null, "7h 45m"),
|
|
23524
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" },
|
|
23525
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stop" })),
|
|
23526
|
+
React__default["default"].createElement("span", null, "1 stop")),
|
|
23527
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23528
|
+
React__default["default"].createElement("strong", null, "22:15 AMS"),
|
|
23529
|
+
React__default["default"].createElement("p", null, "Tue 13 Feb 2025"),
|
|
23530
|
+
React__default["default"].createElement("span", { className: "flight__info__times__days" }, "+1 day")))),
|
|
23531
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn__wrapper" },
|
|
23532
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn" },
|
|
23533
|
+
React__default["default"].createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
|
|
23534
|
+
React__default["default"].createElement("div", { className: "flight__detail" },
|
|
23535
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23536
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23537
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23538
|
+
React__default["default"].createElement("p", null, "08:30"),
|
|
23539
|
+
React__default["default"].createElement("strong", null, "JFK"),
|
|
23540
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23541
|
+
React__default["default"].createElement("div", null,
|
|
23542
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23543
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23544
|
+
React__default["default"].createElement("p", null, "6h 20m"),
|
|
23545
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23546
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23547
|
+
React__default["default"].createElement("strong", null, "EA123")),
|
|
23548
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23549
|
+
React__default["default"].createElement("div", null,
|
|
23550
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23551
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23552
|
+
React__default["default"].createElement("p", null, "20:50"),
|
|
23553
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23554
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")))),
|
|
23555
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23556
|
+
React__default["default"].createElement("div", { className: "flight__info__times" }),
|
|
23557
|
+
React__default["default"].createElement("div", { className: "flight__info__duration flight__info__duration--waittime" },
|
|
23558
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops flight__info__duration__stops--stoptime" },
|
|
23559
|
+
React__default["default"].createElement(Icon, { name: "ui-clock", width: 24, height: 24 })),
|
|
23560
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stoptime" },
|
|
23561
|
+
React__default["default"].createElement("span", null, "Stop time"),
|
|
23562
|
+
React__default["default"].createElement("strong", null, "1h 15m"))),
|
|
23563
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" })),
|
|
23564
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23565
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23566
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23567
|
+
React__default["default"].createElement("p", null, "22:05"),
|
|
23568
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23569
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23570
|
+
React__default["default"].createElement("div", null,
|
|
23571
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23572
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23573
|
+
React__default["default"].createElement("p", null, "1h 10m"),
|
|
23574
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23575
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23576
|
+
React__default["default"].createElement("strong", null, "EA456")),
|
|
23577
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23578
|
+
React__default["default"].createElement("div", null,
|
|
23579
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23580
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23581
|
+
React__default["default"].createElement("p", null, "23:15"),
|
|
23582
|
+
React__default["default"].createElement("strong", null, "AMS"),
|
|
23583
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025"))))),
|
|
23584
|
+
React__default["default"].createElement("div", { className: "flight__rate" }))))))),
|
|
23585
|
+
React__default["default"].createElement("div", { key: 2, className: "search__result-card" },
|
|
23586
|
+
React__default["default"].createElement("div", { className: "flight" },
|
|
23587
|
+
React__default["default"].createElement("div", { className: "flight__option" },
|
|
23588
|
+
React__default["default"].createElement("div", { className: "flight__content" },
|
|
23589
|
+
React__default["default"].createElement("div", { className: "flight__flights" },
|
|
23590
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23591
|
+
React__default["default"].createElement("div", { className: "flight__flight__header" },
|
|
23592
|
+
React__default["default"].createElement("div", { className: "flight__status__container" }),
|
|
23593
|
+
React__default["default"].createElement("div", { className: "flight__price" },
|
|
23594
|
+
React__default["default"].createElement("span", { className: "price price--increase" }, "- \u20AC 375,98"),
|
|
23595
|
+
React__default["default"].createElement("button", { type: "button", className: "cta cta--select" }, "Select")))),
|
|
23596
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23597
|
+
React__default["default"].createElement("div", { className: "flight__flight__container" },
|
|
23598
|
+
React__default["default"].createElement("div", { className: "flight__flight__wrapper" },
|
|
23599
|
+
React__default["default"].createElement("div", { className: "flight__logo__wrapper" },
|
|
23600
|
+
React__default["default"].createElement("img", { src: "https://media.tidesoftware.be/media/shared/Airlines/XX.png?height=256", alt: "", className: "flight__logo" }),
|
|
23601
|
+
React__default["default"].createElement("span", null, "Example Airline")),
|
|
23602
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23603
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23604
|
+
React__default["default"].createElement("strong", null, "08:30 JFK"),
|
|
23605
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23606
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23607
|
+
React__default["default"].createElement("p", null, "7h 45m"),
|
|
23608
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" },
|
|
23609
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stop" })),
|
|
23610
|
+
React__default["default"].createElement("span", null, "1 stop")),
|
|
23611
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23612
|
+
React__default["default"].createElement("strong", null, "22:15 AMS"),
|
|
23613
|
+
React__default["default"].createElement("p", null, "Tue 13 Feb 2025"),
|
|
23614
|
+
React__default["default"].createElement("span", { className: "flight__info__times__days" }, "+1 day")))),
|
|
23615
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn__wrapper" },
|
|
23616
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn" },
|
|
23617
|
+
React__default["default"].createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
|
|
23618
|
+
React__default["default"].createElement("div", { className: "flight__detail" },
|
|
23619
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23620
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23621
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23622
|
+
React__default["default"].createElement("p", null, "08:30"),
|
|
23623
|
+
React__default["default"].createElement("strong", null, "JFK"),
|
|
23624
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23625
|
+
React__default["default"].createElement("div", null,
|
|
23626
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23627
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23628
|
+
React__default["default"].createElement("p", null, "6h 20m"),
|
|
23629
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23630
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23631
|
+
React__default["default"].createElement("strong", null, "EA123")),
|
|
23632
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23633
|
+
React__default["default"].createElement("div", null,
|
|
23634
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23635
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23636
|
+
React__default["default"].createElement("p", null, "20:50"),
|
|
23637
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23638
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")))),
|
|
23639
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23640
|
+
React__default["default"].createElement("div", { className: "flight__info__times" }),
|
|
23641
|
+
React__default["default"].createElement("div", { className: "flight__info__duration flight__info__duration--waittime" },
|
|
23642
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops flight__info__duration__stops--stoptime" },
|
|
23643
|
+
React__default["default"].createElement(Icon, { name: "ui-clock", width: 24, height: 24 })),
|
|
23644
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stoptime" },
|
|
23645
|
+
React__default["default"].createElement("span", null, "Stop time"),
|
|
23646
|
+
React__default["default"].createElement("strong", null, "1h 15m"))),
|
|
23647
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" })),
|
|
23648
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23649
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23650
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23651
|
+
React__default["default"].createElement("p", null, "22:05"),
|
|
23652
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23653
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23654
|
+
React__default["default"].createElement("div", null,
|
|
23655
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23656
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23657
|
+
React__default["default"].createElement("p", null, "1h 10m"),
|
|
23658
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23659
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23660
|
+
React__default["default"].createElement("strong", null, "EA456")),
|
|
23661
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23662
|
+
React__default["default"].createElement("div", null,
|
|
23663
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23664
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23665
|
+
React__default["default"].createElement("p", null, "23:15"),
|
|
23666
|
+
React__default["default"].createElement("strong", null, "AMS"),
|
|
23667
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025"))))),
|
|
23668
|
+
React__default["default"].createElement("div", { className: "flight__rate" }))))))),
|
|
23669
|
+
React__default["default"].createElement("div", { key: 3, className: "search__result-card" },
|
|
23670
|
+
React__default["default"].createElement("div", { className: "flight" },
|
|
23671
|
+
React__default["default"].createElement("div", { className: "flight__option" },
|
|
23672
|
+
React__default["default"].createElement("div", { className: "flight__content" },
|
|
23673
|
+
React__default["default"].createElement("div", { className: "flight__flights" },
|
|
23674
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23675
|
+
React__default["default"].createElement("div", { className: "flight__flight__header" },
|
|
23676
|
+
React__default["default"].createElement("div", { className: "flight__status__container" }),
|
|
23677
|
+
React__default["default"].createElement("div", { className: "flight__price" },
|
|
23678
|
+
React__default["default"].createElement("span", { className: "price price--increase" }, "- \u20AC 375,98"),
|
|
23679
|
+
React__default["default"].createElement("button", { type: "button", className: "cta cta--select" }, "Select")))),
|
|
23680
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23681
|
+
React__default["default"].createElement("div", { className: "flight__flight__container" },
|
|
23682
|
+
React__default["default"].createElement("div", { className: "flight__flight__wrapper" },
|
|
23683
|
+
React__default["default"].createElement("div", { className: "flight__logo__wrapper" },
|
|
23684
|
+
React__default["default"].createElement("img", { src: "https://media.tidesoftware.be/media/shared/Airlines/XX.png?height=256", alt: "", className: "flight__logo" }),
|
|
23685
|
+
React__default["default"].createElement("span", null, "Example Airline")),
|
|
23686
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23687
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23688
|
+
React__default["default"].createElement("strong", null, "08:30 JFK"),
|
|
23689
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23690
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23691
|
+
React__default["default"].createElement("p", null, "7h 45m"),
|
|
23692
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" },
|
|
23693
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stop" })),
|
|
23694
|
+
React__default["default"].createElement("span", null, "1 stop")),
|
|
23695
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23696
|
+
React__default["default"].createElement("strong", null, "22:15 AMS"),
|
|
23697
|
+
React__default["default"].createElement("p", null, "Tue 13 Feb 2025"),
|
|
23698
|
+
React__default["default"].createElement("span", { className: "flight__info__times__days" }, "+1 day")))),
|
|
23699
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn__wrapper" },
|
|
23700
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn" },
|
|
23701
|
+
React__default["default"].createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
|
|
23702
|
+
React__default["default"].createElement("div", { className: "flight__detail" },
|
|
23703
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23704
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23705
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23706
|
+
React__default["default"].createElement("p", null, "08:30"),
|
|
23707
|
+
React__default["default"].createElement("strong", null, "JFK"),
|
|
23708
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23709
|
+
React__default["default"].createElement("div", null,
|
|
23710
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23711
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23712
|
+
React__default["default"].createElement("p", null, "6h 20m"),
|
|
23713
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23714
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23715
|
+
React__default["default"].createElement("strong", null, "EA123")),
|
|
23716
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23717
|
+
React__default["default"].createElement("div", null,
|
|
23718
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23719
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23720
|
+
React__default["default"].createElement("p", null, "20:50"),
|
|
23721
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23722
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")))),
|
|
23723
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23724
|
+
React__default["default"].createElement("div", { className: "flight__info__times" }),
|
|
23725
|
+
React__default["default"].createElement("div", { className: "flight__info__duration flight__info__duration--waittime" },
|
|
23726
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops flight__info__duration__stops--stoptime" },
|
|
23727
|
+
React__default["default"].createElement(Icon, { name: "ui-clock", width: 24, height: 24 })),
|
|
23728
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stoptime" },
|
|
23729
|
+
React__default["default"].createElement("span", null, "Stop time"),
|
|
23730
|
+
React__default["default"].createElement("strong", null, "1h 15m"))),
|
|
23731
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" })),
|
|
23732
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23733
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23734
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23735
|
+
React__default["default"].createElement("p", null, "22:05"),
|
|
23736
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23737
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23738
|
+
React__default["default"].createElement("div", null,
|
|
23739
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23740
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23741
|
+
React__default["default"].createElement("p", null, "1h 10m"),
|
|
23742
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23743
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23744
|
+
React__default["default"].createElement("strong", null, "EA456")),
|
|
23745
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23746
|
+
React__default["default"].createElement("div", null,
|
|
23747
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23748
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23749
|
+
React__default["default"].createElement("p", null, "23:15"),
|
|
23750
|
+
React__default["default"].createElement("strong", null, "AMS"),
|
|
23751
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025"))))),
|
|
23752
|
+
React__default["default"].createElement("div", { className: "flight__rate" }))))))),
|
|
23753
|
+
React__default["default"].createElement("div", { key: 4, className: "search__result-card" },
|
|
23754
|
+
React__default["default"].createElement("div", { className: "flight" },
|
|
23755
|
+
React__default["default"].createElement("div", { className: "flight__option" },
|
|
23756
|
+
React__default["default"].createElement("div", { className: "flight__content" },
|
|
23757
|
+
React__default["default"].createElement("div", { className: "flight__flights" },
|
|
23758
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23759
|
+
React__default["default"].createElement("div", { className: "flight__flight__header" },
|
|
23760
|
+
React__default["default"].createElement("div", { className: "flight__status__container" }),
|
|
23761
|
+
React__default["default"].createElement("div", { className: "flight__price" },
|
|
23762
|
+
React__default["default"].createElement("span", { className: "price price--increase" }, "- \u20AC 375,98"),
|
|
23763
|
+
React__default["default"].createElement("button", { type: "button", className: "cta cta--select" }, "Select")))),
|
|
23764
|
+
React__default["default"].createElement("div", { className: "flight__flight" },
|
|
23765
|
+
React__default["default"].createElement("div", { className: "flight__flight__container" },
|
|
23766
|
+
React__default["default"].createElement("div", { className: "flight__flight__wrapper" },
|
|
23767
|
+
React__default["default"].createElement("div", { className: "flight__logo__wrapper" },
|
|
23768
|
+
React__default["default"].createElement("img", { src: "https://media.tidesoftware.be/media/shared/Airlines/XX.png?height=256", alt: "", className: "flight__logo" }),
|
|
23769
|
+
React__default["default"].createElement("span", null, "Example Airline")),
|
|
23770
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23771
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23772
|
+
React__default["default"].createElement("strong", null, "08:30 JFK"),
|
|
23773
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23774
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23775
|
+
React__default["default"].createElement("p", null, "7h 45m"),
|
|
23776
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" },
|
|
23777
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stop" })),
|
|
23778
|
+
React__default["default"].createElement("span", null, "1 stop")),
|
|
23779
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23780
|
+
React__default["default"].createElement("strong", null, "22:15 AMS"),
|
|
23781
|
+
React__default["default"].createElement("p", null, "Tue 13 Feb 2025"),
|
|
23782
|
+
React__default["default"].createElement("span", { className: "flight__info__times__days" }, "+1 day")))),
|
|
23783
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn__wrapper" },
|
|
23784
|
+
React__default["default"].createElement("div", { className: "flight__detail__btn" },
|
|
23785
|
+
React__default["default"].createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
|
|
23786
|
+
React__default["default"].createElement("div", { className: "flight__detail" },
|
|
23787
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23788
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23789
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23790
|
+
React__default["default"].createElement("p", null, "08:30"),
|
|
23791
|
+
React__default["default"].createElement("strong", null, "JFK"),
|
|
23792
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23793
|
+
React__default["default"].createElement("div", null,
|
|
23794
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23795
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23796
|
+
React__default["default"].createElement("p", null, "6h 20m"),
|
|
23797
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23798
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23799
|
+
React__default["default"].createElement("strong", null, "EA123")),
|
|
23800
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23801
|
+
React__default["default"].createElement("div", null,
|
|
23802
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23803
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23804
|
+
React__default["default"].createElement("p", null, "20:50"),
|
|
23805
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23806
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")))),
|
|
23807
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23808
|
+
React__default["default"].createElement("div", { className: "flight__info__times" }),
|
|
23809
|
+
React__default["default"].createElement("div", { className: "flight__info__duration flight__info__duration--waittime" },
|
|
23810
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops flight__info__duration__stops--stoptime" },
|
|
23811
|
+
React__default["default"].createElement(Icon, { name: "ui-clock", width: 24, height: 24 })),
|
|
23812
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stoptime" },
|
|
23813
|
+
React__default["default"].createElement("span", null, "Stop time"),
|
|
23814
|
+
React__default["default"].createElement("strong", null, "1h 15m"))),
|
|
23815
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" })),
|
|
23816
|
+
React__default["default"].createElement("div", { className: "flight__info" },
|
|
23817
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper" },
|
|
23818
|
+
React__default["default"].createElement("div", { className: "flight__info__times" },
|
|
23819
|
+
React__default["default"].createElement("p", null, "22:05"),
|
|
23820
|
+
React__default["default"].createElement("strong", null, "LHR"),
|
|
23821
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025")),
|
|
23822
|
+
React__default["default"].createElement("div", null,
|
|
23823
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 }))),
|
|
23824
|
+
React__default["default"].createElement("div", { className: "flight__info__duration" },
|
|
23825
|
+
React__default["default"].createElement("p", null, "1h 10m"),
|
|
23826
|
+
React__default["default"].createElement("div", { className: "flight__info__duration__stops" }),
|
|
23827
|
+
React__default["default"].createElement("span", null, "Example Airline"),
|
|
23828
|
+
React__default["default"].createElement("strong", null, "EA456")),
|
|
23829
|
+
React__default["default"].createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
|
|
23830
|
+
React__default["default"].createElement("div", null,
|
|
23831
|
+
React__default["default"].createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 })),
|
|
23832
|
+
React__default["default"].createElement("div", { className: "flight__info__times flight__info__times--arrival" },
|
|
23833
|
+
React__default["default"].createElement("p", null, "23:15"),
|
|
23834
|
+
React__default["default"].createElement("strong", null, "AMS"),
|
|
23835
|
+
React__default["default"].createElement("p", null, "Mon 12 Feb 2025"))))),
|
|
23836
|
+
React__default["default"].createElement("div", { className: "flight__rate" }))))))))));
|
|
23251
23837
|
};
|
|
23252
23838
|
|
|
23253
23839
|
var SearchResultsContainer = function () {
|
|
23254
23840
|
var _a, _b;
|
|
23255
|
-
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
23256
23841
|
var dispatch = reactRedux.useDispatch();
|
|
23257
23842
|
var context = React.useContext(SearchResultsConfigurationContext);
|
|
23258
23843
|
var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
23259
|
-
var _c = reactRedux.useSelector(function (state) { return state.searchResults; }), results = _c.results, bookingPackageDetails = _c.bookingPackageDetails, isLoading = _c.isLoading, filters = _c.filters, sortKey = _c.sortKey, selectedHotelId = _c.selectedHotelId;
|
|
23844
|
+
var _c = reactRedux.useSelector(function (state) { return state.searchResults; }), results = _c.results, bookingPackageDetails = _c.bookingPackageDetails, entry = _c.entry, isLoading = _c.isLoading, filters = _c.filters, sortKey = _c.sortKey, selectedHotelId = _c.selectedHotelId;
|
|
23845
|
+
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
23260
23846
|
var _d = React.useState(0), searchTrigger = _d[0], setSearchTrigger = _d[1];
|
|
23261
23847
|
var _e = React.useState(false), initialFiltersSet = _e[0], setInitialFiltersSet = _e[1];
|
|
23262
23848
|
var _f = React.useState([]); _f[0]; var setInitialFilters = _f[1];
|
|
23849
|
+
var _g = React.useState(false), filtersOpen = _g[0], setFiltersOpen = _g[1];
|
|
23850
|
+
var _h = React.useState(false), itineraryOpen = _h[0], setItineraryOpen = _h[1];
|
|
23851
|
+
var sortingOptions = [
|
|
23852
|
+
{ key: 'price-asc', label: translations.SRP.PRICE_ASC },
|
|
23853
|
+
{ key: 'price-desc', label: translations.SRP.PRICE_DESC },
|
|
23854
|
+
{ key: 'departure-date', label: translations.SRP.DEPARTURE_ASC }
|
|
23855
|
+
];
|
|
23856
|
+
var handleSortChange = function (newSortKey) {
|
|
23857
|
+
dispatch(setSortKey(newSortKey));
|
|
23858
|
+
};
|
|
23859
|
+
var buildSearchFromEntry = function (entry) {
|
|
23860
|
+
var _a;
|
|
23861
|
+
var from = new Date(Math.min.apply(Math, entry.items.map(function (i) { return i.startDate.getTime(); }))).toISOString();
|
|
23862
|
+
var to = new Date(Math.max.apply(Math, entry.items.map(function (i) { return i.endDate.getTime(); }))).toISOString();
|
|
23863
|
+
var rooms = entry.rooms;
|
|
23864
|
+
var hotelItem = entry.items.find(function (i) { return i.productType === 3; });
|
|
23865
|
+
var country = hotelItem ? hotelItem.countryId : null;
|
|
23866
|
+
var region = hotelItem ? hotelItem.regionId : null;
|
|
23867
|
+
var oord = hotelItem ? hotelItem.oordId : null;
|
|
23868
|
+
var city = hotelItem ? hotelItem.locationId : null;
|
|
23869
|
+
var hotel = hotelItem ? hotelItem.productCode : null;
|
|
23870
|
+
if (typeof window !== 'undefined') {
|
|
23871
|
+
window.scrollTo(0, 0);
|
|
23872
|
+
}
|
|
23873
|
+
var destinationId = null;
|
|
23874
|
+
var destinationIsCountry = false;
|
|
23875
|
+
var destinationIsRegion = false;
|
|
23876
|
+
var destinationIsOord = false;
|
|
23877
|
+
var destinationIsLocation = false;
|
|
23878
|
+
if (country) {
|
|
23879
|
+
destinationId = country;
|
|
23880
|
+
destinationIsCountry = true;
|
|
23881
|
+
}
|
|
23882
|
+
else if (region) {
|
|
23883
|
+
destinationId = region;
|
|
23884
|
+
destinationIsRegion = true;
|
|
23885
|
+
}
|
|
23886
|
+
else if (oord) {
|
|
23887
|
+
destinationId = oord;
|
|
23888
|
+
destinationIsOord = true;
|
|
23889
|
+
}
|
|
23890
|
+
else if (city) {
|
|
23891
|
+
destinationId = city;
|
|
23892
|
+
destinationIsLocation = true;
|
|
23893
|
+
}
|
|
23894
|
+
var searchRequest = {
|
|
23895
|
+
officeId: 1,
|
|
23896
|
+
payload: {
|
|
23897
|
+
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
23898
|
+
serviceType: context.type === 'hotel' || context.type === 'hotel-flight' ? 3 : context.type === 'flight' ? 7 : context.type === 'roundTrip' ? 1 : 0,
|
|
23899
|
+
searchType: 0,
|
|
23900
|
+
destination: {
|
|
23901
|
+
id: Number(destinationId),
|
|
23902
|
+
isCountry: destinationIsCountry,
|
|
23903
|
+
isRegion: destinationIsRegion,
|
|
23904
|
+
isOord: destinationIsOord,
|
|
23905
|
+
isLocation: destinationIsLocation
|
|
23906
|
+
},
|
|
23907
|
+
rooms: getRequestRoomsFromEntry(rooms),
|
|
23908
|
+
fromDate: from,
|
|
23909
|
+
toDate: to,
|
|
23910
|
+
earliestFromOffset: 0,
|
|
23911
|
+
latestToOffset: 0,
|
|
23912
|
+
includeFlights: true,
|
|
23913
|
+
regimeCodes: entry.items.map(function (i) { return i.regimeCode; }) || [],
|
|
23914
|
+
useExactDates: true,
|
|
23915
|
+
onlyCachedResults: false,
|
|
23916
|
+
includeAllAllotments: true,
|
|
23917
|
+
productCodes: hotel ? [hotel] : []
|
|
23918
|
+
}
|
|
23919
|
+
};
|
|
23920
|
+
return searchRequest;
|
|
23921
|
+
};
|
|
23922
|
+
var buildSearchFromQueryParams = function (params) {
|
|
23923
|
+
var _a, _b, _c, _d, _e;
|
|
23924
|
+
var from = getDateFromParams(params, 'fromDate');
|
|
23925
|
+
var to = getDateFromParams(params, 'toDate');
|
|
23926
|
+
var rooms = getRoomsFromParams(params, 'rooms');
|
|
23927
|
+
var country = getNumberFromParams(params, 'country');
|
|
23928
|
+
var region = getNumberFromParams(params, 'region');
|
|
23929
|
+
var oord = getNumberFromParams(params, 'oord');
|
|
23930
|
+
var city = getNumberFromParams(params, 'location');
|
|
23931
|
+
var hotel = getNumberFromParams(params, 'hotel');
|
|
23932
|
+
var tagId = getNumberFromParams(params, 'tagId');
|
|
23933
|
+
// temp hardcoded params
|
|
23934
|
+
if (!from || !to) {
|
|
23935
|
+
from = '2026-04-07';
|
|
23936
|
+
to = '2026-04-13';
|
|
23937
|
+
}
|
|
23938
|
+
if (!country && !region && !oord && !city) {
|
|
23939
|
+
region = 1;
|
|
23940
|
+
}
|
|
23941
|
+
if (typeof window !== 'undefined') {
|
|
23942
|
+
window.scrollTo(0, 0);
|
|
23943
|
+
}
|
|
23944
|
+
var destinationId = null;
|
|
23945
|
+
var destinationIsCountry = false;
|
|
23946
|
+
var destinationIsRegion = false;
|
|
23947
|
+
var destinationIsOord = false;
|
|
23948
|
+
var destinationIsLocation = false;
|
|
23949
|
+
if (country) {
|
|
23950
|
+
destinationId = country;
|
|
23951
|
+
destinationIsCountry = true;
|
|
23952
|
+
}
|
|
23953
|
+
else if (region) {
|
|
23954
|
+
destinationId = region;
|
|
23955
|
+
destinationIsRegion = true;
|
|
23956
|
+
}
|
|
23957
|
+
else if (oord) {
|
|
23958
|
+
destinationId = oord;
|
|
23959
|
+
destinationIsOord = true;
|
|
23960
|
+
}
|
|
23961
|
+
else if (city) {
|
|
23962
|
+
destinationId = city;
|
|
23963
|
+
destinationIsLocation = true;
|
|
23964
|
+
}
|
|
23965
|
+
var searchRequest = {
|
|
23966
|
+
officeId: 1,
|
|
23967
|
+
payload: {
|
|
23968
|
+
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
23969
|
+
serviceType: context.type === 'hotel' || context.type === 'hotel-flight' ? 3 : context.type === 'flight' ? 7 : context.type === 'roundTrip' ? 1 : 0,
|
|
23970
|
+
searchType: 0,
|
|
23971
|
+
destination: {
|
|
23972
|
+
id: Number(destinationId),
|
|
23973
|
+
isCountry: destinationIsCountry,
|
|
23974
|
+
isRegion: destinationIsRegion,
|
|
23975
|
+
isOord: destinationIsOord,
|
|
23976
|
+
isLocation: destinationIsLocation
|
|
23977
|
+
},
|
|
23978
|
+
rooms: getRequestRooms(rooms),
|
|
23979
|
+
fromDate: from,
|
|
23980
|
+
toDate: to,
|
|
23981
|
+
earliestFromOffset: 0,
|
|
23982
|
+
latestToOffset: 0,
|
|
23983
|
+
includeFlights: true,
|
|
23984
|
+
regimeCodes: ((_c = (_b = filters
|
|
23985
|
+
.find(function (f) { return f.property === 'regime'; })) === null || _b === void 0 ? void 0 : _b.options) === null || _c === void 0 ? void 0 : _c.filter(function (o) { return o.isChecked; }).flatMap(function (o) { return o.value.toString(); })) || [],
|
|
23986
|
+
minPrice: (_d = filters.find(function (f) { return f.property === 'price'; })) === null || _d === void 0 ? void 0 : _d.selectedMin,
|
|
23987
|
+
maxPrice: (_e = filters.find(function (f) { return f.property === 'price'; })) === null || _e === void 0 ? void 0 : _e.selectedMax,
|
|
23988
|
+
useExactDates: true,
|
|
23989
|
+
onlyCachedResults: false,
|
|
23990
|
+
includeAllAllotments: true,
|
|
23991
|
+
productIds: hotel ? [hotel] : [],
|
|
23992
|
+
productTagIds: tagId ? [tagId] : []
|
|
23993
|
+
}
|
|
23994
|
+
};
|
|
23995
|
+
return searchRequest;
|
|
23996
|
+
};
|
|
23997
|
+
var getRequestRoomsFromEntry = function (rooms) {
|
|
23998
|
+
if (!rooms) {
|
|
23999
|
+
// Fall back to 2 adults
|
|
24000
|
+
var room = { index: 0, pax: [] };
|
|
24001
|
+
lodash.range(0, 2).forEach(function () {
|
|
24002
|
+
room.pax.push({
|
|
24003
|
+
age: 30
|
|
24004
|
+
});
|
|
24005
|
+
});
|
|
24006
|
+
return [room];
|
|
24007
|
+
}
|
|
24008
|
+
var requestRooms = rooms === null || rooms === void 0 ? void 0 : rooms.map(function (x, i) {
|
|
24009
|
+
var room = { index: i, pax: [] };
|
|
24010
|
+
x.travellers.forEach(function (p) {
|
|
24011
|
+
room.pax.push({
|
|
24012
|
+
age: p.age,
|
|
24013
|
+
dateOfBirth: p.dateOfBirth
|
|
24014
|
+
});
|
|
24015
|
+
});
|
|
24016
|
+
return room;
|
|
24017
|
+
});
|
|
24018
|
+
return requestRooms;
|
|
24019
|
+
};
|
|
24020
|
+
var getRequestRooms = function (rooms) {
|
|
24021
|
+
if (!rooms) {
|
|
24022
|
+
// Fall back to 2 adults
|
|
24023
|
+
var room = { index: 0, pax: [] };
|
|
24024
|
+
lodash.range(0, 2).forEach(function () {
|
|
24025
|
+
room.pax.push({
|
|
24026
|
+
age: 30
|
|
24027
|
+
});
|
|
24028
|
+
});
|
|
24029
|
+
return [room];
|
|
24030
|
+
}
|
|
24031
|
+
var requestRooms = rooms === null || rooms === void 0 ? void 0 : rooms.map(function (x, i) {
|
|
24032
|
+
var room = { index: i, pax: [] };
|
|
24033
|
+
lodash.range(0, x.adults).forEach(function () {
|
|
24034
|
+
room.pax.push({
|
|
24035
|
+
age: 30
|
|
24036
|
+
});
|
|
24037
|
+
});
|
|
24038
|
+
x.childAges.forEach(function (x) {
|
|
24039
|
+
room.pax.push({
|
|
24040
|
+
age: x
|
|
24041
|
+
});
|
|
24042
|
+
});
|
|
24043
|
+
return room;
|
|
24044
|
+
});
|
|
24045
|
+
return requestRooms;
|
|
24046
|
+
};
|
|
24047
|
+
React.useEffect(function () {
|
|
24048
|
+
if (typeof document !== 'undefined') {
|
|
24049
|
+
document.body.classList.toggle('has-overlay', filtersOpen);
|
|
24050
|
+
}
|
|
24051
|
+
}, [filtersOpen]);
|
|
23263
24052
|
// seperate Search
|
|
23264
24053
|
React.useEffect(function () {
|
|
23265
24054
|
var runSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
23266
|
-
var
|
|
23267
|
-
var _a
|
|
23268
|
-
return __generator(this, function (
|
|
23269
|
-
switch (
|
|
24055
|
+
var config, params, entryId, entryLight, searchRequest, packageSearchResults, enrichedFilters, matching, err_1;
|
|
24056
|
+
var _a;
|
|
24057
|
+
return __generator(this, function (_b) {
|
|
24058
|
+
switch (_b.label) {
|
|
23270
24059
|
case 0:
|
|
23271
24060
|
dispatch(setIsLoading(true));
|
|
23272
|
-
|
|
24061
|
+
_b.label = 1;
|
|
23273
24062
|
case 1:
|
|
23274
|
-
|
|
24063
|
+
_b.trys.push([1, 6, , 7]);
|
|
23275
24064
|
if (!context) {
|
|
23276
24065
|
return [2 /*return*/];
|
|
23277
24066
|
}
|
|
23278
|
-
params = new URLSearchParams(location.search);
|
|
23279
|
-
from = getDateFromParams(params, 'fromDate');
|
|
23280
|
-
to = getDateFromParams(params, 'toDate');
|
|
23281
|
-
rooms = getRoomsFromParams(params, 'rooms');
|
|
23282
|
-
country = getNumberFromParams(params, 'country');
|
|
23283
|
-
region = getNumberFromParams(params, 'region');
|
|
23284
|
-
oord = getNumberFromParams(params, 'oord');
|
|
23285
|
-
city = getNumberFromParams(params, 'location');
|
|
23286
|
-
hotel = getNumberFromParams(params, 'hotel');
|
|
23287
|
-
tagId = getNumberFromParams(params, 'tagId');
|
|
23288
|
-
// temp hardcoded params
|
|
23289
|
-
if (!from || !to) {
|
|
23290
|
-
from = '2026-04-07';
|
|
23291
|
-
to = '2026-04-13';
|
|
23292
|
-
}
|
|
23293
|
-
if (!country && !region && !oord && !city) {
|
|
23294
|
-
region = 1;
|
|
23295
|
-
}
|
|
23296
|
-
if (typeof window !== 'undefined') {
|
|
23297
|
-
window.scrollTo(0, 0);
|
|
23298
|
-
}
|
|
23299
|
-
destinationId = null;
|
|
23300
|
-
destinationIsCountry = false;
|
|
23301
|
-
destinationIsRegion = false;
|
|
23302
|
-
destinationIsOord = false;
|
|
23303
|
-
destinationIsLocation = false;
|
|
23304
|
-
if (country) {
|
|
23305
|
-
destinationId = country;
|
|
23306
|
-
destinationIsCountry = true;
|
|
23307
|
-
}
|
|
23308
|
-
else if (region) {
|
|
23309
|
-
destinationId = region;
|
|
23310
|
-
destinationIsRegion = true;
|
|
23311
|
-
}
|
|
23312
|
-
else if (oord) {
|
|
23313
|
-
destinationId = oord;
|
|
23314
|
-
destinationIsOord = true;
|
|
23315
|
-
}
|
|
23316
|
-
else if (city) {
|
|
23317
|
-
destinationId = city;
|
|
23318
|
-
destinationIsLocation = true;
|
|
23319
|
-
}
|
|
23320
|
-
searchRequest = {
|
|
23321
|
-
officeId: 1,
|
|
23322
|
-
payload: {
|
|
23323
|
-
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
23324
|
-
serviceType: (context === null || context === void 0 ? void 0 : context.type) === 'hotel' || (context === null || context === void 0 ? void 0 : context.type) === 'hotel-flight' ? 3 : (context === null || context === void 0 ? void 0 : context.type) === 'flight' ? 7 : (context === null || context === void 0 ? void 0 : context.type) === 'roundTrip' ? 1 : 0,
|
|
23325
|
-
searchType: 0,
|
|
23326
|
-
destination: {
|
|
23327
|
-
id: Number(destinationId),
|
|
23328
|
-
isCountry: destinationIsCountry,
|
|
23329
|
-
isRegion: destinationIsRegion,
|
|
23330
|
-
isOord: destinationIsOord,
|
|
23331
|
-
isLocation: destinationIsLocation
|
|
23332
|
-
},
|
|
23333
|
-
rooms: getRequestRooms(rooms),
|
|
23334
|
-
fromDate: from,
|
|
23335
|
-
toDate: to,
|
|
23336
|
-
earliestFromOffset: 0,
|
|
23337
|
-
latestToOffset: 0,
|
|
23338
|
-
includeFlights: true,
|
|
23339
|
-
regimeCodes: ((_c = (_b = filters
|
|
23340
|
-
.find(function (f) { return f.property === 'regime'; })) === null || _b === void 0 ? void 0 : _b.options) === null || _c === void 0 ? void 0 : _c.filter(function (o) { return o.isChecked; }).flatMap(function (o) { return o.value.toString(); })) || [],
|
|
23341
|
-
minPrice: (_d = filters.find(function (f) { return f.property === 'price'; })) === null || _d === void 0 ? void 0 : _d.selectedMin,
|
|
23342
|
-
maxPrice: (_e = filters.find(function (f) { return f.property === 'price'; })) === null || _e === void 0 ? void 0 : _e.selectedMax,
|
|
23343
|
-
useExactDates: true,
|
|
23344
|
-
onlyCachedResults: false,
|
|
23345
|
-
includeAllAllotments: true,
|
|
23346
|
-
productIds: hotel ? [hotel] : [],
|
|
23347
|
-
productTagIds: tagId ? [tagId] : []
|
|
23348
|
-
}
|
|
23349
|
-
};
|
|
23350
24067
|
config = {
|
|
23351
24068
|
host: context.tideConnection.host,
|
|
23352
24069
|
apiKey: context.tideConnection.apiKey
|
|
23353
24070
|
};
|
|
23354
|
-
|
|
24071
|
+
params = new URLSearchParams(location.search);
|
|
24072
|
+
entryId = getStringFromParams(params, 'entryId');
|
|
24073
|
+
entryLight = null;
|
|
24074
|
+
searchRequest = void 0;
|
|
24075
|
+
if (!entryId) return [3 /*break*/, 3];
|
|
24076
|
+
return [4 /*yield*/, build.getEntryLight(config, entryId)];
|
|
23355
24077
|
case 2:
|
|
23356
|
-
|
|
24078
|
+
entryLight = _b.sent();
|
|
24079
|
+
// populate itinerary store
|
|
24080
|
+
dispatch(setEntry({ entry: entryLight }));
|
|
24081
|
+
searchRequest = buildSearchFromEntry(entryLight);
|
|
24082
|
+
return [3 /*break*/, 4];
|
|
24083
|
+
case 3:
|
|
24084
|
+
searchRequest = buildSearchFromQueryParams(params);
|
|
24085
|
+
_b.label = 4;
|
|
24086
|
+
case 4: return [4 /*yield*/, build.search(config, searchRequest)];
|
|
24087
|
+
case 5:
|
|
24088
|
+
packageSearchResults = _b.sent();
|
|
23357
24089
|
console.log('Search results', packageSearchResults);
|
|
23358
24090
|
enrichedFilters = enrichFiltersWithResults(packageSearchResults, context.filters);
|
|
23359
24091
|
if (!initialFiltersSet) {
|
|
@@ -23363,25 +24095,35 @@ var SearchResultsContainer = function () {
|
|
|
23363
24095
|
}
|
|
23364
24096
|
dispatch(setResults({ results: packageSearchResults }));
|
|
23365
24097
|
if ((packageSearchResults === null || packageSearchResults === void 0 ? void 0 : packageSearchResults.length) > 0) {
|
|
23366
|
-
|
|
24098
|
+
if (entryId) {
|
|
24099
|
+
matching = packageSearchResults.find(function (r) { return r.productId === (entry === null || entry === void 0 ? void 0 : entry.id); });
|
|
24100
|
+
if (matching) {
|
|
24101
|
+
dispatch(setSelectedHotel(matching.productId));
|
|
24102
|
+
}
|
|
24103
|
+
}
|
|
24104
|
+
else {
|
|
24105
|
+
dispatch(setSelectedHotel((_a = packageSearchResults[0]) === null || _a === void 0 ? void 0 : _a.productId));
|
|
24106
|
+
}
|
|
23367
24107
|
}
|
|
23368
24108
|
dispatch(setIsLoading(false));
|
|
23369
|
-
return [3 /*break*/,
|
|
23370
|
-
case
|
|
23371
|
-
err_1 =
|
|
24109
|
+
return [3 /*break*/, 7];
|
|
24110
|
+
case 6:
|
|
24111
|
+
err_1 = _b.sent();
|
|
23372
24112
|
console.error('Search failed', err_1);
|
|
23373
24113
|
dispatch(setIsLoading(false));
|
|
23374
|
-
return [3 /*break*/,
|
|
23375
|
-
case
|
|
24114
|
+
return [3 /*break*/, 7];
|
|
24115
|
+
case 7: return [2 /*return*/];
|
|
23376
24116
|
}
|
|
23377
24117
|
});
|
|
23378
24118
|
}); };
|
|
23379
|
-
|
|
24119
|
+
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
24120
|
+
runSearch();
|
|
24121
|
+
}
|
|
23380
24122
|
}, [location.search, searchTrigger]);
|
|
23381
24123
|
// Seperate detailsCall
|
|
23382
24124
|
React.useEffect(function () {
|
|
23383
24125
|
var fetchPackageDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
23384
|
-
var config, selectedItem, params,
|
|
24126
|
+
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse, err_2;
|
|
23385
24127
|
var _a, _b;
|
|
23386
24128
|
return __generator(this, function (_c) {
|
|
23387
24129
|
switch (_c.label) {
|
|
@@ -23390,17 +24132,26 @@ var SearchResultsContainer = function () {
|
|
|
23390
24132
|
return [2 /*return*/];
|
|
23391
24133
|
_c.label = 1;
|
|
23392
24134
|
case 1:
|
|
23393
|
-
_c.trys.push([1,
|
|
24135
|
+
_c.trys.push([1, 6, , 7]);
|
|
23394
24136
|
config = {
|
|
23395
24137
|
host: context.tideConnection.host,
|
|
23396
24138
|
apiKey: context.tideConnection.apiKey
|
|
23397
24139
|
};
|
|
23398
24140
|
selectedItem = results.find(function (r) { return r.productId === selectedHotelId; });
|
|
23399
|
-
if (!selectedItem)
|
|
24141
|
+
if (!selectedItem) {
|
|
24142
|
+
// TODO: handle this case better, show an error message to the user
|
|
23400
24143
|
return [2 /*return*/];
|
|
24144
|
+
}
|
|
23401
24145
|
params = new URLSearchParams(location.search);
|
|
23402
|
-
|
|
23403
|
-
requestRooms =
|
|
24146
|
+
entryId = getStringFromParams(params, 'entryId');
|
|
24147
|
+
requestRooms = void 0;
|
|
24148
|
+
if (entry && entryId) {
|
|
24149
|
+
requestRooms = getRequestRoomsFromEntry(entry.rooms);
|
|
24150
|
+
}
|
|
24151
|
+
else {
|
|
24152
|
+
rooms = getRoomsFromParams(params, 'rooms');
|
|
24153
|
+
requestRooms = getRequestRooms(rooms);
|
|
24154
|
+
}
|
|
23404
24155
|
detailsRequest = {
|
|
23405
24156
|
officeId: 1,
|
|
23406
24157
|
payload: {
|
|
@@ -23420,65 +24171,32 @@ var SearchResultsContainer = function () {
|
|
|
23420
24171
|
postNights: null
|
|
23421
24172
|
}
|
|
23422
24173
|
};
|
|
23423
|
-
return [
|
|
24174
|
+
if (!(entry && entryId)) return [3 /*break*/, 3];
|
|
24175
|
+
requestRooms = getRequestRoomsFromEntry(entry.rooms);
|
|
24176
|
+
return [4 /*yield*/, build.details(config, detailsRequest)];
|
|
23424
24177
|
case 2:
|
|
24178
|
+
detailsResponse = _c.sent();
|
|
24179
|
+
console.log('Details:', detailsResponse);
|
|
24180
|
+
dispatch(setBookingPackageDetails({ details: detailsResponse === null || detailsResponse === void 0 ? void 0 : detailsResponse.payload }));
|
|
24181
|
+
return [3 /*break*/, 5];
|
|
24182
|
+
case 3: return [4 /*yield*/, build.detailsWL(config, detailsRequest)];
|
|
24183
|
+
case 4:
|
|
23425
24184
|
detailsWLResponse = _c.sent();
|
|
23426
24185
|
console.log('Details with entryLight:', detailsWLResponse);
|
|
23427
24186
|
dispatch(setBookingPackageDetails({ details: (_a = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _a === void 0 ? void 0 : _a.bookingPackage }));
|
|
23428
24187
|
dispatch(setEntry({ entry: (_b = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _b === void 0 ? void 0 : _b.entry }));
|
|
23429
|
-
|
|
23430
|
-
case 3
|
|
24188
|
+
_c.label = 5;
|
|
24189
|
+
case 5: return [3 /*break*/, 7];
|
|
24190
|
+
case 6:
|
|
23431
24191
|
err_2 = _c.sent();
|
|
23432
24192
|
console.error('Failed to fetch package details', err_2);
|
|
23433
|
-
return [3 /*break*/,
|
|
23434
|
-
case
|
|
24193
|
+
return [3 /*break*/, 7];
|
|
24194
|
+
case 7: return [2 /*return*/];
|
|
23435
24195
|
}
|
|
23436
24196
|
});
|
|
23437
24197
|
}); };
|
|
23438
24198
|
fetchPackageDetails();
|
|
23439
24199
|
}, [selectedHotelId]);
|
|
23440
|
-
var getRequestRooms = function (rooms) {
|
|
23441
|
-
if (!rooms) {
|
|
23442
|
-
// Fall back to 2 adults
|
|
23443
|
-
var room = { index: 0, pax: [] };
|
|
23444
|
-
lodash.range(0, 2).forEach(function () {
|
|
23445
|
-
room.pax.push({
|
|
23446
|
-
age: 30
|
|
23447
|
-
});
|
|
23448
|
-
});
|
|
23449
|
-
return [room];
|
|
23450
|
-
}
|
|
23451
|
-
var requestRooms = rooms === null || rooms === void 0 ? void 0 : rooms.map(function (x, i) {
|
|
23452
|
-
var room = { index: i, pax: [] };
|
|
23453
|
-
lodash.range(0, x.adults).forEach(function () {
|
|
23454
|
-
room.pax.push({
|
|
23455
|
-
age: 30
|
|
23456
|
-
});
|
|
23457
|
-
});
|
|
23458
|
-
x.childAges.forEach(function (x) {
|
|
23459
|
-
room.pax.push({
|
|
23460
|
-
age: x
|
|
23461
|
-
});
|
|
23462
|
-
});
|
|
23463
|
-
return room;
|
|
23464
|
-
});
|
|
23465
|
-
return requestRooms;
|
|
23466
|
-
};
|
|
23467
|
-
var _g = React.useState(false), filtersOpen = _g[0], setFiltersOpen = _g[1];
|
|
23468
|
-
var _h = React.useState(false), itineraryOpen = _h[0], setItineraryOpen = _h[1];
|
|
23469
|
-
var handleSortChange = function (newSortKey) {
|
|
23470
|
-
dispatch(setSortKey(newSortKey));
|
|
23471
|
-
};
|
|
23472
|
-
React.useEffect(function () {
|
|
23473
|
-
if (typeof document !== 'undefined') {
|
|
23474
|
-
document.body.classList.toggle('has-overlay', filtersOpen);
|
|
23475
|
-
}
|
|
23476
|
-
}, [filtersOpen]);
|
|
23477
|
-
var sortingOptions = [
|
|
23478
|
-
{ key: 'price-asc', label: translations.SRP.PRICE_ASC },
|
|
23479
|
-
{ key: 'price-desc', label: translations.SRP.PRICE_DESC },
|
|
23480
|
-
{ key: 'departure-date', label: translations.SRP.DEPARTURE_ASC }
|
|
23481
|
-
];
|
|
23482
24200
|
return (React__default["default"].createElement("div", { id: "tide-booking", className: "search__bg" }, context && (React__default["default"].createElement("div", { className: "search" },
|
|
23483
24201
|
React__default["default"].createElement("div", { className: "search__container" },
|
|
23484
24202
|
context.showFilters && (React__default["default"].createElement(Filters, { filters: filters, isOpen: filtersOpen, handleSetIsOpen: function () { return setFiltersOpen(!filtersOpen); }, handleApplyFilters: function () { return setSearchTrigger(function (prev) { return prev + 1; }); }, isLoading: isLoading })),
|
|
@@ -23501,9 +24219,11 @@ var SearchResultsContainer = function () {
|
|
|
23501
24219
|
React__default["default"].createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: translations.SRP.SORTBY, placeholder: translations.SRP.SORTBY, classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
|
|
23502
24220
|
React__default["default"].createElement("div", { className: "search__results__wrapper" },
|
|
23503
24221
|
context.showTabViews && React__default["default"].createElement(TabViews, null),
|
|
23504
|
-
context.
|
|
24222
|
+
context.showRoundTripResults && context.showMockup && React__default["default"].createElement(RoundTripResults, null),
|
|
24223
|
+
context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights) && (React__default["default"].createElement(FlightResults, { flights: bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights, isDeparture: true })),
|
|
23505
24224
|
context.showHotelAccommodationResults && React__default["default"].createElement(HotelAccommodationResults, { isLoading: isLoading, context: context }),
|
|
23506
|
-
context.
|
|
24225
|
+
context.showFlightAccommodationResults && context.showMockup && React__default["default"].createElement(FlightAccommodationResults, null),
|
|
24226
|
+
context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights) && (React__default["default"].createElement(FlightResults, { flights: bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights, isDeparture: false })))))))));
|
|
23507
24227
|
};
|
|
23508
24228
|
|
|
23509
24229
|
var createSearchResultsStore = function () {
|