@qite/tide-booking-component 1.4.36 → 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 +905 -184
- 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 +1 -0
- package/build/build-esm/index.js +905 -184
- 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 +1 -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/search-results-container/search-results-container.tsx +294 -146
- package/src/search-results/types.ts +1 -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;
|
|
@@ -23091,6 +23141,9 @@ var calculateNights = function (fromDate, toDate, translations) {
|
|
|
23091
23141
|
var HotelAccommodationResults = function (_a) {
|
|
23092
23142
|
var _b, _c;
|
|
23093
23143
|
var isLoading = _a.isLoading, context = _a.context;
|
|
23144
|
+
if (context.showMockup) {
|
|
23145
|
+
return showMocukups(context);
|
|
23146
|
+
}
|
|
23094
23147
|
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
23095
23148
|
if (isLoading) {
|
|
23096
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));
|
|
@@ -23124,6 +23177,191 @@ var HotelAccommodationResults = function (_a) {
|
|
|
23124
23177
|
" ",
|
|
23125
23178
|
React__default["default"].createElement("strong", null, translations.SRP.ACCOMMODATION)))),
|
|
23126
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"))))));
|
|
23127
23365
|
};
|
|
23128
23366
|
|
|
23129
23367
|
var enrichFiltersWithResults = function (results, filters) {
|
|
@@ -23172,7 +23410,7 @@ var FlightResults = function (_a) {
|
|
|
23172
23410
|
translations.SRP.SELECT,
|
|
23173
23411
|
" ",
|
|
23174
23412
|
React__default["default"].createElement("strong", null, isDeparture ? translations.SRP.DEPARTURE : translations.SRP.RETURN)))),
|
|
23175
|
-
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) {
|
|
23176
23414
|
var lines = flight.flightMetaData.flightLines;
|
|
23177
23415
|
var firstLine = lines[0];
|
|
23178
23416
|
var lastLine = lines[lines.length - 1];
|
|
@@ -23246,113 +23484,608 @@ var FlightResults = function (_a) {
|
|
|
23246
23484
|
React__default["default"].createElement("strong", null, formatDuration(dateFns.parseISO(nextLine.departureDate).getTime() - dateFns.parseISO(line.arrivalDate).getTime()))))))));
|
|
23247
23485
|
})))),
|
|
23248
23486
|
React__default["default"].createElement("div", { className: "flight__rate" })))));
|
|
23249
|
-
}))));
|
|
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" }))))))))));
|
|
23250
23837
|
};
|
|
23251
23838
|
|
|
23252
23839
|
var SearchResultsContainer = function () {
|
|
23253
23840
|
var _a, _b;
|
|
23254
|
-
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
23255
23841
|
var dispatch = reactRedux.useDispatch();
|
|
23256
23842
|
var context = React.useContext(SearchResultsConfigurationContext);
|
|
23257
23843
|
var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
|
|
23258
|
-
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)');
|
|
23259
23846
|
var _d = React.useState(0), searchTrigger = _d[0], setSearchTrigger = _d[1];
|
|
23260
23847
|
var _e = React.useState(false), initialFiltersSet = _e[0], setInitialFiltersSet = _e[1];
|
|
23261
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]);
|
|
23262
24052
|
// seperate Search
|
|
23263
24053
|
React.useEffect(function () {
|
|
23264
24054
|
var runSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
23265
|
-
var
|
|
23266
|
-
var _a
|
|
23267
|
-
return __generator(this, function (
|
|
23268
|
-
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) {
|
|
23269
24059
|
case 0:
|
|
23270
24060
|
dispatch(setIsLoading(true));
|
|
23271
|
-
|
|
24061
|
+
_b.label = 1;
|
|
23272
24062
|
case 1:
|
|
23273
|
-
|
|
24063
|
+
_b.trys.push([1, 6, , 7]);
|
|
23274
24064
|
if (!context) {
|
|
23275
24065
|
return [2 /*return*/];
|
|
23276
24066
|
}
|
|
23277
|
-
params = new URLSearchParams(location.search);
|
|
23278
|
-
from = getDateFromParams(params, 'fromDate');
|
|
23279
|
-
to = getDateFromParams(params, 'toDate');
|
|
23280
|
-
rooms = getRoomsFromParams(params, 'rooms');
|
|
23281
|
-
country = getNumberFromParams(params, 'country');
|
|
23282
|
-
region = getNumberFromParams(params, 'region');
|
|
23283
|
-
oord = getNumberFromParams(params, 'oord');
|
|
23284
|
-
city = getNumberFromParams(params, 'location');
|
|
23285
|
-
hotel = getNumberFromParams(params, 'hotel');
|
|
23286
|
-
tagId = getNumberFromParams(params, 'tagId');
|
|
23287
|
-
// temp hardcoded params
|
|
23288
|
-
if (!from || !to) {
|
|
23289
|
-
from = '2026-04-07';
|
|
23290
|
-
to = '2026-04-13';
|
|
23291
|
-
}
|
|
23292
|
-
if (!country && !region && !oord && !city) {
|
|
23293
|
-
region = 1;
|
|
23294
|
-
}
|
|
23295
|
-
if (typeof window !== 'undefined') {
|
|
23296
|
-
window.scrollTo(0, 0);
|
|
23297
|
-
}
|
|
23298
|
-
destinationId = null;
|
|
23299
|
-
destinationIsCountry = false;
|
|
23300
|
-
destinationIsRegion = false;
|
|
23301
|
-
destinationIsOord = false;
|
|
23302
|
-
destinationIsLocation = false;
|
|
23303
|
-
if (country) {
|
|
23304
|
-
destinationId = country;
|
|
23305
|
-
destinationIsCountry = true;
|
|
23306
|
-
}
|
|
23307
|
-
else if (region) {
|
|
23308
|
-
destinationId = region;
|
|
23309
|
-
destinationIsRegion = true;
|
|
23310
|
-
}
|
|
23311
|
-
else if (oord) {
|
|
23312
|
-
destinationId = oord;
|
|
23313
|
-
destinationIsOord = true;
|
|
23314
|
-
}
|
|
23315
|
-
else if (city) {
|
|
23316
|
-
destinationId = city;
|
|
23317
|
-
destinationIsLocation = true;
|
|
23318
|
-
}
|
|
23319
|
-
searchRequest = {
|
|
23320
|
-
officeId: 1,
|
|
23321
|
-
payload: {
|
|
23322
|
-
catalogueIds: (_a = context.tideConnection.catalogueIds) !== null && _a !== void 0 ? _a : [],
|
|
23323
|
-
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,
|
|
23324
|
-
searchType: 0,
|
|
23325
|
-
destination: {
|
|
23326
|
-
id: Number(destinationId),
|
|
23327
|
-
isCountry: destinationIsCountry,
|
|
23328
|
-
isRegion: destinationIsRegion,
|
|
23329
|
-
isOord: destinationIsOord,
|
|
23330
|
-
isLocation: destinationIsLocation
|
|
23331
|
-
},
|
|
23332
|
-
rooms: getRequestRooms(rooms),
|
|
23333
|
-
fromDate: from,
|
|
23334
|
-
toDate: to,
|
|
23335
|
-
earliestFromOffset: 0,
|
|
23336
|
-
latestToOffset: 0,
|
|
23337
|
-
includeFlights: true,
|
|
23338
|
-
regimeCodes: ((_c = (_b = filters
|
|
23339
|
-
.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(); })) || [],
|
|
23340
|
-
minPrice: (_d = filters.find(function (f) { return f.property === 'price'; })) === null || _d === void 0 ? void 0 : _d.selectedMin,
|
|
23341
|
-
maxPrice: (_e = filters.find(function (f) { return f.property === 'price'; })) === null || _e === void 0 ? void 0 : _e.selectedMax,
|
|
23342
|
-
useExactDates: true,
|
|
23343
|
-
onlyCachedResults: false,
|
|
23344
|
-
includeAllAllotments: true,
|
|
23345
|
-
productIds: hotel ? [hotel] : [],
|
|
23346
|
-
productTagIds: tagId ? [tagId] : []
|
|
23347
|
-
}
|
|
23348
|
-
};
|
|
23349
24067
|
config = {
|
|
23350
24068
|
host: context.tideConnection.host,
|
|
23351
24069
|
apiKey: context.tideConnection.apiKey
|
|
23352
24070
|
};
|
|
23353
|
-
|
|
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)];
|
|
23354
24077
|
case 2:
|
|
23355
|
-
|
|
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();
|
|
23356
24089
|
console.log('Search results', packageSearchResults);
|
|
23357
24090
|
enrichedFilters = enrichFiltersWithResults(packageSearchResults, context.filters);
|
|
23358
24091
|
if (!initialFiltersSet) {
|
|
@@ -23362,25 +24095,35 @@ var SearchResultsContainer = function () {
|
|
|
23362
24095
|
}
|
|
23363
24096
|
dispatch(setResults({ results: packageSearchResults }));
|
|
23364
24097
|
if ((packageSearchResults === null || packageSearchResults === void 0 ? void 0 : packageSearchResults.length) > 0) {
|
|
23365
|
-
|
|
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
|
+
}
|
|
23366
24107
|
}
|
|
23367
24108
|
dispatch(setIsLoading(false));
|
|
23368
|
-
return [3 /*break*/,
|
|
23369
|
-
case
|
|
23370
|
-
err_1 =
|
|
24109
|
+
return [3 /*break*/, 7];
|
|
24110
|
+
case 6:
|
|
24111
|
+
err_1 = _b.sent();
|
|
23371
24112
|
console.error('Search failed', err_1);
|
|
23372
24113
|
dispatch(setIsLoading(false));
|
|
23373
|
-
return [3 /*break*/,
|
|
23374
|
-
case
|
|
24114
|
+
return [3 /*break*/, 7];
|
|
24115
|
+
case 7: return [2 /*return*/];
|
|
23375
24116
|
}
|
|
23376
24117
|
});
|
|
23377
24118
|
}); };
|
|
23378
|
-
|
|
24119
|
+
if (!(context === null || context === void 0 ? void 0 : context.showMockup)) {
|
|
24120
|
+
runSearch();
|
|
24121
|
+
}
|
|
23379
24122
|
}, [location.search, searchTrigger]);
|
|
23380
24123
|
// Seperate detailsCall
|
|
23381
24124
|
React.useEffect(function () {
|
|
23382
24125
|
var fetchPackageDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
23383
|
-
var config, selectedItem, params,
|
|
24126
|
+
var config, selectedItem, params, entryId, requestRooms, rooms, detailsRequest, detailsResponse, detailsWLResponse, err_2;
|
|
23384
24127
|
var _a, _b;
|
|
23385
24128
|
return __generator(this, function (_c) {
|
|
23386
24129
|
switch (_c.label) {
|
|
@@ -23389,17 +24132,26 @@ var SearchResultsContainer = function () {
|
|
|
23389
24132
|
return [2 /*return*/];
|
|
23390
24133
|
_c.label = 1;
|
|
23391
24134
|
case 1:
|
|
23392
|
-
_c.trys.push([1,
|
|
24135
|
+
_c.trys.push([1, 6, , 7]);
|
|
23393
24136
|
config = {
|
|
23394
24137
|
host: context.tideConnection.host,
|
|
23395
24138
|
apiKey: context.tideConnection.apiKey
|
|
23396
24139
|
};
|
|
23397
24140
|
selectedItem = results.find(function (r) { return r.productId === selectedHotelId; });
|
|
23398
|
-
if (!selectedItem)
|
|
24141
|
+
if (!selectedItem) {
|
|
24142
|
+
// TODO: handle this case better, show an error message to the user
|
|
23399
24143
|
return [2 /*return*/];
|
|
24144
|
+
}
|
|
23400
24145
|
params = new URLSearchParams(location.search);
|
|
23401
|
-
|
|
23402
|
-
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
|
+
}
|
|
23403
24155
|
detailsRequest = {
|
|
23404
24156
|
officeId: 1,
|
|
23405
24157
|
payload: {
|
|
@@ -23419,65 +24171,32 @@ var SearchResultsContainer = function () {
|
|
|
23419
24171
|
postNights: null
|
|
23420
24172
|
}
|
|
23421
24173
|
};
|
|
23422
|
-
return [
|
|
24174
|
+
if (!(entry && entryId)) return [3 /*break*/, 3];
|
|
24175
|
+
requestRooms = getRequestRoomsFromEntry(entry.rooms);
|
|
24176
|
+
return [4 /*yield*/, build.details(config, detailsRequest)];
|
|
23423
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:
|
|
23424
24184
|
detailsWLResponse = _c.sent();
|
|
23425
24185
|
console.log('Details with entryLight:', detailsWLResponse);
|
|
23426
24186
|
dispatch(setBookingPackageDetails({ details: (_a = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _a === void 0 ? void 0 : _a.bookingPackage }));
|
|
23427
24187
|
dispatch(setEntry({ entry: (_b = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _b === void 0 ? void 0 : _b.entry }));
|
|
23428
|
-
|
|
23429
|
-
case 3
|
|
24188
|
+
_c.label = 5;
|
|
24189
|
+
case 5: return [3 /*break*/, 7];
|
|
24190
|
+
case 6:
|
|
23430
24191
|
err_2 = _c.sent();
|
|
23431
24192
|
console.error('Failed to fetch package details', err_2);
|
|
23432
|
-
return [3 /*break*/,
|
|
23433
|
-
case
|
|
24193
|
+
return [3 /*break*/, 7];
|
|
24194
|
+
case 7: return [2 /*return*/];
|
|
23434
24195
|
}
|
|
23435
24196
|
});
|
|
23436
24197
|
}); };
|
|
23437
24198
|
fetchPackageDetails();
|
|
23438
24199
|
}, [selectedHotelId]);
|
|
23439
|
-
var getRequestRooms = function (rooms) {
|
|
23440
|
-
if (!rooms) {
|
|
23441
|
-
// Fall back to 2 adults
|
|
23442
|
-
var room = { index: 0, pax: [] };
|
|
23443
|
-
lodash.range(0, 2).forEach(function () {
|
|
23444
|
-
room.pax.push({
|
|
23445
|
-
age: 30
|
|
23446
|
-
});
|
|
23447
|
-
});
|
|
23448
|
-
return [room];
|
|
23449
|
-
}
|
|
23450
|
-
var requestRooms = rooms === null || rooms === void 0 ? void 0 : rooms.map(function (x, i) {
|
|
23451
|
-
var room = { index: i, pax: [] };
|
|
23452
|
-
lodash.range(0, x.adults).forEach(function () {
|
|
23453
|
-
room.pax.push({
|
|
23454
|
-
age: 30
|
|
23455
|
-
});
|
|
23456
|
-
});
|
|
23457
|
-
x.childAges.forEach(function (x) {
|
|
23458
|
-
room.pax.push({
|
|
23459
|
-
age: x
|
|
23460
|
-
});
|
|
23461
|
-
});
|
|
23462
|
-
return room;
|
|
23463
|
-
});
|
|
23464
|
-
return requestRooms;
|
|
23465
|
-
};
|
|
23466
|
-
var _g = React.useState(false), filtersOpen = _g[0], setFiltersOpen = _g[1];
|
|
23467
|
-
var _h = React.useState(false), itineraryOpen = _h[0], setItineraryOpen = _h[1];
|
|
23468
|
-
var handleSortChange = function (newSortKey) {
|
|
23469
|
-
dispatch(setSortKey(newSortKey));
|
|
23470
|
-
};
|
|
23471
|
-
React.useEffect(function () {
|
|
23472
|
-
if (typeof document !== 'undefined') {
|
|
23473
|
-
document.body.classList.toggle('has-overlay', filtersOpen);
|
|
23474
|
-
}
|
|
23475
|
-
}, [filtersOpen]);
|
|
23476
|
-
var sortingOptions = [
|
|
23477
|
-
{ key: 'price-asc', label: translations.SRP.PRICE_ASC },
|
|
23478
|
-
{ key: 'price-desc', label: translations.SRP.PRICE_DESC },
|
|
23479
|
-
{ key: 'departure-date', label: translations.SRP.DEPARTURE_ASC }
|
|
23480
|
-
];
|
|
23481
24200
|
return (React__default["default"].createElement("div", { id: "tide-booking", className: "search__bg" }, context && (React__default["default"].createElement("div", { className: "search" },
|
|
23482
24201
|
React__default["default"].createElement("div", { className: "search__container" },
|
|
23483
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 })),
|
|
@@ -23500,9 +24219,11 @@ var SearchResultsContainer = function () {
|
|
|
23500
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 })))),
|
|
23501
24220
|
React__default["default"].createElement("div", { className: "search__results__wrapper" },
|
|
23502
24221
|
context.showTabViews && React__default["default"].createElement(TabViews, null),
|
|
23503
|
-
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 })),
|
|
23504
24224
|
context.showHotelAccommodationResults && React__default["default"].createElement(HotelAccommodationResults, { isLoading: isLoading, context: context }),
|
|
23505
|
-
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 })))))))));
|
|
23506
24227
|
};
|
|
23507
24228
|
|
|
23508
24229
|
var createSearchResultsStore = function () {
|