@bytebrand/fe-ui-core 4.2.251 → 4.3.1

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.
Files changed (125) hide show
  1. package/__tests__/utils/CommonUtils/getOfferSliders.test.ts +2 -4
  2. package/common.ts +2 -6
  3. package/package.json +2 -3
  4. package/source/components/AccordionWidget/AccordionWidget.tsx +3 -1
  5. package/source/components/Breadcrumbs/Breadcrumbs.tsx +3 -3
  6. package/source/components/Checkout/CheckoutStepper/CheckoutStepper.styl +190 -2
  7. package/source/components/Checkout/CheckoutStepper/CheckoutStepper.tsx +16 -15
  8. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.styl +2 -2
  9. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.tsx +3 -3
  10. package/source/components/FormattedNumber/FormattedNumber.tsx +3 -2
  11. package/source/components/InfoBlocks/FirstInfoBlock/FirstInfoBlockItem/FirstInfoBlockItem.styl +6 -4
  12. package/source/components/OfferDetailedSection/partials/PanelConfig.tsx +3 -0
  13. package/source/components/OfferPanel/MuiOfferPeriod/{MuiOfferPeriod.theme.tsx → MuiOfferPeriod.theme.js} +13 -8
  14. package/source/components/OfferPanel/MuiOfferPeriod/MuiOfferPeriod.tsx +4 -28
  15. package/source/components/OfferPanel/OfferCheckboxGroup/CheckboxContainer.tsx +12 -6
  16. package/source/components/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.tsx +1 -1
  17. package/source/components/OfferPanel/OfferPanel.tsx +1 -1
  18. package/source/components/OfferPanel/OfferPeriod/OfferPeriod.tsx +4 -0
  19. package/source/components/OfferPanel/RangeGroup/RangeGroup.tsx +4 -6
  20. package/source/components/PriceRatingDetailed/PriceRatingDetailed.tsx +2 -6
  21. package/source/components/SearchFilters/filters/AlternativeID.tsx +53 -42
  22. package/source/components/SearchFilters/filters/DriveType.tsx +1 -1
  23. package/source/components/SearchFilters/filters/EmissionSticker.tsx +1 -1
  24. package/source/components/SearchFilters/filters/FirstRegistration.tsx +1 -0
  25. package/source/components/SearchFilters/filters/InteriorColor.tsx +1 -1
  26. package/source/components/SearchFilters/filters/InteriorMaterial.tsx +1 -2
  27. package/source/components/SearchFilters/filters/Mileage.tsx +1 -1
  28. package/source/components/SearchFilters/filters/Power.tsx +17 -36
  29. package/source/components/SearchFilters/filters/StateOptions.tsx +1 -0
  30. package/source/components/SearchFilters/filters/Transmission.tsx +1 -1
  31. package/source/components/SearchPage/SearchChips/SearchChips.tsx +1 -1
  32. package/source/components/SearchPageMobile/FiltersDetailed/BodyType.tsx +3 -3
  33. package/source/components/SearchPageMobile/FiltersDetailed/Consumption.tsx +2 -2
  34. package/source/components/SearchPageMobile/FiltersDetailed/Doors.tsx +1 -1
  35. package/source/components/SearchPageMobile/FiltersDetailed/MakeModel.tsx +1 -1
  36. package/source/components/SearchWidget/ColorWidget/BodyColorWidget.tsx +3 -3
  37. package/source/components/SearchWidget/EnvironmentWidget/EnvironmentWidget.tsx +3 -3
  38. package/source/components/SearchWidget/HighlightsWidget/HighlightsWidget.tsx +2 -2
  39. package/source/components/SearchWidget/StateWidget/StateWidget.tsx +2 -1
  40. package/source/components/SearchWidgetsMobile/BasicDataWidgetMobile/BasicDataWidgetMobile.tsx +4 -4
  41. package/source/components/SearchWidgetsMobile/EquipmentsWidget/EquipmentsWidget.tsx +16 -16
  42. package/source/components/SearchWidgetsMobile/HighlightsWidgetMobile/HighlightsWidgetMobile.tsx +1 -1
  43. package/source/components/SearchWidgetsMobile/InteriorWidget/InteriorWidget.tsx +1 -1
  44. package/source/components/SearchWidgetsMobile/SafetyWidget/SafetyWidget.tsx +6 -6
  45. package/source/components/Stepper/Stepper.tsx +3 -4
  46. package/source/components/UserDashboardPage/sections/OrderStatusSection/AdditionalOrderInfo.styl +2 -11
  47. package/source/components/UserDashboardPage/sections/OrderStatusSection/AdditionalOrderInfo.tsx +5 -5
  48. package/source/components/UserDashboardPage/sections/OrderStatusSection/OrderStatusCar.tsx +38 -57
  49. package/source/components/UserDashboardPage/sections/OrderStatusSection/OrderStatusCard.tsx +2 -2
  50. package/source/components/UserDashboardPage/sections/OrderStatusSection/OrderStatusSection.tsx +101 -183
  51. package/source/components/UserDashboardPage/sections/RequestedCarsSection/RequestedCarsSection.tsx +7 -5
  52. package/source/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.tsx +7 -33
  53. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.styl +2 -10
  54. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.tsx +14 -54
  55. package/source/components/VehicleDetailedSidebar/partials/Price.styl +1 -5
  56. package/source/components/VehicleDetailedSidebar/partials/Price.tsx +1 -2
  57. package/source/components/VehicleDetailedSidebar/partials/PriceContent.styl +5 -16
  58. package/source/components/VehicleDetailedSidebar/partials/PriceContent.tsx +4 -9
  59. package/source/components/VehicleDetailedSidebar/partials/Properties.tsx +1 -1
  60. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.styl +0 -45
  61. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.tsx +42 -121
  62. package/source/components/VehicleDetailedSlider/partials/PriceData.styl +1 -4
  63. package/source/components/VehicleDetailedSlider/partials/PriceData.tsx +1 -8
  64. package/source/components/VehicleDetailedSlider/partials/Stats.tsx +2 -2
  65. package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +7 -9
  66. package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +1 -35
  67. package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.tsx +3 -9
  68. package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.styl +2 -11
  69. package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.tsx +1 -2
  70. package/source/components/VehicleSmallCard/VehicleSmallCard.styl +1 -3
  71. package/source/components/VehicleSmallCard/VehicleSmallCard.tsx +7 -3
  72. package/source/components/_common/Badge/Badge.styl +0 -3
  73. package/source/components/_common/Badge/Badge.tsx +1 -1
  74. package/source/components/_common/Button/Button.tsx +4 -5
  75. package/source/components/_common/Checkbox/FormCheckbox.tsx +4 -4
  76. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.tsx +1 -1
  77. package/source/components/_common/Chip/Chip.tsx +3 -1
  78. package/source/components/_common/ExpansionPanel/ExpansionPanel.tsx +3 -3
  79. package/source/components/_common/IconSVG/IconSVGConfig.tsx +0 -2
  80. package/source/components/_common/IconSVG/SVG/flags/SK.tsx +1 -0
  81. package/source/components/_common/IconSVG/SVG/slider/360New.tsx +1 -1
  82. package/source/components/_common/MaterialAccordion/MaterialAccordion.tsx +30 -22
  83. package/source/components/_common/MaterialAutocomplete/MaterialAutocomplete.styled.tsx +8 -8
  84. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.styled.tsx +1 -0
  85. package/source/components/_common/MaterialSelect/MaterialSelect.styled.tsx +15 -12
  86. package/source/components/_common/MaterialSelect/MaterialSelect.tsx +3 -3
  87. package/source/components/_common/MaterialSwitch/MaterialSwitch.tsx +1 -3
  88. package/source/components/_common/MaterialTooltip/MaterialTooltip.styled.tsx +1 -1
  89. package/source/components/_common/MaterialTooltip/MaterialTooltip.tsx +3 -3
  90. package/source/components/_common/Modal/CookieModal.tsx +3 -1
  91. package/source/components/_common/Modal/Modal.styled.tsx +1 -2
  92. package/source/components/_common/Modal/Modal.tsx +5 -1
  93. package/source/components/_common/Modal/ModalsConfig.tsx +1 -5
  94. package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.styl +7 -23
  95. package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.tsx +36 -84
  96. package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.styl +14 -29
  97. package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.tsx +10 -17
  98. package/source/components/_common/OfferRequestButtonWrapper/OfferRequestButtonWrapper.tsx +4 -12
  99. package/source/components/_common/Range/Range.tsx +16 -26
  100. package/source/components/_common/UserMenu/MaterialMenu.styled.tsx +1 -0
  101. package/source/components/_common/UserMenu/MaterialMenu.tsx +3 -3
  102. package/source/components/_common/UserMenu/MaterialMenuItem.tsx +20 -42
  103. package/source/components/_common/UserMenu/NestedMenu.tsx +1 -1
  104. package/source/components/_common/withStats/withStats.styl +0 -3
  105. package/source/components/_common/withStats/withStats.tsx +16 -19
  106. package/source/components/containers/SearchPage/FiltersContainer/FiltersContainer.styl +1 -14
  107. package/source/components/containers/SearchPage/FiltersContainer/FiltersContainer.tsx +42 -78
  108. package/source/framework/constants/common.ts +60 -89
  109. package/source/framework/constants/highlights.ts +1 -1
  110. package/source/framework/constants.ts +1 -1
  111. package/source/framework/types/types.ts +4 -9
  112. package/source/framework/utils/CommonUtils.ts +62 -73
  113. package/source/framework/utils/DateUtils.ts +2 -10
  114. package/source/framework/vehiclesProps/decoratedLightProps.tsx +2 -1
  115. package/source/framework/vehiclesProps/decoratedProps.tsx +2 -1
  116. package/source/locales/data.ts +2 -2
  117. package/tslint.json +2 -1
  118. package/utils.ts +0 -2
  119. package/__tests__/components/UserDasboardPage/sections/CheckoutSection/CheckoutSection.test.tsx +0 -613
  120. package/__tests__/components/UserDasboardPage/sections/FavoriteSection/FavoriteSection.test.tsx +0 -335
  121. package/source/components/UserDashboardPage/sections/CheckoutSection/CheckoutSection.styl +0 -38
  122. package/source/components/UserDashboardPage/sections/CheckoutSection/CheckoutSection.tsx +0 -120
  123. package/source/components/UserDashboardPage/sections/FavoriteSection/FavoriteSection.styl +0 -22
  124. package/source/components/UserDashboardPage/sections/FavoriteSection/FavoriteSection.tsx +0 -84
  125. package/source/components/_common/IconSVG/SVG/slider/YoutubeButton.tsx +0 -26
@@ -52,17 +52,4 @@
52
52
  font-weight: 700
53
53
  font-size: 14px
54
54
  border-bottom-left-radius: 10px;
55
- border-bottom-right-radius: 10px;
56
-
57
- .vehicleId
58
- padding: 11px
59
- background-color: #fff
60
- border-bottom: 1px solid #e8e8e8;
61
- padding-bottom: 19px;
62
-
63
- .vehicleIdLabel
64
- font-size: 14px
65
- font-weight: 700
66
- line-height: 16px
67
- margin-bottom: 12px
68
- padding: 0 5px
55
+ border-bottom-right-radius: 10px;
@@ -3,17 +3,16 @@ import _get from 'lodash/get';
3
3
  import _startsWith from 'lodash/startsWith';
4
4
  import _debounce from 'lodash/debounce';
5
5
  import qs from 'qs';
6
- import { isArray, isEqual } from 'lodash';
6
+ import { isEqual } from 'lodash';
7
7
  import { checkRangeValuesOnEqual, getGroupValuesForQuery } from '../../../../framework/utils/CommonUtils';
8
8
  import { FilterBlockFactory } from '../../../SearchFilters/common/FilterBlock/FilterBlockFactory';
9
9
  import { FilterGroups, IFilters } from '../../../SearchFilters/FiltersFactory';
10
- import { MANUFACTURER_KEY, MM_GROUPS_EXCLUDE_KEY, MODEL_KEY, RANGE_FILTERS, SERIES_KEY, SUPER_ADMIN_FILTER_NAME } from '../../../../framework/constants/Search';
10
+ import { MANUFACTURER_KEY, MM_GROUPS_EXCLUDE_KEY, MODEL_KEY, RANGE_FILTERS, SERIES_KEY, SUPER_ADMIN_FILTER_NAME, SUB_MODEL_KEY } from '../../../../framework/constants/Search';
11
11
  import { MMS_GROUPS_KEY, OBJECT_FILTERS } from '../../../../framework/constants/SearchWidget';
12
12
  import { resolveMmsValue } from '../../../../framework/utils/FiltersUtils';
13
13
  import FilterBlock from '../../../SearchFilters/common/FilterBlock/FilterBlock';
14
14
  import styles from './FiltersContainer.styl';
15
15
  import AlternativeID from '../../../SearchFilters/filters/AlternativeID';
16
- import MaterialField from '../../../_common/MaterialField/MaterialField';
17
16
 
18
17
  type PathParamsType = {
19
18
  location?: any;
@@ -34,7 +33,7 @@ interface IFiltersContainerProps extends IRouteComponentProps<PathParamsType> {
34
33
  aggregation: {};
35
34
  setActiveSorting: (newActiveSorting: string) => void;
36
35
  setLastSearchString: (filters: IFilters, query: string) => void;
37
- search: (filters: any, page?: number, getStats?: boolean, vehicleID?: string|null) => void;
36
+ search: (filters: any, page?: number, getStats?: boolean) => void;
38
37
  resetFiltersToDefault: () => void;
39
38
  clearSearchState: (clearSorting?: boolean) => void;
40
39
  addMmsGroup: () => void;
@@ -55,7 +54,6 @@ interface IFiltersContainerProps extends IRouteComponentProps<PathParamsType> {
55
54
  t?: (phrase: string) => string;
56
55
  isDealerPage?: boolean;
57
56
  isAlternative?: boolean;
58
- vehicleID?: string;
59
57
  successTransition?: boolean;
60
58
  isErrorAlternativeField: boolean;
61
59
  Link?: any;
@@ -68,12 +66,8 @@ class FiltersContainer extends React.Component<IFiltersContainerProps, {}> {
68
66
  }
69
67
 
70
68
  componentDidUpdate(prevProps: IFiltersContainerProps) {
71
- const { location, filters, resetFiltersToDefault, clearSearchState, search, activeSorting, setActiveSorting, vehicleID } = this.props;
72
- console.log('vehicleID', vehicleID);
73
- if (
74
- (prevProps.location.search !== location.search) &&
75
- !_startsWith(location.search, '?pageNumber'))
76
- {
69
+ const { location, filters, resetFiltersToDefault, clearSearchState, search, activeSorting, setActiveSorting } = this.props;
70
+ if ((prevProps.location.search !== location.search) && !_startsWith(location.search, '?pageNumber')) {
77
71
  const queryFromFilters = this.getQueryFromFilters();
78
72
  const prevQueryFromFilters = ['pageNumber', 'activeSort'].reduce((url, param) => url.replace(new RegExp(`(^${param}=\\w*&|&${param}=\\w*)`), ''), prevProps.location.search.slice(1));
79
73
  const paramsFromQuery = qs.parse(location.search, { ignoreQueryPrefix: true });
@@ -89,11 +83,11 @@ class FiltersContainer extends React.Component<IFiltersContainerProps, {}> {
89
83
 
90
84
  if (activeSort !== activeSorting) {
91
85
  // activeSorting = activeSort; // TODO make a function to change at searchStore
92
- setActiveSorting(activeSort as string);
86
+ setActiveSorting(activeSort);
93
87
  }
94
88
 
95
89
  clearSearchState(!activeSort);
96
- search(filters, Number(pageNumber) || 1, true, vehicleID);
90
+ search(filters, pageNumber || 1, true);
97
91
  }
98
92
 
99
93
  this.updateFinancingSearchConfig();
@@ -200,46 +194,41 @@ class FiltersContainer extends React.Component<IFiltersContainerProps, {}> {
200
194
  if (paramsKeys.length) {
201
195
  paramsKeys.forEach((filter: string) => {
202
196
  const paramValue = paramsFromQuery[filter];
197
+
203
198
  if (filter === MMS_GROUPS_KEY) { //tslint:disable-line
204
- if (isArray(paramValue)) {
205
- const stringParamValue: string[] = paramValue as string[];
206
- stringParamValue.map((group: any, index: number) => {
207
- if (index >= 1) {
208
- if (filter === MMS_GROUPS_KEY) addMmsGroup();
199
+ paramValue.map((group: any, index: number) => {
200
+ if (index >= 1) {
201
+ if (filter === MMS_GROUPS_KEY) addMmsGroup();
202
+ }
203
+
204
+ Object.keys(group).forEach((key: string) => {
205
+ changeFilterValue(key, group[key], index);
206
+ if (key === MANUFACTURER_KEY) {
207
+ getModelsInfoByMaker(group[key], true).then((response: any) => {
208
+ const models = response || [];
209
+ addModelsToFilters(models, index);
210
+ });
209
211
  }
210
-
211
- Object.keys(group).forEach((key: string) => {
212
- changeFilterValue(key, group[key], index);
213
- if (key === MANUFACTURER_KEY) {
214
- getModelsInfoByMaker(group[key], true).then((response: any) => {
215
- const models = response || [];
216
- addModelsToFilters(models, index);
217
- });
218
- }
219
- });
220
212
  });
221
- }
213
+ });
222
214
  } else if (filter === MM_GROUPS_EXCLUDE_KEY) {
223
- if (isArray(paramValue)) {
224
- const stringParamValue: string[] = paramValue as string[];
225
- stringParamValue.map((group: any, index: number) => {
226
- if (index >= 1) {
227
- addMmExcludeGroup();
228
- }
215
+ paramValue.map((group: any, index: number) => {
216
+ if (index >= 1) {
217
+ addMmExcludeGroup();
218
+ }
229
219
 
230
- Object.keys(group).forEach((key: string) => {
231
- changeFilterValue(key, group[key], index);
232
- });
220
+ Object.keys(group).forEach((key: string) => {
221
+ changeFilterValue(key, group[key], index);
233
222
  });
234
- }
223
+ });
235
224
  } else {
236
225
  // Defines whether filter is range or not.
237
226
  const isRange = rangeFiltersStrings.indexOf(filter) !== -1;
238
227
  const isObject = objectFiltersStrings.indexOf(filter) !== -1;
239
228
 
240
229
  // Transform url encoded param into range filter object.
241
- const valueToSend = isRange ? qs.parse(paramValue as string, { ignoreQueryPrefix: true }) : paramValue;
242
- changeFilterValue(filter, valueToSend as string);
230
+ const valueToSend = isRange ? qs.parse(paramValue, { ignoreQueryPrefix: true }) : paramValue;
231
+ changeFilterValue(filter, valueToSend);
243
232
  if (isRange || isObject) { changeRangeFilterControls(filter, valueToSend); }
244
233
  }
245
234
  });
@@ -314,7 +303,7 @@ class FiltersContainer extends React.Component<IFiltersContainerProps, {}> {
314
303
  if (isHistogram) {
315
304
  const histogramData = histograms[filterField].length ? histograms[filterField] : RANGE_FILTERS[filter].options;
316
305
  const actualValues = {
317
- from: filters[filter].value.from ? filters[filter].value.from : histogramData[0].from,
306
+ from: histogramData[0].from,
318
307
  to: histogramData[histogramData.length - 1].to
319
308
  };
320
309
 
@@ -388,37 +377,24 @@ class FiltersContainer extends React.Component<IFiltersContainerProps, {}> {
388
377
  });
389
378
  };
390
379
 
391
- onVehicleIdChange = (value: string) => {
392
- const { filters, changeFilterValue, search } = this.props;
393
- const upperCaseValue = value.toLocaleUpperCase().trim();
394
- if (upperCaseValue.length === 6 || !value) {
395
- this.onFilterChange('VEHICLE_ID', upperCaseValue);
396
- changeFilterValue('VEHICLE_ID', upperCaseValue);
397
- search(filters, 1, true);
398
- }
399
- };
400
-
401
380
  render() {
402
- const { t, onAlternativeRedirect, isAlternative, isErrorAlternativeField, Link, locationSearch, successTransition, filters } = this.props;
381
+ const { t, onAlternativeRedirect, isAlternative, isErrorAlternativeField, Link, locationSearch, successTransition } = this.props;
403
382
  const paramsFromQuery = qs.parse(location.search, { ignoreQueryPrefix: true });
404
-
405
- const { VEHICLE_ID } = filters;
406
-
407
383
  const alternativeIDProps = {
408
384
  t,
409
385
  successTransition,
410
- autoDeId: paramsFromQuery.autoDeId as string,
386
+ autoDeId: paramsFromQuery.autoDeId,
411
387
  error: isErrorAlternativeField,
412
388
  onChange: onAlternativeRedirect
413
389
  };
414
- console.log('isErrorAlternativeField', isErrorAlternativeField);
390
+
415
391
  return (
416
392
  <div className={styles.filters}>
417
393
  {isAlternative ? (
418
394
  <div className={styles.titleAlternative}>
419
395
  <div className={styles.titleWrap}>
420
396
  <h3 className={styles.titleTextAlternative}>auto.de-ID</h3>
421
- <Link to={`/alternative/detailed${locationSearch}`} className={styles.titleLink}>
397
+ <Link to={ `/alternative/detailed${locationSearch}` } className={styles.titleLink}>
422
398
  {this.props.t('SearchPage:detailedSearch')}
423
399
  </Link>
424
400
  </div>
@@ -428,19 +404,8 @@ class FiltersContainer extends React.Component<IFiltersContainerProps, {}> {
428
404
  <div className={styles.title}>
429
405
  <h3 className={styles.titleText}>{this.props.t('SearchPage:filterBy')}</h3>
430
406
  </div>
431
- {!isAlternative ? (
432
- <div className={styles.vehicleId}>
433
- <div className={styles.vehicleIdLabel}>auto.de-ID</div>
434
- <MaterialField
435
- value={VEHICLE_ID.value}
436
- onChange={this.onVehicleIdChange}
437
- size='custom'
438
- placeholder={t('SearchPage:vehicleIdexample')}
439
- />
440
- </div>
441
- ) : ''}
442
407
  {this.renderFilters()}
443
- <Link className={styles.linkToDetailed} to={`/${isAlternative ? 'alternative' : 'search'}/detailed${locationSearch}`}>{t('SearchPage:detailedSearch')}</Link>
408
+ <Link className={styles.linkToDetailed} to={ `/${isAlternative ? 'alternative' : 'search'}/detailed${locationSearch}` }>{t('SearchPage:detailedSearch')}</Link>
444
409
  </div>
445
410
  );
446
411
  }
@@ -454,10 +419,9 @@ const removeUnknownOptions = (options: any) => {
454
419
  // export default React.memo(FiltersContainer);
455
420
 
456
421
  export default React.memo(FiltersContainer, (props, nextProps) => {
457
- const { t, location, filters, aggregation, isErrorAlternativeField } = props;
458
- return t === nextProps.t &&
459
- location.search === nextProps.location.search &&
460
- isErrorAlternativeField === nextProps.isErrorAlternativeField &&
461
- isEqual(aggregation, nextProps.aggregation) &&
462
- isEqual(filters.MMS_GROUPS, nextProps.filters.MMS_GROUPS);
463
- });
422
+ const { t, location, filters, aggregation } = props;
423
+ return t === nextProps.t &&
424
+ location.search === nextProps.location.search &&
425
+ isEqual(aggregation, nextProps.aggregation) &&
426
+ isEqual(filters.MMS_GROUPS, nextProps.filters.MMS_GROUPS)
427
+ });
@@ -8,103 +8,74 @@ export const QUOTES_SLIDES_TO_SHOW_DEFAULT = 3;
8
8
 
9
9
  export const HUNDRED = 100;
10
10
 
11
- export const GOOGLE_BUNDLE_COOKIES = [
12
- 'analytics_storage',
13
- 'ad_storage',
14
- 'functionality_storage',
15
- 'personalization_storage',
16
- 'security_storage'
17
- ];
11
+ export const GOOGLE_BUNDLE_COOKIES = {
12
+ analytics_storage: { name: 'Google-Analytics' },
13
+ ad_storage: { name: 'Google-Werbeausrichtung' },
14
+ functionality_storage: { name: 'Google-Funktionalität' },
15
+ personalization_storage: { name: 'Google-Personalisierung' },
16
+ security_storage: { name: 'Google-Sicherheit' }
17
+ };
18
18
 
19
19
  /* tslint:disable */
20
-
21
- export const COOKIE_SCHEMA_LINKS = {
22
- ['auto.de']: 'https://www.auto.de/datenschutz/',
23
- Cloudflare: 'https://www.cloudflare.com/de-de/gdpr/introduction/',
24
- Firebase: 'https://firebase.google.com/support/privacy?hl=de',
25
- Google: 'https://policies.google.com/privacy?hl=de',
26
- Criteo: 'https://www.criteo.com/de/privacy/',
27
- Facebook: 'https://www.facebook.com/privacy/policies/cookies/?entry_point=cookie_policy_redirect&entry=0',
28
- ['Google Analytics']: 'https://policies.google.com/privacy?hl=de',
29
- Hotjar: 'https://www.hotjar.com/legal/policies/privacy/de/',
30
- Microsoft: 'https://privacy.microsoft.com/de-de/privacystatement',
31
- Matomo: 'https://matomo.org/privacy-policy/',
32
- Trustpilot: 'https://de.legal.trustpilot.com/for-reviewers/end-user-privacy-terms',
33
- Awin: 'https://www.awin.com/de/datenschutzerklarung',
34
- Youtube:'https://www.youtube.com/howyoutubeworks/our-commitments/protecting-user-data/'
35
- }
36
-
37
20
  export const COOKIE_SCHEMA = {
38
21
  necessary: {
39
- ['auto.de']: ['next-i18next'],
40
- Cloudflare: [
41
- 'cf_chl_2',
42
- 'cf_chl_rc_ni',
43
- 'cf_chl_prog'
44
- ],
45
- Firebase: [''],
46
- Matomo: ['MATOMO_SESSID','_pk_ses.1.4d04', '_pk_id.1.4d04'],
47
- Trustpilot: ['']
22
+ __cfruid: { name: 'Cloudflare' },
23
+ cf_chl_2: { name: 'Cloudflare für Webverkehr zu identifizieren' },
24
+ cf_chl_rc_ni: { name: 'Cloudflare für den internen Gebrauch' },
25
+ ['next-i18next']: { name: 'Spracheinstellungen' },
26
+ _cfuvid: { name: 'Cloudflare WAF' },
27
+ cf_chl_prog: { name: 'Cloudflare für JS' },
28
+ __cf_bm: { name: 'Cloudflare bot' }
48
29
  },
49
30
  analytics: {
50
- ['auto.de']: [
51
- 'sentry',
52
- 'callback',
53
- 'locale'
54
- ],
55
- Criteo: [
56
- 'uid',
57
- 'PugT',
58
- 'demdex',
59
- 'cto_bundle',
60
- 'tuuid',
61
- 'tuuid_lu',
62
- 'c',
63
- 'CMID',
64
- 'CMPS',
65
- 'CMPRO',
66
- 'uuid2',
67
- 'um',
68
- 'umeh',
69
- 'KRTBCOOKIE_97',
70
- 'IDSYNC',
71
- 'dpm',
72
- '_kuid_',
73
- 'visitor-id',
74
- 'data-c-ts',
75
- 'data-c',
76
- 'CMTS',
77
- 'mv_tokens',
78
- 'A3',
79
- 'mv_tokens_eu-v1',
80
- 'am_tokens',
81
- 'am_tokens_eu-v1',
82
- 'iteo'
83
- ],
84
- Facebook: ['_fbp'],
85
- ['Google Analytics']: [
86
- ...GOOGLE_BUNDLE_COOKIES
87
- ],
88
- Hotjar: ['hotjar'],
89
- Microsoft: ['_clck', '_clsk', '_uetsid', '_uetvid']
31
+ PugT: {name: 'PubMatic' },
32
+ locale: {name: 'Personio' },
33
+ uid: { name: 'criteo' },
34
+ callback: { name: 'callback' },
35
+ demdex: { name: 'demdex' },
36
+ vuid: { name: 'Vimeo' },
37
+ _fbp: { name: 'Facebook' },
38
+ hotjar: { name: 'Hotjar-Analytics'},
39
+ _clck: { name: 'Clarity' },
40
+ _clsk: { name: 'Clarity' },
41
+ _uetsid: { name: 'Microsoft-Werbeausrichtung' },
42
+ _uetvid: { name: 'Microsoft-Werbeausrichtung' },
43
+ sentry: { name: 'Sentry' },
44
+ ...GOOGLE_BUNDLE_COOKIES
90
45
  },
91
46
  marketing: {
92
- ['auto.de']: [
93
- 'cf',
94
- 'cip',
95
- 'cnac',
96
- 'car'
97
- ],
98
- Awin: [
99
- 'bid'
100
- ],
101
- Google: [
102
- 'test_cookie',
103
- 'IDE',
104
- ],
105
- Youtube: [
106
- 'youtube'
107
- ]
47
+ test_cookie: { name: 'doubleclick.net' },
48
+ tuuid: { name: '360yield.com' },
49
+ tuuid_lu: { name: '360yield.com' },
50
+ c: { name: 'bidswitch.net' },
51
+ CMID: { name: 'casalemedia.com' },
52
+ CMPS: { name: 'casalemedia.com' },
53
+ CMPRO: { name: 'casalemedia.com' },
54
+ uuid2: { name: 'adnxs.com' },
55
+ IDE: { name: 'Google DoubleClick' },
56
+ um: { name: '360yield.com' },
57
+ umeh: { name: '360yield.com' },
58
+ cf: { name: 'id5-sync.com' },
59
+ cip: { name: 'id5-sync.com' },
60
+ cnac: { name: 'id5-sync.com' },
61
+ car: { name: 'id5-sync.com' },
62
+ KRTBCOOKIE_97: { name: 'PubMatic' },
63
+ IDSYNC: { name: 'analytics.yahoo.com' },
64
+ dpm: { name: 'Demdex' },
65
+ _kuid_: { name: 'Krux' },
66
+ cto_bundle: { name: 'Criteo' },
67
+ ['visitor-id']: { name: 'media.net' },
68
+ ['data-c-ts']: { name: 'media.net' },
69
+ ['data-c']: { name: 'media.net' },
70
+ CMTS: { name: 'casalemedia.com' },
71
+ ['mv_tokens']: { name: 'mediavine' },
72
+ A3: { name: 'yahoo.com' },
73
+ ['mv_tokens_eu-v1']: { name: 'mediavine' },
74
+ am_tokens: { name: 'mediavine' },
75
+ ['am_tokens_eu-v1']: { name: 'mediavine' },
76
+ iteo: { name: 'mediavine' },
77
+ MyVerivoxAuth: { name: 'www.verivox.de' },
78
+ VxCheckAuth: { name: 'www.verivox.de' }
108
79
  }
109
80
  };
110
81
 
@@ -4,7 +4,7 @@ import { selectors } from '@bytebrand/car-schema-selectors';
4
4
  export const climatisation = {
5
5
  key: 'heatingCooling_climatisation',
6
6
  climatisationKeys: [
7
- // 'selector_climatisation_no_airCondition',
7
+ 'selector_climatisation_no_airCondition',
8
8
  'selector_climatisation_airCondition',
9
9
  'selector_climatisation_automaticAirCondition',
10
10
  'selector_climatisation_2_automaticAirCondition',
@@ -59,7 +59,7 @@ export const offers = [
59
59
  name: 'financing',
60
60
  periods: [12, 24, 36, 48, 60, 72, 84, 96], // tslint:disable-line
61
61
  sliders: [
62
- { name: 'firstInstallment', min: 0, step: 100, unit: 'euro', withRangeLimit: true }, // tslint:disable-line
62
+ { name: 'firstInstallment', min: 0, step: 100, unit: 'euro' }, // tslint:disable-line
63
63
  { name: 'annualMileage', min: 5000, max: 60000, step: 5000, unit: 'km' } // tslint:disable-line
64
64
  ]
65
65
  },
@@ -32,7 +32,6 @@ export interface IImage {
32
32
  isSimpleTemp: boolean;
33
33
  isInProcessing: boolean;
34
34
  isTemp: boolean;
35
- videoUrl:string; // youtube link that can be used in src in youtube video,
36
35
  }
37
36
 
38
37
  export interface IPrice {
@@ -97,7 +96,7 @@ export interface IVehicleInfo {
97
96
  linkTag?: string;
98
97
  mlCurrentSalesPricePredicted?: number;
99
98
  location?: IVehicleLocation;
100
- common?: {
99
+ common: {
101
100
  currentSalesPrice?: number;
102
101
  isStrikeShown?: boolean;
103
102
  };
@@ -188,9 +187,7 @@ export interface IVehicleDetailedSidebarPriceProps {
188
187
  isAlternative?: boolean;
189
188
  // currentSalesPrice?: number;
190
189
  originalSalesPrice?: number;
191
- common?: { isStrikeShown?: boolean, currentSalesPrice?: number };
192
- financing?: any;
193
- currentSalesPrice?: number;
190
+ common: { isStrikeShown?: boolean, currentSalesPrice?: number };
194
191
  }
195
192
  export interface ITabsProps {
196
193
  t?: (key: string, options?: object) => string;
@@ -251,8 +248,6 @@ export interface IVehicleDetailedSidebarProps {
251
248
  infoSections: { title: string, value: string, icon?: string }[];
252
249
  isAlternative?: boolean;
253
250
  onCurrentSalesPriceChange: (price: number) => void;
254
- className?: string;
255
- isFetching?: boolean;
256
251
  }
257
252
 
258
253
  interface IOfferRequestButtonWrapper {
@@ -345,7 +340,7 @@ export interface IVehicleCompareProps {
345
340
  onRemoveClick: () => void;
346
341
  }
347
342
 
348
- export interface ITFunction {
343
+ export interface TFunction {
349
344
  <T = string>(key: string, options?: object): T;
350
345
  <T = string>(keys: string[], options?: object): T;
351
- }
346
+ }