@qite/tide-booking-component 1.4.72 → 1.4.74

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.
@@ -33029,6 +33029,10 @@ var QSMContainer = function () {
33029
33029
  if (fromDate || toDate) return;
33030
33030
  var startDate = dateFns.addMonths(new Date(), 1);
33031
33031
  var endDate = dateFns.addDays(startDate, 7);
33032
+ if (qsmType === 'groupTour') {
33033
+ startDate = new Date();
33034
+ endDate = dateFns.addYears(startDate, 1);
33035
+ }
33032
33036
  dispatch(setFromDate(startDate.toISOString()));
33033
33037
  dispatch(setToDate(endDate.toISOString()));
33034
33038
  },
@@ -33045,26 +33049,24 @@ var QSMContainer = function () {
33045
33049
  [fromDate, toDate]
33046
33050
  );
33047
33051
  var handleDateChange = function (value) {
33048
- var _a, _b;
33049
- dispatch(setFromDate((_a = value.fromDate) === null || _a === void 0 ? void 0 : _a.toISOString()));
33050
- dispatch(setToDate((_b = value.toDate) === null || _b === void 0 ? void 0 : _b.toISOString()));
33052
+ dispatch(setFromDate(value.fromDate ? dateFns.format(value.fromDate, 'yyyy-MM-dd') : undefined));
33053
+ dispatch(setToDate(value.toDate ? dateFns.format(value.toDate, 'yyyy-MM-dd') : undefined));
33051
33054
  };
33052
33055
  var handleTripTypeChange = function (value) {
33053
33056
  dispatch(setTripType(value));
33054
33057
  };
33055
33058
  var handleQsmTypeChange = function (value) {
33056
33059
  dispatch(setSelectedQsmType(value));
33060
+ var startDate = dateFns.addMonths(new Date(), 1);
33061
+ var endDate = dateFns.addDays(startDate, 7);
33057
33062
  if (value === 'groupTour') {
33058
- handleDateChange({
33059
- fromDate: new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()),
33060
- toDate: dateFns.addYears(new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()), 1)
33061
- });
33062
- } else {
33063
- handleDateChange({
33064
- fromDate: new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()),
33065
- toDate: dateFns.addDays(new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()), 7)
33066
- });
33063
+ startDate = new Date();
33064
+ endDate = dateFns.addYears(startDate, 1);
33067
33065
  }
33066
+ handleDateChange({
33067
+ fromDate: startDate,
33068
+ toDate: endDate
33069
+ });
33068
33070
  };
33069
33071
  var handleSubmit = function () {
33070
33072
  if (!onSubmit) return;
@@ -40946,33 +40948,96 @@ var FlightResultsContainer = function (_a) {
40946
40948
  React__default['default'].createElement(
40947
40949
  'div',
40948
40950
  { className: 'search__results' },
40949
- flightsLoading
40950
- ? React__default['default'].createElement(Spinner, null)
40951
- : React__default['default'].createElement(
40952
- React__default['default'].Fragment,
40953
- null,
40954
- isMobile &&
40951
+ React__default['default'].createElement(
40952
+ React__default['default'].Fragment,
40953
+ null,
40954
+ isMobile &&
40955
+ React__default['default'].createElement(
40956
+ 'div',
40957
+ { className: 'search__result-row' },
40958
+ React__default['default'].createElement(
40959
+ 'div',
40960
+ { className: 'search__results__actions' },
40961
+ (context === null || context === void 0 ? void 0 : context.showFilters) &&
40962
+ React__default['default'].createElement(
40963
+ 'div',
40964
+ {
40965
+ className: 'cta cta--filter',
40966
+ onClick: function () {
40967
+ return setFiltersOpen(true);
40968
+ }
40969
+ },
40970
+ React__default['default'].createElement(Icon$1, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
40971
+ translations.SRP.FILTERS
40972
+ )
40973
+ ),
40974
+ sortByTypes &&
40975
+ sortByTypes.length > 0 &&
40976
+ React__default['default'].createElement(ItemPicker, {
40977
+ items: sortByTypes,
40978
+ selection: (selectedSortByType === null || selectedSortByType === void 0 ? void 0 : selectedSortByType.label) || undefined,
40979
+ selectedSortByType: selectedSortByType || undefined,
40980
+ label: translations.SRP.SORTBY,
40981
+ placeholder: translations.SRP.SORTBY,
40982
+ classModifier: 'travel-class-picker__items',
40983
+ valueFormatter: function (value, direction) {
40984
+ return getSortingName(translations, findSortByType(value, direction !== null && direction !== void 0 ? direction : 'asc'));
40985
+ },
40986
+ onPick: handleSortChange
40987
+ })
40988
+ ),
40989
+ React__default['default'].createElement(
40990
+ 'div',
40991
+ { className: 'search__result-row' },
40992
+ React__default['default'].createElement(
40993
+ 'span',
40994
+ { className: 'search__result-row-text' },
40995
+ !flightsLoading &&
40996
+ React__default['default'].createElement(
40997
+ React__default['default'].Fragment,
40998
+ null,
40999
+ (results === null || results === void 0 ? void 0 : results.length) &&
41000
+ React__default['default'].createElement(React__default['default'].Fragment, null, results.length, ' ', translations.SRP.TOTAL_RESULTS_LABEL)
41001
+ )
41002
+ ),
41003
+ !isMobile &&
41004
+ React__default['default'].createElement(
41005
+ React__default['default'].Fragment,
41006
+ null,
40955
41007
  React__default['default'].createElement(
40956
41008
  'div',
40957
- { className: 'search__result-row' },
41009
+ { className: 'search__result-row-filter' },
41010
+ React__default['default'].createElement(ItemPicker, {
41011
+ items: selectionTypes,
41012
+ selection:
41013
+ ((_c = selectionTypes.find(function (type) {
41014
+ return type.code === flightSelectionType;
41015
+ })) === null || _c === void 0
41016
+ ? void 0
41017
+ : _c.label) || undefined,
41018
+ label: 'Selection Type',
41019
+ placeholder: 'Selection Type',
41020
+ classModifier: 'travel-class-picker__items',
41021
+ valueFormatter: function (value) {
41022
+ return value;
41023
+ },
41024
+ onPick: function (value) {
41025
+ var _a;
41026
+ return setFlightSelectionType(
41027
+ ((_a = selectionTypes.find(function (type) {
41028
+ return type.label === value;
41029
+ })) === null || _a === void 0
41030
+ ? void 0
41031
+ : _a.code) || 'independent'
41032
+ );
41033
+ }
41034
+ })
41035
+ ),
41036
+ sortByTypes &&
41037
+ sortByTypes.length > 0 &&
40958
41038
  React__default['default'].createElement(
40959
41039
  'div',
40960
- { className: 'search__results__actions' },
40961
- (context === null || context === void 0 ? void 0 : context.showFilters) &&
40962
- React__default['default'].createElement(
40963
- 'div',
40964
- {
40965
- className: 'cta cta--filter',
40966
- onClick: function () {
40967
- return setFiltersOpen(true);
40968
- }
40969
- },
40970
- React__default['default'].createElement(Icon$1, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
40971
- translations.SRP.FILTERS
40972
- )
40973
- ),
40974
- sortByTypes &&
40975
- sortByTypes.length > 0 &&
41040
+ { className: 'search__result-row-filter' },
40976
41041
  React__default['default'].createElement(ItemPicker, {
40977
41042
  items: sortByTypes,
40978
41043
  selection: (selectedSortByType === null || selectedSortByType === void 0 ? void 0 : selectedSortByType.label) || undefined,
@@ -40985,85 +41050,20 @@ var FlightResultsContainer = function (_a) {
40985
41050
  },
40986
41051
  onPick: handleSortChange
40987
41052
  })
40988
- ),
40989
- React__default['default'].createElement(
40990
- 'div',
40991
- { className: 'search__result-row' },
40992
- React__default['default'].createElement(
40993
- 'span',
40994
- { className: 'search__result-row-text' },
40995
- !flightsLoading &&
40996
- React__default['default'].createElement(
40997
- React__default['default'].Fragment,
40998
- null,
40999
- (results === null || results === void 0 ? void 0 : results.length) && results.length,
41000
- ' ',
41001
- translations.SRP.TOTAL_RESULTS_LABEL
41002
- )
41003
- ),
41004
- !isMobile &&
41005
- React__default['default'].createElement(
41006
- React__default['default'].Fragment,
41007
- null,
41008
- React__default['default'].createElement(
41009
- 'div',
41010
- { className: 'search__result-row-filter' },
41011
- React__default['default'].createElement(ItemPicker, {
41012
- items: selectionTypes,
41013
- selection:
41014
- ((_c = selectionTypes.find(function (type) {
41015
- return type.code === flightSelectionType;
41016
- })) === null || _c === void 0
41017
- ? void 0
41018
- : _c.label) || undefined,
41019
- label: 'Selection Type',
41020
- placeholder: 'Selection Type',
41021
- classModifier: 'travel-class-picker__items',
41022
- valueFormatter: function (value) {
41023
- return value;
41024
- },
41025
- onPick: function (value) {
41026
- var _a;
41027
- return setFlightSelectionType(
41028
- ((_a = selectionTypes.find(function (type) {
41029
- return type.label === value;
41030
- })) === null || _a === void 0
41031
- ? void 0
41032
- : _a.code) || 'independent'
41033
- );
41034
- }
41035
- })
41036
- ),
41037
- sortByTypes &&
41038
- sortByTypes.length > 0 &&
41039
- React__default['default'].createElement(
41040
- 'div',
41041
- { className: 'search__result-row-filter' },
41042
- React__default['default'].createElement(ItemPicker, {
41043
- items: sortByTypes,
41044
- selection: (selectedSortByType === null || selectedSortByType === void 0 ? void 0 : selectedSortByType.label) || undefined,
41045
- selectedSortByType: selectedSortByType || undefined,
41046
- label: translations.SRP.SORTBY,
41047
- placeholder: translations.SRP.SORTBY,
41048
- classModifier: 'travel-class-picker__items',
41049
- valueFormatter: function (value, direction) {
41050
- return getSortingName(translations, findSortByType(value, direction !== null && direction !== void 0 ? direction : 'asc'));
41051
- },
41052
- onPick: handleSortChange
41053
- })
41054
- )
41055
41053
  )
41056
- ),
41057
- React__default['default'].createElement(
41058
- 'div',
41059
- { className: 'search__results__wrapper' },
41060
- (context === null || context === void 0 ? void 0 : context.type) == 'flight' &&
41061
- (context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
41062
- results &&
41063
- results.length > 0 &&
41064
- React__default['default'].createElement(FlightSelection, { searchResults: results, flightSelectionType: flightSelectionType })
41065
41054
  )
41066
- )
41055
+ ),
41056
+ React__default['default'].createElement(
41057
+ 'div',
41058
+ { className: 'search__results__wrapper' },
41059
+ flightsLoading && React__default['default'].createElement(Spinner, null),
41060
+ (context === null || context === void 0 ? void 0 : context.type) == 'flight' &&
41061
+ (context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
41062
+ results &&
41063
+ results.length > 0 &&
41064
+ React__default['default'].createElement(FlightSelection, { searchResults: results, flightSelectionType: flightSelectionType })
41065
+ )
41066
+ )
41067
41067
  )
41068
41068
  );
41069
41069
  };
@@ -41775,7 +41775,7 @@ var SearchResultsContainer = function () {
41775
41775
  var room = { index: i, pax: [] };
41776
41776
  lodash.range(0, x.adults).forEach(function () {
41777
41777
  room.pax.push({
41778
- age: Math.floor(Math.random() * 100)
41778
+ age: 30
41779
41779
  });
41780
41780
  });
41781
41781
  x.childAges.forEach(function (x) {
@@ -32894,6 +32894,10 @@ var QSMContainer = function () {
32894
32894
  if (fromDate || toDate) return;
32895
32895
  var startDate = addMonths(new Date(), 1);
32896
32896
  var endDate = addDays(startDate, 7);
32897
+ if (qsmType === 'groupTour') {
32898
+ startDate = new Date();
32899
+ endDate = addYears(startDate, 1);
32900
+ }
32897
32901
  dispatch(setFromDate(startDate.toISOString()));
32898
32902
  dispatch(setToDate(endDate.toISOString()));
32899
32903
  },
@@ -32910,26 +32914,24 @@ var QSMContainer = function () {
32910
32914
  [fromDate, toDate]
32911
32915
  );
32912
32916
  var handleDateChange = function (value) {
32913
- var _a, _b;
32914
- dispatch(setFromDate((_a = value.fromDate) === null || _a === void 0 ? void 0 : _a.toISOString()));
32915
- dispatch(setToDate((_b = value.toDate) === null || _b === void 0 ? void 0 : _b.toISOString()));
32917
+ dispatch(setFromDate(value.fromDate ? format$1(value.fromDate, 'yyyy-MM-dd') : undefined));
32918
+ dispatch(setToDate(value.toDate ? format$1(value.toDate, 'yyyy-MM-dd') : undefined));
32916
32919
  };
32917
32920
  var handleTripTypeChange = function (value) {
32918
32921
  dispatch(setTripType(value));
32919
32922
  };
32920
32923
  var handleQsmTypeChange = function (value) {
32921
32924
  dispatch(setSelectedQsmType(value));
32925
+ var startDate = addMonths(new Date(), 1);
32926
+ var endDate = addDays(startDate, 7);
32922
32927
  if (value === 'groupTour') {
32923
- handleDateChange({
32924
- fromDate: new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()),
32925
- toDate: addYears(new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()), 1)
32926
- });
32927
- } else {
32928
- handleDateChange({
32929
- fromDate: new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()),
32930
- toDate: addDays(new Date(fromDate !== null && fromDate !== void 0 ? fromDate : Date.now()), 7)
32931
- });
32928
+ startDate = new Date();
32929
+ endDate = addYears(startDate, 1);
32932
32930
  }
32931
+ handleDateChange({
32932
+ fromDate: startDate,
32933
+ toDate: endDate
32934
+ });
32933
32935
  };
32934
32936
  var handleSubmit = function () {
32935
32937
  if (!onSubmit) return;
@@ -40651,33 +40653,96 @@ var FlightResultsContainer = function (_a) {
40651
40653
  React__default.createElement(
40652
40654
  'div',
40653
40655
  { className: 'search__results' },
40654
- flightsLoading
40655
- ? React__default.createElement(Spinner, null)
40656
- : React__default.createElement(
40657
- React__default.Fragment,
40658
- null,
40659
- isMobile &&
40656
+ React__default.createElement(
40657
+ React__default.Fragment,
40658
+ null,
40659
+ isMobile &&
40660
+ React__default.createElement(
40661
+ 'div',
40662
+ { className: 'search__result-row' },
40663
+ React__default.createElement(
40664
+ 'div',
40665
+ { className: 'search__results__actions' },
40666
+ (context === null || context === void 0 ? void 0 : context.showFilters) &&
40667
+ React__default.createElement(
40668
+ 'div',
40669
+ {
40670
+ className: 'cta cta--filter',
40671
+ onClick: function () {
40672
+ return setFiltersOpen(true);
40673
+ }
40674
+ },
40675
+ React__default.createElement(Icon$1, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
40676
+ translations.SRP.FILTERS
40677
+ )
40678
+ ),
40679
+ sortByTypes &&
40680
+ sortByTypes.length > 0 &&
40681
+ React__default.createElement(ItemPicker, {
40682
+ items: sortByTypes,
40683
+ selection: (selectedSortByType === null || selectedSortByType === void 0 ? void 0 : selectedSortByType.label) || undefined,
40684
+ selectedSortByType: selectedSortByType || undefined,
40685
+ label: translations.SRP.SORTBY,
40686
+ placeholder: translations.SRP.SORTBY,
40687
+ classModifier: 'travel-class-picker__items',
40688
+ valueFormatter: function (value, direction) {
40689
+ return getSortingName(translations, findSortByType(value, direction !== null && direction !== void 0 ? direction : 'asc'));
40690
+ },
40691
+ onPick: handleSortChange
40692
+ })
40693
+ ),
40694
+ React__default.createElement(
40695
+ 'div',
40696
+ { className: 'search__result-row' },
40697
+ React__default.createElement(
40698
+ 'span',
40699
+ { className: 'search__result-row-text' },
40700
+ !flightsLoading &&
40701
+ React__default.createElement(
40702
+ React__default.Fragment,
40703
+ null,
40704
+ (results === null || results === void 0 ? void 0 : results.length) &&
40705
+ React__default.createElement(React__default.Fragment, null, results.length, ' ', translations.SRP.TOTAL_RESULTS_LABEL)
40706
+ )
40707
+ ),
40708
+ !isMobile &&
40709
+ React__default.createElement(
40710
+ React__default.Fragment,
40711
+ null,
40660
40712
  React__default.createElement(
40661
40713
  'div',
40662
- { className: 'search__result-row' },
40714
+ { className: 'search__result-row-filter' },
40715
+ React__default.createElement(ItemPicker, {
40716
+ items: selectionTypes,
40717
+ selection:
40718
+ ((_c = selectionTypes.find(function (type) {
40719
+ return type.code === flightSelectionType;
40720
+ })) === null || _c === void 0
40721
+ ? void 0
40722
+ : _c.label) || undefined,
40723
+ label: 'Selection Type',
40724
+ placeholder: 'Selection Type',
40725
+ classModifier: 'travel-class-picker__items',
40726
+ valueFormatter: function (value) {
40727
+ return value;
40728
+ },
40729
+ onPick: function (value) {
40730
+ var _a;
40731
+ return setFlightSelectionType(
40732
+ ((_a = selectionTypes.find(function (type) {
40733
+ return type.label === value;
40734
+ })) === null || _a === void 0
40735
+ ? void 0
40736
+ : _a.code) || 'independent'
40737
+ );
40738
+ }
40739
+ })
40740
+ ),
40741
+ sortByTypes &&
40742
+ sortByTypes.length > 0 &&
40663
40743
  React__default.createElement(
40664
40744
  'div',
40665
- { className: 'search__results__actions' },
40666
- (context === null || context === void 0 ? void 0 : context.showFilters) &&
40667
- React__default.createElement(
40668
- 'div',
40669
- {
40670
- className: 'cta cta--filter',
40671
- onClick: function () {
40672
- return setFiltersOpen(true);
40673
- }
40674
- },
40675
- React__default.createElement(Icon$1, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
40676
- translations.SRP.FILTERS
40677
- )
40678
- ),
40679
- sortByTypes &&
40680
- sortByTypes.length > 0 &&
40745
+ { className: 'search__result-row-filter' },
40681
40746
  React__default.createElement(ItemPicker, {
40682
40747
  items: sortByTypes,
40683
40748
  selection: (selectedSortByType === null || selectedSortByType === void 0 ? void 0 : selectedSortByType.label) || undefined,
@@ -40690,85 +40755,20 @@ var FlightResultsContainer = function (_a) {
40690
40755
  },
40691
40756
  onPick: handleSortChange
40692
40757
  })
40693
- ),
40694
- React__default.createElement(
40695
- 'div',
40696
- { className: 'search__result-row' },
40697
- React__default.createElement(
40698
- 'span',
40699
- { className: 'search__result-row-text' },
40700
- !flightsLoading &&
40701
- React__default.createElement(
40702
- React__default.Fragment,
40703
- null,
40704
- (results === null || results === void 0 ? void 0 : results.length) && results.length,
40705
- ' ',
40706
- translations.SRP.TOTAL_RESULTS_LABEL
40707
- )
40708
- ),
40709
- !isMobile &&
40710
- React__default.createElement(
40711
- React__default.Fragment,
40712
- null,
40713
- React__default.createElement(
40714
- 'div',
40715
- { className: 'search__result-row-filter' },
40716
- React__default.createElement(ItemPicker, {
40717
- items: selectionTypes,
40718
- selection:
40719
- ((_c = selectionTypes.find(function (type) {
40720
- return type.code === flightSelectionType;
40721
- })) === null || _c === void 0
40722
- ? void 0
40723
- : _c.label) || undefined,
40724
- label: 'Selection Type',
40725
- placeholder: 'Selection Type',
40726
- classModifier: 'travel-class-picker__items',
40727
- valueFormatter: function (value) {
40728
- return value;
40729
- },
40730
- onPick: function (value) {
40731
- var _a;
40732
- return setFlightSelectionType(
40733
- ((_a = selectionTypes.find(function (type) {
40734
- return type.label === value;
40735
- })) === null || _a === void 0
40736
- ? void 0
40737
- : _a.code) || 'independent'
40738
- );
40739
- }
40740
- })
40741
- ),
40742
- sortByTypes &&
40743
- sortByTypes.length > 0 &&
40744
- React__default.createElement(
40745
- 'div',
40746
- { className: 'search__result-row-filter' },
40747
- React__default.createElement(ItemPicker, {
40748
- items: sortByTypes,
40749
- selection: (selectedSortByType === null || selectedSortByType === void 0 ? void 0 : selectedSortByType.label) || undefined,
40750
- selectedSortByType: selectedSortByType || undefined,
40751
- label: translations.SRP.SORTBY,
40752
- placeholder: translations.SRP.SORTBY,
40753
- classModifier: 'travel-class-picker__items',
40754
- valueFormatter: function (value, direction) {
40755
- return getSortingName(translations, findSortByType(value, direction !== null && direction !== void 0 ? direction : 'asc'));
40756
- },
40757
- onPick: handleSortChange
40758
- })
40759
- )
40760
40758
  )
40761
- ),
40762
- React__default.createElement(
40763
- 'div',
40764
- { className: 'search__results__wrapper' },
40765
- (context === null || context === void 0 ? void 0 : context.type) == 'flight' &&
40766
- (context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
40767
- results &&
40768
- results.length > 0 &&
40769
- React__default.createElement(FlightSelection, { searchResults: results, flightSelectionType: flightSelectionType })
40770
40759
  )
40771
- )
40760
+ ),
40761
+ React__default.createElement(
40762
+ 'div',
40763
+ { className: 'search__results__wrapper' },
40764
+ flightsLoading && React__default.createElement(Spinner, null),
40765
+ (context === null || context === void 0 ? void 0 : context.type) == 'flight' &&
40766
+ (context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
40767
+ results &&
40768
+ results.length > 0 &&
40769
+ React__default.createElement(FlightSelection, { searchResults: results, flightSelectionType: flightSelectionType })
40770
+ )
40771
+ )
40772
40772
  )
40773
40773
  );
40774
40774
  };
@@ -41480,7 +41480,7 @@ var SearchResultsContainer = function () {
41480
41480
  var room = { index: i, pax: [] };
41481
41481
  range(0, x.adults).forEach(function () {
41482
41482
  room.pax.push({
41483
- age: Math.floor(Math.random() * 100)
41483
+ age: 30
41484
41484
  });
41485
41485
  });
41486
41486
  x.childAges.forEach(function (x) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qite/tide-booking-component",
3
- "version": "1.4.72",
3
+ "version": "1.4.74",
4
4
  "description": "React Booking wizard & Booking product component for Tide",
5
5
  "main": "build/build-cjs/index.js",
6
6
  "types": "build/build-cjs/src/index.d.ts",
@@ -12,7 +12,7 @@ import TravelClassPicker from '../travel-class-picker';
12
12
  import TravelTypePicker from '../travel-type-picker';
13
13
  import Icon from '../icon';
14
14
  import TravelNationalityPicker from '../travel-nationality-picker';
15
- import { addDays, addMonths, addYears } from 'date-fns';
15
+ import { addDays, addMonths, addYears, format } from 'date-fns';
16
16
  import { DateRange } from '../../../booking-product/types';
17
17
  import { QSMState, setFromDate, setSelectedQsmType, setToDate, setTripType } from '../../store/qsm-slice';
18
18
  import { BaseFieldConfig, DoubleFieldConfig } from '../../types';
@@ -47,8 +47,13 @@ const QSMContainer: React.FC = () => {
47
47
  useEffect(() => {
48
48
  if (fromDate || toDate) return;
49
49
 
50
- const startDate = addMonths(new Date(), 1);
51
- const endDate = addDays(startDate, 7);
50
+ let startDate = addMonths(new Date(), 1);
51
+ let endDate = addDays(startDate, 7);
52
+
53
+ if (qsmType === 'groupTour') {
54
+ startDate = new Date();
55
+ endDate = addYears(startDate, 1);
56
+ }
52
57
 
53
58
  dispatch(setFromDate(startDate.toISOString()));
54
59
  dispatch(setToDate(endDate.toISOString()));
@@ -64,8 +69,8 @@ const QSMContainer: React.FC = () => {
64
69
  }, [fromDate, toDate]);
65
70
 
66
71
  const handleDateChange = (value: DateRange) => {
67
- dispatch(setFromDate(value.fromDate?.toISOString()));
68
- dispatch(setToDate(value.toDate?.toISOString()));
72
+ dispatch(setFromDate(value.fromDate ? format(value.fromDate, 'yyyy-MM-dd') : undefined));
73
+ dispatch(setToDate(value.toDate ? format(value.toDate, 'yyyy-MM-dd') : undefined));
69
74
  };
70
75
 
71
76
  const handleTripTypeChange = (value: 'oneway' | 'roundtrip' | 'openjaw') => {
@@ -75,17 +80,18 @@ const QSMContainer: React.FC = () => {
75
80
  const handleQsmTypeChange = (value: SRPType) => {
76
81
  dispatch(setSelectedQsmType(value));
77
82
 
83
+ let startDate = addMonths(new Date(), 1);
84
+ let endDate = addDays(startDate, 7);
85
+
78
86
  if (value === 'groupTour') {
79
- handleDateChange({
80
- fromDate: new Date(fromDate ?? Date.now()),
81
- toDate: addYears(new Date(fromDate ?? Date.now()), 1)
82
- });
83
- } else {
84
- handleDateChange({
85
- fromDate: new Date(fromDate ?? Date.now()),
86
- toDate: addDays(new Date(fromDate ?? Date.now()), 7)
87
- });
87
+ startDate = new Date();
88
+ endDate = addYears(startDate, 1);
88
89
  }
90
+
91
+ handleDateChange({
92
+ fromDate: startDate,
93
+ toDate: endDate
94
+ });
89
95
  };
90
96
 
91
97
  const handleSubmit = () => {
@@ -57,81 +57,82 @@ const FlightResultsContainer: React.FC<FlightResultsContainerProps> = ({ isMobil
57
57
  {context?.showFilters && <FlightFilters isOpen={filtersOpen} handleSetIsOpen={() => setFiltersOpen(!filtersOpen)} isLoading={flightsLoading} />}
58
58
  {/* ---------------- Results ---------------- */}
59
59
  <div className="search__results">
60
- {flightsLoading ? (
61
- <Spinner />
62
- ) : (
63
- <>
64
- {isMobile && (
65
- <div className="search__result-row">
66
- <div className="search__results__actions">
67
- {context?.showFilters && (
68
- <div className="cta cta--filter" onClick={() => setFiltersOpen(true)}>
69
- <Icon name="ui-filter" className="mobile-filters-button__icon" height={16} />
70
- {translations.SRP.FILTERS}
71
- </div>
72
- )}
73
- </div>
74
- {sortByTypes && sortByTypes.length > 0 && (
75
- <ItemPicker
76
- items={sortByTypes}
77
- selection={selectedSortByType?.label || undefined}
78
- selectedSortByType={selectedSortByType || undefined}
79
- label={translations.SRP.SORTBY}
80
- placeholder={translations.SRP.SORTBY}
81
- classModifier="travel-class-picker__items"
82
- valueFormatter={(value, direction) => getSortingName(translations, findSortByType(value, direction ?? 'asc'))}
83
- onPick={handleSortChange}
84
- />
60
+ <>
61
+ {isMobile && (
62
+ <div className="search__result-row">
63
+ <div className="search__results__actions">
64
+ {context?.showFilters && (
65
+ <div className="cta cta--filter" onClick={() => setFiltersOpen(true)}>
66
+ <Icon name="ui-filter" className="mobile-filters-button__icon" height={16} />
67
+ {translations.SRP.FILTERS}
68
+ </div>
85
69
  )}
86
70
  </div>
87
- )}
71
+ {sortByTypes && sortByTypes.length > 0 && (
72
+ <ItemPicker
73
+ items={sortByTypes}
74
+ selection={selectedSortByType?.label || undefined}
75
+ selectedSortByType={selectedSortByType || undefined}
76
+ label={translations.SRP.SORTBY}
77
+ placeholder={translations.SRP.SORTBY}
78
+ classModifier="travel-class-picker__items"
79
+ valueFormatter={(value, direction) => getSortingName(translations, findSortByType(value, direction ?? 'asc'))}
80
+ onPick={handleSortChange}
81
+ />
82
+ )}
83
+ </div>
84
+ )}
88
85
 
89
- <div className="search__result-row">
90
- <span className="search__result-row-text">
91
- {!flightsLoading && (
92
- <>
93
- {results?.length && results.length} {translations.SRP.TOTAL_RESULTS_LABEL}
94
- </>
95
- )}
96
- </span>
97
- {!isMobile && (
86
+ <div className="search__result-row">
87
+ <span className="search__result-row-text">
88
+ {!flightsLoading && (
98
89
  <>
90
+ {results?.length && (
91
+ <>
92
+ {results.length} {translations.SRP.TOTAL_RESULTS_LABEL}
93
+ </>
94
+ )}
95
+ </>
96
+ )}
97
+ </span>
98
+ {!isMobile && (
99
+ <>
100
+ <div className="search__result-row-filter">
101
+ <ItemPicker
102
+ items={selectionTypes}
103
+ selection={selectionTypes.find((type) => type.code === flightSelectionType)?.label || undefined}
104
+ label="Selection Type"
105
+ placeholder="Selection Type"
106
+ classModifier="travel-class-picker__items"
107
+ valueFormatter={(value) => value}
108
+ onPick={(value) => setFlightSelectionType(selectionTypes.find((type) => type.label === value)?.code || 'independent')}
109
+ />
110
+ </div>
111
+ {sortByTypes && sortByTypes.length > 0 && (
99
112
  <div className="search__result-row-filter">
100
113
  <ItemPicker
101
- items={selectionTypes}
102
- selection={selectionTypes.find((type) => type.code === flightSelectionType)?.label || undefined}
103
- label="Selection Type"
104
- placeholder="Selection Type"
114
+ items={sortByTypes}
115
+ selection={selectedSortByType?.label || undefined}
116
+ selectedSortByType={selectedSortByType || undefined}
117
+ label={translations.SRP.SORTBY}
118
+ placeholder={translations.SRP.SORTBY}
105
119
  classModifier="travel-class-picker__items"
106
- valueFormatter={(value) => value}
107
- onPick={(value) => setFlightSelectionType(selectionTypes.find((type) => type.label === value)?.code || 'independent')}
120
+ valueFormatter={(value, direction) => getSortingName(translations, findSortByType(value, direction ?? 'asc'))}
121
+ onPick={handleSortChange}
108
122
  />
109
123
  </div>
110
- {sortByTypes && sortByTypes.length > 0 && (
111
- <div className="search__result-row-filter">
112
- <ItemPicker
113
- items={sortByTypes}
114
- selection={selectedSortByType?.label || undefined}
115
- selectedSortByType={selectedSortByType || undefined}
116
- label={translations.SRP.SORTBY}
117
- placeholder={translations.SRP.SORTBY}
118
- classModifier="travel-class-picker__items"
119
- valueFormatter={(value, direction) => getSortingName(translations, findSortByType(value, direction ?? 'asc'))}
120
- onPick={handleSortChange}
121
- />
122
- </div>
123
- )}
124
- </>
125
- )}
126
- </div>
124
+ )}
125
+ </>
126
+ )}
127
+ </div>
127
128
 
128
- <div className="search__results__wrapper">
129
- {context?.type == 'flight' && context?.showFlightAccommodationResults && results && results.length > 0 && (
130
- <FlightSelection searchResults={results} flightSelectionType={flightSelectionType} />
131
- )}
132
- </div>
133
- </>
134
- )}
129
+ <div className="search__results__wrapper">
130
+ {flightsLoading && <Spinner />}
131
+ {context?.type == 'flight' && context?.showFlightAccommodationResults && results && results.length > 0 && (
132
+ <FlightSelection searchResults={results} flightSelectionType={flightSelectionType} />
133
+ )}
134
+ </div>
135
+ </>
135
136
  </div>
136
137
  </>
137
138
  );
@@ -270,7 +270,7 @@ const SearchResultsContainer: React.FC = () => {
270
270
  var room = { index: i, pax: [] } as BookingPackageRequestRoom;
271
271
  range(0, x.adults).forEach(() => {
272
272
  room.pax.push({
273
- age: Math.floor(Math.random() * 100)
273
+ age: 30
274
274
  } as BookingPackagePax);
275
275
  });
276
276
  x.childAges.forEach((x) => {
@@ -1,4 +1,5 @@
1
- #tide-booking {
1
+ #tide-booking,
2
+ #tide-content {
2
3
  @import './components/mixins';
3
4
  @import './components/placeholders';
4
5
  @import './components/base';