@bytebrand/fe-ui-core 4.1.172 → 4.1.174
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/common.ts +5 -0
- package/media/svg/common/arrow_breadcrumps.svg +2 -2
- package/media/svg/common/home.svg +6 -8
- package/media/svg/common/whyAutodeIconSet-F.svg +8 -12
- package/media/svg/common/whyAutodeIconSet-G.svg +6 -8
- package/media/svg/common/whyAutodeIconSet-Q.svg +5 -15
- package/media/svg/common/whyAutodeIconSet-R.svg +8 -13
- package/media/svg/infoBlocks/whyAutodeIconSet-F.svg +8 -8
- package/media/svg/infoBlocks/whyAutodeIconSet-G.svg +7 -6
- package/media/svg/infoBlocks/whyAutodeIconSet-Q.svg +5 -11
- package/media/svg/infoBlocks/whyAutodeIconSet-R.svg +8 -9
- package/package.json +1 -1
- package/source/components/AccordionWidget/AccordionWidget.styl +0 -3
- package/source/components/AccordionWidget/AccordionWidget.tsx +1 -3
- package/source/components/Alternative/DealerInfo.styl +7 -1
- package/source/components/Alternative/DealerInfo.tsx +64 -38
- package/source/components/Breadcrumbs/Breadcrumbs.styl +31 -19
- package/source/components/Breadcrumbs/Breadcrumbs.tsx +3 -3
- package/source/components/Breadcrumbs/FirstInfoBlock/FirstInfoBlock.styl +11 -18
- package/source/components/PriceRating/PriceRating.styl +1 -0
- package/source/components/SearchFilters/common/RangeControlled/RangeControlled.tsx +2 -1
- package/source/components/SearchPage/SearchTopBar/SearchTopBar.styl +13 -3
- package/source/components/SearchPage/SearchTopBar/SearchTopBar.tsx +3 -3
- package/source/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.styl +23 -17
- package/source/components/VehicleDetailedSidebar/partials/Properties.styl +0 -4
- package/source/components/VehicleDetailedSidebar/partials/Properties.tsx +1 -1
- package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.styl +54 -40
- package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +38 -16
- package/source/components/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.styl +47 -18
- package/source/components/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.tsx +13 -6
- package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +48 -28
- package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.tsx +50 -16
- package/source/components/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.styl +6 -8
- package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.styl +31 -12
- package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.tsx +8 -3
- package/source/components/VehicleSmallCard/VehicleSmallCard.styl +51 -19
- package/source/components/VehicleSmallCard/VehicleSmallCard.tsx +39 -9
- package/source/components/_common/Badge/Badge.styl +13 -7
- package/source/components/_common/Badge/Badge.tsx +1 -1
- package/source/components/_common/Button/Button.styled.tsx +13 -8
- package/source/components/_common/Button/Button.tsx +1 -1
- package/source/components/_common/ExpansionPanel/ExpansionPanel.tsx +14 -4
- package/source/components/_common/IconSVG/IconSVG.story.js +1 -1
- package/source/components/_common/IconSVG/IconSVGConfig.tsx +90 -1
- package/source/components/_common/IconSVG/SVG/CloseIconSelect.tsx +1 -1
- package/source/components/_common/IconSVG/SVG/common/AddressDashboard.tsx +29 -0
- package/source/components/_common/IconSVG/SVG/common/CallbackDashboard.tsx +30 -0
- package/source/components/_common/IconSVG/SVG/common/CloseGrey.tsx +22 -0
- package/source/components/_common/IconSVG/SVG/common/DashboardQuestionMark.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/common/DeliveryDashboard.tsx +25 -0
- package/source/components/_common/IconSVG/SVG/common/EditPriceIcon.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/common/HandingOverDashboard.tsx +32 -0
- package/source/components/_common/IconSVG/SVG/common/MenuGrey.tsx +22 -0
- package/source/components/_common/IconSVG/SVG/common/MyOrderIcon.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/common/OrderReceivedDashboard.tsx +27 -0
- package/source/components/_common/IconSVG/SVG/common/PickupDashboard.tsx +30 -0
- package/source/components/_common/IconSVG/SVG/common/PreparationDashboard.tsx +29 -0
- package/source/components/_common/IconSVG/SVG/common/ProfileDashboard.tsx +24 -0
- package/source/components/_common/IconSVG/SVG/common/RegistrationDashboard.tsx +31 -0
- package/source/components/_common/IconSVG/SVG/common/SliderEye.tsx +2 -3
- package/source/components/_common/IconSVG/SVG/common/StarRoundedCorners.tsx +1 -1
- package/source/components/_common/IconSVG/SVG/flags/AT.tsx +19 -0
- package/source/components/_common/IconSVG/SVG/flags/BE.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/BG.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/CH.tsx +22 -0
- package/source/components/_common/IconSVG/SVG/flags/CZ.tsx +18 -0
- package/source/components/_common/IconSVG/SVG/flags/DE.tsx +18 -0
- package/source/components/_common/IconSVG/SVG/flags/DK.tsx +18 -0
- package/source/components/_common/IconSVG/SVG/flags/ES.tsx +2585 -0
- package/source/components/_common/IconSVG/SVG/flags/FI.tsx +18 -0
- package/source/components/_common/IconSVG/SVG/flags/FR.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/GB.tsx +26 -0
- package/source/components/_common/IconSVG/SVG/flags/HR.tsx +135 -0
- package/source/components/_common/IconSVG/SVG/flags/HU.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/IT.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/LI.tsx +106 -0
- package/source/components/_common/IconSVG/SVG/flags/LU.tsx +18 -0
- package/source/components/_common/IconSVG/SVG/flags/NL.tsx +18 -0
- package/source/components/_common/IconSVG/SVG/flags/NO.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/PL.tsx +19 -0
- package/source/components/_common/IconSVG/SVG/flags/RO.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/RU.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/SE.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/flags/SI.tsx +54 -0
- package/source/components/_common/IconSVG/SVG/flags/SK.tsx +35 -0
- package/source/components/_common/IconSVG/SVG/flags/UA.tsx +19 -0
- package/source/components/_common/IconSVG/SVG/searchWidgets/drive/AllWheelDrive.tsx +2 -2
- package/source/components/_common/IconSVG/SVG/searchWidgets/drive/FrontWheelDrive.tsx +2 -2
- package/source/components/_common/IconSVG/SVG/searchWidgets/drive/RearWheelDrive.tsx +2 -2
- package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelDiesel.tsx +4 -14
- package/source/components/_common/IconSVG/SVG/searchWidgets/fuel/FuelPetrol.tsx +1 -1
- package/source/components/_common/IconSVG/SVG/settings/RemoveEye.tsx +1 -1
- package/source/components/_common/IconSVG/SVG/settings/RemoveEyeOff.tsx +1 -1
- package/source/components/_common/IconSVG/SVG/slider/360New.tsx +20 -0
- package/source/components/_common/IconSVG/SVG/vehicle/CarAvailability.tsx +3 -3
- package/source/components/_common/IconSVG/SVG/vehicle/CheckoutChecked.tsx +2 -2
- package/source/components/_common/IconSVG/SVG/vehicle/Date.tsx +2 -2
- package/source/components/_common/IconSVG/SVG/vehicle/Door.tsx +5 -7
- package/source/components/_common/IconSVG/SVG/vehicle/FuelConsumption.tsx +1 -1
- package/source/components/_common/IconSVG/SVG/vehicle/NewCar.tsx +7 -9
- package/source/components/_common/IconSVG/SVG/vehicle/Ps.tsx +1 -1
- package/source/components/_common/IconSVG/SVG/vehicle/SelectorGearboxAutomatic.tsx +2 -2
- package/source/components/_common/MaterialAccordionGroup/MaterialAccordionGroup.styled.tsx +17 -1
- package/source/components/_common/MaterialAccordionGroup/MaterialAccordionGroup.tsx +3 -4
- package/source/components/_common/MaterialAutocomplete/MaterialAutocomplete.styled.tsx +6 -3
- package/source/components/_common/MaterialAutocomplete/MaterialAutocomplete.tsx +28 -3
- package/source/components/_common/MaterialSelect/MaterialSelect.styled.tsx +0 -7
- package/source/components/_common/MaterialSelect/MaterialSelect.tsx +16 -9
- package/source/components/_common/Modal/CookieModal.tsx +10 -7
- package/source/components/_common/Modal/Modal.styled.tsx +2 -1
- package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.styl +15 -3
- package/source/components/_common/Modal/modals/ManageCookieModal/ManageCookieModal.tsx +5 -3
- package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.styl +11 -1
- package/source/components/_common/Modal/modals/PreviewCookieModal/PreviewCookieModal.tsx +2 -0
- package/source/components/_common/TimePicker/TimePicker.styl +3 -1
- package/source/components/_common/TimePicker/TimePicker.tsx +6 -2
- package/source/components/_common/UserMenu/MaterialMenu.styled.tsx +2 -1
- package/source/components/_common/withStats/withStats.styl +43 -87
- package/source/components/_common/withStats/withStats.tsx +17 -8
- package/source/components/containers/SearchPage/FiltersContainer/FiltersContainer.styl +7 -3
- package/source/framework/constants/common.ts +15 -3
- package/source/framework/factories/BreadcrumbsFactory.tsx +19 -8
- package/source/framework/factories/FactoryTypes.d.ts +1 -0
- package/source/framework/types/types.ts +4 -2
- package/source/framework/utils/CommonUtils.ts +26 -9
- package/source/framework/vehiclesProps/decoratedProps.tsx +19 -23
- package/source/framework/vehiclesProps/equipment.ts +4 -3
- package/source/locales/data.ts +2 -0
- package/source/theme/priceReviewColors.styl +3 -1
- package/utils.ts +16 -0
|
@@ -4,8 +4,9 @@ import classnames from 'classnames';
|
|
|
4
4
|
import VehiclePriceItem from '../VechiclePriceItem/VechiclePriceItem';
|
|
5
5
|
import { IBuy, ILeasing, IFinancing, ICommonFinancing } from '../../../../framework/types/types';
|
|
6
6
|
import { Hidden } from 'react-grid-system';
|
|
7
|
+
import { isMobileOnly } from 'react-device-detect';
|
|
7
8
|
import Button from '../../../../components/_common/Button/Button';
|
|
8
|
-
import
|
|
9
|
+
import CheckboxMaterial from '../../../../components/_common/CheckboxMaterial/CheckboxMaterial';
|
|
9
10
|
import IconSVG from '../../../_common/IconSVG/IconSVG';
|
|
10
11
|
|
|
11
12
|
export interface IVehiclePriceSectionProps {
|
|
@@ -18,15 +19,20 @@ export interface IVehiclePriceSectionProps {
|
|
|
18
19
|
isDealerSuperAdmin?: boolean;
|
|
19
20
|
routeObj?: any;
|
|
20
21
|
linkTag?: string;
|
|
22
|
+
classButton?: string;
|
|
21
23
|
showAboIcon?: boolean;
|
|
24
|
+
dashboardButtonText?: string;
|
|
22
25
|
isNewPriceCategory?: boolean;
|
|
23
|
-
vehicleComponentName?: 'comparable' | 'landing' | 'search' | 'main' | 'myVehicles' | 'favorite';
|
|
26
|
+
vehicleComponentName?: 'comparable' | 'landing' | 'search' | 'main' | 'myVehicles' | 'favorite' | 'recently';
|
|
24
27
|
monthlyInstallment?: number;
|
|
25
28
|
oldMonthlyInstallment?: number;
|
|
26
29
|
positionY?: string;
|
|
27
30
|
url?: string;
|
|
31
|
+
target?: string;
|
|
32
|
+
rel?: string;
|
|
28
33
|
iconName?: string;
|
|
29
34
|
mainImageId?: string;
|
|
35
|
+
showCompareCheckboxes?: boolean;
|
|
30
36
|
toRound?: boolean;
|
|
31
37
|
showOfferBtn?: boolean;
|
|
32
38
|
margin?: number;
|
|
@@ -74,9 +80,10 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
74
80
|
};
|
|
75
81
|
|
|
76
82
|
onDetailsClick = (event: React.MouseEvent<HTMLButtonElement>) => {
|
|
83
|
+
const { id, onDetailsClick } = this.props;
|
|
77
84
|
event.preventDefault();
|
|
78
85
|
event.stopPropagation();
|
|
79
|
-
|
|
86
|
+
onDetailsClick(id);
|
|
80
87
|
};
|
|
81
88
|
|
|
82
89
|
render(): React.ReactNode {
|
|
@@ -84,13 +91,18 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
84
91
|
t,
|
|
85
92
|
combineRefAlternative,
|
|
86
93
|
url,
|
|
94
|
+
target,
|
|
95
|
+
rel,
|
|
87
96
|
isDealerSuperAdmin,
|
|
88
97
|
linkTag,
|
|
89
98
|
showOfferBtn,
|
|
90
99
|
routeObj,
|
|
91
100
|
toggleCarToCompare,
|
|
92
101
|
toCompare,
|
|
102
|
+
dashboardButtonText,
|
|
103
|
+
classButton,
|
|
93
104
|
onRemoveClick,
|
|
105
|
+
showCompareCheckboxes,
|
|
94
106
|
vatRate,
|
|
95
107
|
iconName,
|
|
96
108
|
vehicleComponentName,
|
|
@@ -112,33 +124,43 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
112
124
|
const vehiclePriceSectionClassName = classnames(
|
|
113
125
|
styles.vehiclePriceSection,
|
|
114
126
|
{ [styles.vehiclePriceSectionSearch]: vehicleComponentName === 'search' || vehicleComponentName === 'myVehicles' },
|
|
115
|
-
{ [styles.vehiclePriceSectionFavorite]: vehicleComponentName === 'favorite' }
|
|
127
|
+
{ [styles.vehiclePriceSectionFavorite]: vehicleComponentName === 'favorite' },
|
|
128
|
+
{ [styles.vehiclePriceSectionRecently]: vehicleComponentName === 'recently' }
|
|
116
129
|
);
|
|
117
130
|
|
|
118
131
|
const vehiclePriceTitleClassName = classnames(
|
|
119
132
|
styles.vehiclePriceTitle,
|
|
120
|
-
{ [styles.
|
|
133
|
+
{ [styles.vehiclePriceTitleFavorite]: vehicleComponentName === 'favorite' },
|
|
134
|
+
{ [styles.vehiclePriceTitleRecently]: vehicleComponentName === 'recently' },
|
|
135
|
+
{ [styles.vehiclePriceTitleSearch]: vehicleComponentName === 'search' || 'myVehicles' }
|
|
121
136
|
);
|
|
122
137
|
const priceItemsGlobal = [
|
|
123
138
|
{
|
|
124
139
|
perMonthOld: oldMonthlyInstallment,
|
|
125
140
|
perMonthCurrent: monthlyInstallment,
|
|
126
141
|
title: t('vehicleProps:title.financing'),
|
|
142
|
+
prefixOldPrice: vehicleComponentName === 'search' && !isMobileOnly && t('vehicleProps:value.prefixOldPrice'),
|
|
127
143
|
postfix: '3',
|
|
144
|
+
priceSub: t('vehicleProps:value.priceSub'),
|
|
128
145
|
tooltipDescription: !combineRefAlternative && t('vehicleProps:title.financingDescription')
|
|
129
146
|
},
|
|
130
147
|
{
|
|
131
148
|
perMonthOld: lOldMonthlyInstallment,
|
|
132
149
|
perMonthCurrent: lMonthlyInstallment,
|
|
133
|
-
|
|
150
|
+
prefixOldPrice: vehicleComponentName === 'search' && !isMobileOnly && t('vehicleProps:value.prefixOldPrice'),
|
|
134
151
|
postfix: '1,3',
|
|
135
152
|
isPriceDisable: !isLeasingActive,
|
|
136
153
|
title: t('vehicleProps:title.leasing'),
|
|
154
|
+
priceSub: t('vehicleProps:value.priceSub'),
|
|
137
155
|
tooltipDescription: !combineRefAlternative && t('vehicleProps:title.leasingDescription')
|
|
138
156
|
}
|
|
139
157
|
];
|
|
140
158
|
|
|
141
|
-
const
|
|
159
|
+
const showAboCondition = vehicleComponentName !== 'favorite' &&
|
|
160
|
+
vehicleComponentName !== 'recently' &&
|
|
161
|
+
vehicleComponentName !== 'search';
|
|
162
|
+
|
|
163
|
+
const Abo = showAboCondition ? [
|
|
142
164
|
{
|
|
143
165
|
perMonthOld: oldMonthlyInstallment,
|
|
144
166
|
perMonthCurrent: monthlyInstallment,
|
|
@@ -181,6 +203,8 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
181
203
|
const ListPrices = priceData.map((
|
|
182
204
|
{
|
|
183
205
|
title,
|
|
206
|
+
priceSub,
|
|
207
|
+
prefixOldPrice,
|
|
184
208
|
totalCurrent,
|
|
185
209
|
tooltipDescription,
|
|
186
210
|
perMonthOld,
|
|
@@ -206,10 +230,14 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
206
230
|
showAboIcon={showAboIcon}
|
|
207
231
|
totalOld={highestPriceExtra}
|
|
208
232
|
isTotal={isTotal}
|
|
233
|
+
priceSub={priceSub}
|
|
209
234
|
positionY={positionY}
|
|
210
235
|
url={url}
|
|
236
|
+
target={target}
|
|
237
|
+
rel={rel}
|
|
211
238
|
isStrikeShown={isStrikeShown}
|
|
212
239
|
iconName={iconName}
|
|
240
|
+
prefixOldPrice={prefixOldPrice}
|
|
213
241
|
totalCurrent={totalCurrent}
|
|
214
242
|
postfix={postfix}
|
|
215
243
|
linkTag={linkTag}
|
|
@@ -220,28 +248,36 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
220
248
|
);
|
|
221
249
|
});
|
|
222
250
|
const buttonClassNames = classnames(
|
|
251
|
+
classButton,
|
|
223
252
|
styles.buttonDetails,
|
|
224
253
|
{ [styles.isAlternativeButton]: typeAlternative }
|
|
225
254
|
);
|
|
226
255
|
return (
|
|
227
256
|
<section className={vehiclePriceSectionClassName}>
|
|
228
|
-
{vehicleComponentName === 'favorite'
|
|
229
|
-
<
|
|
257
|
+
{vehicleComponentName === 'favorite' && showCompareCheckboxes && (
|
|
258
|
+
<CheckboxMaterial
|
|
230
259
|
checked={toCompare}
|
|
231
260
|
onChange={toggleCarToCompare}
|
|
261
|
+
labelPlacement='start'
|
|
232
262
|
label={t('FavoritesPage:toCompare')}
|
|
233
|
-
|
|
263
|
+
formControlClassName={styles.wrapCheckbox}
|
|
234
264
|
/>
|
|
235
|
-
)
|
|
265
|
+
)}
|
|
266
|
+
{vehicleComponentName !== 'favorite' && vehicleComponentName !== 'search' && (
|
|
267
|
+
<span className={vehiclePriceTitleClassName}>{t('vehicleProps:title.monthlyFrom')}</span>
|
|
268
|
+
)}
|
|
269
|
+
{vehicleComponentName === 'search' && isMobileOnly && (
|
|
270
|
+
<span className={vehiclePriceTitleClassName}>{t('vehicleProps:title.monthlyFrom')}</span>
|
|
271
|
+
)}
|
|
236
272
|
{ListPrices}
|
|
237
|
-
{vehicleComponentName === 'favorite' && (
|
|
273
|
+
{vehicleComponentName === 'favorite' && showCompareCheckboxes && (
|
|
238
274
|
<div className={styles.wrapHandleCompare}>
|
|
239
275
|
<Button variant='outlined' onClick={onRemoveClick} className={styles.btnCompareRemove} color='error'>
|
|
240
276
|
<IconSVG className={styles.removeIcon} name='trashRed' customDimensions />
|
|
241
277
|
</Button>
|
|
242
278
|
<Button className={styles.btnCarToCompare} variant='outlined' onClick={toggleCarToCompare}>
|
|
243
279
|
<span className={styles.btnPlusIcon}>{!toCompare ? '+' : '-'}</span>
|
|
244
|
-
|
|
280
|
+
{t('FavoritesPage:compare')}
|
|
245
281
|
</Button>
|
|
246
282
|
</div>
|
|
247
283
|
)}
|
|
@@ -251,9 +287,7 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
251
287
|
</Button>
|
|
252
288
|
) : null}
|
|
253
289
|
{showOfferBtn ? (
|
|
254
|
-
<
|
|
255
|
-
<Button color='primary' className={buttonClassNames} onClick={this.onDetailsClick}>{t('vehicleProps:title.toOffer')}</Button>
|
|
256
|
-
</Hidden>
|
|
290
|
+
<Button color='primary' className={buttonClassNames} onClick={this.onDetailsClick}>{t('vehicleProps:title.toOffer')}</Button>
|
|
257
291
|
) : ''}
|
|
258
292
|
</section>
|
|
259
293
|
);
|
|
@@ -5,17 +5,15 @@
|
|
|
5
5
|
box-sizing: border-box;
|
|
6
6
|
font-size: 12px
|
|
7
7
|
line-height: 1;
|
|
8
|
-
color:
|
|
8
|
+
color: rgba(76, 78, 100, 0.87);
|
|
9
9
|
align-items: center;
|
|
10
|
-
border-bottom: 1px solid
|
|
11
|
-
|
|
12
|
-
+media-phone-up()
|
|
13
|
-
font-size: 11px
|
|
10
|
+
border-bottom: 1px solid rgba(76, 78, 100, 0.12);
|
|
14
11
|
|
|
15
12
|
.carIcon
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
width: 28px;
|
|
14
|
+
height: 30px;
|
|
15
|
+
margin-right: 5px
|
|
18
16
|
flex-shrink: 0
|
|
19
17
|
|
|
20
|
-
+media-
|
|
18
|
+
+media-tablet-landscape-up()
|
|
21
19
|
margin-right: 10px
|
|
@@ -2,21 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
.infoSection
|
|
4
4
|
position: relative
|
|
5
|
-
display: flex
|
|
6
5
|
align-items: center;
|
|
7
6
|
box-sizing: border-box
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
+media-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
display: block
|
|
8
|
+
padding: 10px 30px 10px 16px
|
|
9
|
+
+media-tablet-landscape-up()
|
|
10
|
+
padding: 6px;
|
|
11
|
+
display: flex
|
|
14
12
|
&.infoSectionSearch
|
|
15
13
|
+media-tablet-landscape-up()
|
|
16
14
|
padding 0;
|
|
17
15
|
&.infoSectionMyVehicles
|
|
18
16
|
+media-phone-only()
|
|
19
17
|
display: flex
|
|
18
|
+
&.infoSectionRecently
|
|
19
|
+
+media-tablet-landscape-down()
|
|
20
|
+
padding: 12px 30px 12px 16px
|
|
20
21
|
|
|
21
22
|
.wrapTitles
|
|
22
23
|
display flex;
|
|
@@ -25,8 +26,14 @@
|
|
|
25
26
|
display block
|
|
26
27
|
&.wrapTitlesSearch
|
|
27
28
|
display block
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
+media-tablet-landscape-up()
|
|
30
|
+
display flex
|
|
31
|
+
&.wrapTitlesFavorite
|
|
32
|
+
display: flex;
|
|
33
|
+
+media-tablet-landscape-up()
|
|
34
|
+
display: block;
|
|
35
|
+
&.wrapTitlesRecently
|
|
36
|
+
display: flex;
|
|
30
37
|
|
|
31
38
|
.manufacturerModel
|
|
32
39
|
font-size: 16px
|
|
@@ -48,7 +55,7 @@
|
|
|
48
55
|
margin 0
|
|
49
56
|
max-width: 88vw
|
|
50
57
|
|
|
51
|
-
+media-
|
|
58
|
+
+media-tablet-landscape-up()
|
|
52
59
|
margin: 0 0 -1px 3px
|
|
53
60
|
max-width: 100%;
|
|
54
61
|
|
|
@@ -61,13 +68,25 @@
|
|
|
61
68
|
truncate();
|
|
62
69
|
|
|
63
70
|
&.optionTitleSearch
|
|
64
|
-
font-size:
|
|
71
|
+
font-size: 12px;
|
|
72
|
+
margin-top: 3px;
|
|
73
|
+
+media-tablet-landscape-up()
|
|
74
|
+
margin-left: 8px;
|
|
75
|
+
margin-top: 0;
|
|
76
|
+
&.optionTitleFavorite
|
|
77
|
+
font-size: 12px;
|
|
78
|
+
margin-left: 8px;
|
|
79
|
+
+media-tablet-landscape-up()
|
|
80
|
+
margin-left: -3px;
|
|
81
|
+
margin-top: 3px;
|
|
82
|
+
&.optionTitleRecently
|
|
83
|
+
font-size: 12px;
|
|
84
|
+
margin-left: 8px;
|
|
65
85
|
&.optionTitleIsAlternative
|
|
66
86
|
overflow: hidden;
|
|
67
87
|
max-width: 260px;
|
|
68
88
|
|
|
69
89
|
.sponsored
|
|
70
|
-
font-family: 'Arial Fett', 'Arial Standard', 'Arial'
|
|
71
90
|
font-weight: 700
|
|
72
91
|
font-style: normal
|
|
73
92
|
font-size: 10px
|
|
@@ -24,17 +24,22 @@ const VehicleTitle: React.FC<IVehicleTitleProps> = ({
|
|
|
24
24
|
|
|
25
25
|
const infoSectionClassName = classnames(
|
|
26
26
|
styles.infoSection,
|
|
27
|
-
{ [styles.infoSectionSearch]: vehicleComponentName === 'search'
|
|
27
|
+
{ [styles.infoSectionSearch]: vehicleComponentName === 'search' },
|
|
28
|
+
{ [styles.infoSectionRecently]: vehicleComponentName === 'recently' },
|
|
28
29
|
{ [styles.infoSectionMyVehicles]: vehicleComponentName === 'myVehicles' }
|
|
29
30
|
);
|
|
30
31
|
|
|
31
32
|
const wrapTitlesClassName = classnames(
|
|
32
33
|
styles.wrapTitles,
|
|
33
|
-
{ [styles.
|
|
34
|
+
{ [styles.wrapTitlesFavorite]: vehicleComponentName === 'favorite' },
|
|
35
|
+
{ [styles.wrapTitlesRecently]: vehicleComponentName === 'recently' },
|
|
36
|
+
{ [styles.wrapTitlesSearch]: vehicleComponentName === 'search' || vehicleComponentName === 'myVehicles' }
|
|
34
37
|
);
|
|
35
38
|
const optionTitleClassName = classnames(
|
|
36
39
|
styles.optionTitle,
|
|
37
|
-
{ [styles.
|
|
40
|
+
{ [styles.optionTitleFavorite]: vehicleComponentName === 'favorite' },
|
|
41
|
+
{ [styles.optionTitleRecently]: vehicleComponentName === 'recently' },
|
|
42
|
+
{ [styles.optionTitleSearch]: vehicleComponentName === 'search' || vehicleComponentName === 'myVehicles' },
|
|
38
43
|
{ [styles.optionTitleIsAlternative]: combineRefAlternative }
|
|
39
44
|
);
|
|
40
45
|
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
display: grid;
|
|
8
8
|
|
|
9
9
|
+media-tablet-landscape-up()
|
|
10
|
-
border-radius:
|
|
11
|
-
border: 1px solid
|
|
10
|
+
border-radius: 10px;
|
|
11
|
+
border: 1px solid rgba(76, 78, 100, 0.12)
|
|
12
12
|
|
|
13
13
|
&.disableBorder
|
|
14
14
|
border-bottom: 0;
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
border-bottom: 6px solid $skyBlue;
|
|
28
28
|
|
|
29
29
|
+media-tablet-landscape-up()
|
|
30
|
-
border: 1px solid
|
|
30
|
+
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
31
31
|
grid-template-columns: 112px 1fr;
|
|
32
32
|
|
|
33
33
|
&.vehicleWrapComparable
|
|
34
34
|
min-width: 230px
|
|
35
35
|
margin: 0 4px
|
|
36
36
|
border-radius 3px
|
|
37
|
-
border: 1px solid
|
|
37
|
+
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
38
38
|
grid-template-columns: 100px 1fr;
|
|
39
39
|
|
|
40
40
|
+media-tablet-down()
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
&.vehicleWrapMain
|
|
51
51
|
grid-template-columns: 112px 1fr;
|
|
52
52
|
border-radius 3px
|
|
53
|
-
border: 1px solid
|
|
53
|
+
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
54
54
|
|
|
55
55
|
+media-phone-only()
|
|
56
56
|
grid-template-columns: 155px 1fr;
|
|
@@ -61,13 +61,18 @@
|
|
|
61
61
|
'image image'\
|
|
62
62
|
'info price'\
|
|
63
63
|
'seoText seoText'
|
|
64
|
-
grid-template-columns:
|
|
65
|
-
border-bottom:
|
|
64
|
+
grid-template-columns: 55% 45%;
|
|
65
|
+
border-bottom: 1px solid #DFDFDF;
|
|
66
|
+
border-top: 1px solid #DFDFDF;
|
|
67
|
+
margin-bottom: 5px;
|
|
68
|
+
padding-bottom: 8px;
|
|
66
69
|
+media-tablet-landscape-up()
|
|
67
|
-
|
|
70
|
+
height: 252px;
|
|
71
|
+
box-sizing: border-box;
|
|
72
|
+
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
68
73
|
padding: 10px;
|
|
69
74
|
grid-gap: 10px 15px;
|
|
70
|
-
grid-template-columns: 260px 1fr
|
|
75
|
+
grid-template-columns: 260px 1fr 189px;
|
|
71
76
|
grid-template-areas:
|
|
72
77
|
'title title price'\
|
|
73
78
|
'image info price'
|
|
@@ -78,12 +83,11 @@
|
|
|
78
83
|
'image image'\
|
|
79
84
|
'info price'\
|
|
80
85
|
'seoText seoText'
|
|
81
|
-
grid-template-columns:
|
|
82
|
-
border: 1px solid
|
|
86
|
+
grid-template-columns: 160px 1fr;
|
|
87
|
+
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
83
88
|
border-radius: 10px;
|
|
84
89
|
padding-bottom: 15px;
|
|
85
90
|
+media-tablet-landscape-up()
|
|
86
|
-
border: 1px solid $grey-e;
|
|
87
91
|
padding: 10px;
|
|
88
92
|
grid-gap: 10px 15px;
|
|
89
93
|
grid-template-columns: 260px 1fr 245px;
|
|
@@ -91,6 +95,30 @@
|
|
|
91
95
|
'title title price'\
|
|
92
96
|
'image info price'
|
|
93
97
|
|
|
98
|
+
&.vehicleWrapRecently
|
|
99
|
+
box-sizing: border-box;
|
|
100
|
+
grid-template-areas:
|
|
101
|
+
'title title'\
|
|
102
|
+
'image image'\
|
|
103
|
+
'info price'\
|
|
104
|
+
'seoText seoText'
|
|
105
|
+
grid-template-columns: 160px 1fr;
|
|
106
|
+
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
107
|
+
border-radius: 10px;
|
|
108
|
+
padding-bottom: 15px;
|
|
109
|
+
|
|
110
|
+
& [class*='withStats__topWrapper']
|
|
111
|
+
left: 16px;
|
|
112
|
+
right: 16px;
|
|
113
|
+
|
|
114
|
+
& [class*='withStats__controls']
|
|
115
|
+
padding: 0 16px;
|
|
116
|
+
|
|
117
|
+
+media-tablet-up()
|
|
118
|
+
max-width: 98%;
|
|
119
|
+
+media-tablet-landscape-up()
|
|
120
|
+
max-width: 346px;
|
|
121
|
+
|
|
94
122
|
&.vehicleWrapMyVeicles
|
|
95
123
|
grid-template-areas:
|
|
96
124
|
'title title'\
|
|
@@ -102,7 +130,7 @@
|
|
|
102
130
|
grid-template-columns: 50% 50%;
|
|
103
131
|
border-bottom: 6px solid $skyBlue;
|
|
104
132
|
+media-tablet-landscape-up()
|
|
105
|
-
border: 1px solid
|
|
133
|
+
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
106
134
|
padding: 10px;
|
|
107
135
|
grid-gap: 0 15px;
|
|
108
136
|
grid-template-columns: 260px 1fr 169px 236px;
|
|
@@ -143,8 +171,6 @@
|
|
|
143
171
|
text-decoration: none;
|
|
144
172
|
display: block;
|
|
145
173
|
|
|
146
|
-
.gridAreaImage
|
|
147
|
-
|
|
148
174
|
.gridAreaTitle
|
|
149
175
|
grid-area: title;
|
|
150
176
|
max-width: 100%;
|
|
@@ -172,9 +198,15 @@
|
|
|
172
198
|
&:first-of-type
|
|
173
199
|
color: $skyBlue;
|
|
174
200
|
|
|
175
|
-
.svgIcon
|
|
176
|
-
margin-right: 10px;
|
|
177
|
-
|
|
178
201
|
.isFirstReferenceCar
|
|
179
202
|
border: 1px solid $skyBlue !important;
|
|
180
|
-
background-color: #005CCB0D;
|
|
203
|
+
background-color: #005CCB0D;
|
|
204
|
+
justify-content: space-between;
|
|
205
|
+
margin-top: 5px;
|
|
206
|
+
|
|
207
|
+
& > div
|
|
208
|
+
display flex
|
|
209
|
+
align-items: center
|
|
210
|
+
|
|
211
|
+
&:first-of-type
|
|
212
|
+
color: $skyBlue;
|
|
@@ -3,7 +3,7 @@ import classnames from 'classnames';
|
|
|
3
3
|
import _get from 'lodash/get';
|
|
4
4
|
import LazyLoad from 'react-lazyload';
|
|
5
5
|
import withLabel from '../_common/withLabel/withLabel';
|
|
6
|
-
import withStats, { IStatsWrapperProps
|
|
6
|
+
import withStats, { IStatsWrapperProps } from '../_common/withStats/withStats';
|
|
7
7
|
import Image from '../_common/Image/Image';
|
|
8
8
|
import IconSVG from '../_common/IconSVG/IconSVG';
|
|
9
9
|
import VehicleSlider from '../_common/VehicleSlider/VehicleSlider';
|
|
@@ -32,16 +32,16 @@ interface IVehicleSmallCardProps {
|
|
|
32
32
|
t?: (key: string, options?: object) => string;
|
|
33
33
|
i18nPrefixForPriceRating?: string;
|
|
34
34
|
language?: string;
|
|
35
|
-
vehicleComponentName?: 'comparable' | 'landing' | 'search' | 'main' | 'myVehicles' | 'favorite';
|
|
35
|
+
vehicleComponentName?: 'comparable' | 'landing' | 'search' | 'main' | 'myVehicles' | 'favorite' | 'recently';
|
|
36
36
|
isTop?: boolean;
|
|
37
37
|
isDealer?: boolean;
|
|
38
38
|
isDealerSuperAdmin?: boolean;
|
|
39
39
|
isReferenceSearch?: boolean;
|
|
40
|
+
dashboardButtonText?: string;
|
|
40
41
|
showNewLabel?: boolean;
|
|
41
42
|
CircularProgressbar?: any;
|
|
42
43
|
slider?: IVehicleSliderProps | IVehicleSliderForSRLProps;
|
|
43
44
|
stats?: IStatsWrapperProps;
|
|
44
|
-
statsData?: IStatsData;
|
|
45
45
|
title?: IVehicleTitleProps;
|
|
46
46
|
info?: IVehicleInfo;
|
|
47
47
|
location?: IVehicleLocation;
|
|
@@ -53,6 +53,7 @@ interface IVehicleSmallCardProps {
|
|
|
53
53
|
offer?: object;
|
|
54
54
|
price?: IPrice;
|
|
55
55
|
seoText?: string;
|
|
56
|
+
classButton?: string;
|
|
56
57
|
mainImageId?: string;
|
|
57
58
|
crawledAt?: string;
|
|
58
59
|
modificationDate?: string;
|
|
@@ -69,6 +70,8 @@ interface IVehicleSmallCardProps {
|
|
|
69
70
|
children?: ReactNode;
|
|
70
71
|
showSlider?: boolean;
|
|
71
72
|
showOfferBtn?: boolean;
|
|
73
|
+
hasInteriorExteriorPhoto?: boolean;
|
|
74
|
+
showCompareCheckboxes?: boolean;
|
|
72
75
|
showFavoriteStar?: boolean;
|
|
73
76
|
minimizeData?: boolean;
|
|
74
77
|
onContainerClick?: (event?: any) => void;
|
|
@@ -91,7 +94,6 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
91
94
|
vehicleComponentName,
|
|
92
95
|
i18nPrefixForPriceRating,
|
|
93
96
|
stats,
|
|
94
|
-
statsData,
|
|
95
97
|
compareProps,
|
|
96
98
|
title,
|
|
97
99
|
info,
|
|
@@ -99,6 +101,7 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
99
101
|
consumption,
|
|
100
102
|
environmentEmissions,
|
|
101
103
|
isReferenceSearch,
|
|
104
|
+
showCompareCheckboxes,
|
|
102
105
|
CircularProgressbar,
|
|
103
106
|
engineData,
|
|
104
107
|
offer,
|
|
@@ -109,6 +112,8 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
109
112
|
language,
|
|
110
113
|
className,
|
|
111
114
|
url,
|
|
115
|
+
target,
|
|
116
|
+
rel,
|
|
112
117
|
onContainerClick,
|
|
113
118
|
onAddOfferToMainSlideClick,
|
|
114
119
|
isDealer,
|
|
@@ -130,6 +135,9 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
130
135
|
iconName,
|
|
131
136
|
showSlider,
|
|
132
137
|
percentage,
|
|
138
|
+
classButton,
|
|
139
|
+
hasInteriorExteriorPhoto,
|
|
140
|
+
dashboardButtonText,
|
|
133
141
|
showOfferBtn = false,
|
|
134
142
|
showFavoriteStar = true,
|
|
135
143
|
minimizeData = false,
|
|
@@ -154,6 +162,7 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
154
162
|
{ [styles.vehicleWrapComparable]: vehicleComponentName === 'comparable' },
|
|
155
163
|
{ [styles.vehicleWrapMyVeicles]: vehicleComponentName === 'myVehicles' },
|
|
156
164
|
{ [styles.vehicleWrapFavorite]: vehicleComponentName === 'favorite' },
|
|
165
|
+
{ [styles.vehicleWrapRecently]: vehicleComponentName === 'recently' },
|
|
157
166
|
{ [styles.topVehicle]: isTop },
|
|
158
167
|
{ [styles.disableBorder]: minimizeData },
|
|
159
168
|
{ [styles.isFirstReferenceCar]: isReferenceSearch && index === 0 && currentPage === 1 },
|
|
@@ -163,6 +172,7 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
163
172
|
const decoratedSliderProps = {
|
|
164
173
|
t,
|
|
165
174
|
id,
|
|
175
|
+
hasInteriorExteriorPhoto,
|
|
166
176
|
...label,
|
|
167
177
|
...stats,
|
|
168
178
|
...slider,
|
|
@@ -185,7 +195,9 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
185
195
|
combineRefAlternative
|
|
186
196
|
};
|
|
187
197
|
|
|
188
|
-
const routeObj = linkTag !== 'a'
|
|
198
|
+
const routeObj = linkTag !== 'a'
|
|
199
|
+
? { to: { pathname: url, state: { mainImageId, mainImageUrl: src, carId: id, isSavedCheckout: showOfferBtn, ...title } } }
|
|
200
|
+
: '';
|
|
189
201
|
|
|
190
202
|
const vehicleInfoProps = {
|
|
191
203
|
t,
|
|
@@ -200,6 +212,8 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
200
212
|
linkTag,
|
|
201
213
|
routeObj,
|
|
202
214
|
url,
|
|
215
|
+
target,
|
|
216
|
+
rel,
|
|
203
217
|
engineData,
|
|
204
218
|
...price,
|
|
205
219
|
...info
|
|
@@ -209,8 +223,12 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
209
223
|
t,
|
|
210
224
|
id,
|
|
211
225
|
url,
|
|
226
|
+
target,
|
|
227
|
+
rel,
|
|
212
228
|
iconName,
|
|
229
|
+
dashboardButtonText,
|
|
213
230
|
vehicleComponentName,
|
|
231
|
+
classButton,
|
|
214
232
|
linkTag,
|
|
215
233
|
onAddOfferToMainSlideClick,
|
|
216
234
|
isDealerSuperAdmin,
|
|
@@ -221,6 +239,7 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
221
239
|
combineRefAlternative,
|
|
222
240
|
typeAlternative,
|
|
223
241
|
isAlternative,
|
|
242
|
+
showCompareCheckboxes,
|
|
224
243
|
...price,
|
|
225
244
|
...compareProps
|
|
226
245
|
};
|
|
@@ -241,13 +260,17 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
241
260
|
t,
|
|
242
261
|
price,
|
|
243
262
|
showNewLabel,
|
|
244
|
-
|
|
263
|
+
...stats
|
|
245
264
|
};
|
|
246
265
|
|
|
247
266
|
const linkBaseUrl = (e: MouseEvent<HTMLImageElement>) => {
|
|
248
267
|
e.preventDefault();
|
|
249
268
|
if (baseUrl) window.open(baseUrl, '_blank');
|
|
250
269
|
};
|
|
270
|
+
const showComponentLikeSlider = vehicleComponentName === 'search' ||
|
|
271
|
+
vehicleComponentName === 'myVehicles' ||
|
|
272
|
+
vehicleComponentName === 'favorite' ||
|
|
273
|
+
vehicleComponentName === 'recently';
|
|
251
274
|
return (
|
|
252
275
|
<section className={wrapperClassName} onClick={onContainerClick} id={id}>
|
|
253
276
|
{createElement(linkTag, {
|
|
@@ -255,7 +278,9 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
255
278
|
...routeObj,
|
|
256
279
|
className: `${styles.redirectClassLink} ${styles.gridAreaTitle}`,
|
|
257
280
|
onClick: () => localStorage.setItem('activeTabCDP', t('vehicleProps:title.financing')),
|
|
258
|
-
href: url
|
|
281
|
+
href: url,
|
|
282
|
+
target,
|
|
283
|
+
rel
|
|
259
284
|
})}
|
|
260
285
|
|
|
261
286
|
{createElement(linkTag, {
|
|
@@ -263,7 +288,7 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
263
288
|
<>
|
|
264
289
|
{showSlider ? (
|
|
265
290
|
<>
|
|
266
|
-
{
|
|
291
|
+
{showComponentLikeSlider ? (
|
|
267
292
|
<>
|
|
268
293
|
<DecoratedSliderForSRL {...decoratedSliderProps} />
|
|
269
294
|
{renderIDInfo && isDealer ? renderIDInfo() : null}
|
|
@@ -306,7 +331,9 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
306
331
|
...routeObj,
|
|
307
332
|
className: `${styles.redirectClassLink} ${styles.gridAreaImage}`,
|
|
308
333
|
onClick: () => localStorage.setItem('activeTabCDP', t('vehicleProps:title.financing')),
|
|
309
|
-
href: url
|
|
334
|
+
href: url,
|
|
335
|
+
target,
|
|
336
|
+
rel
|
|
310
337
|
})}
|
|
311
338
|
<VehicleInfo {...vehicleInfoProps} />
|
|
312
339
|
<VehiclePrice {...vehiclePriceProps} />
|
|
@@ -326,6 +353,7 @@ VehicleSmallCard.defaultProps = {
|
|
|
326
353
|
isTop: false,
|
|
327
354
|
showSlider: false,
|
|
328
355
|
isDealerSuperAdmin: false,
|
|
356
|
+
showCompareCheckboxes: false,
|
|
329
357
|
slider: {},
|
|
330
358
|
stats: {},
|
|
331
359
|
title: {},
|
|
@@ -351,6 +379,7 @@ export default memo(VehicleSmallCard, (props, nextProps) => { // shouldComponent
|
|
|
351
379
|
financing: { monthlyInstallment, annualMileage, withFinalInstallment },
|
|
352
380
|
leasing: { monthlyInstallment: lMonthlyInstallment }
|
|
353
381
|
},
|
|
382
|
+
stats: { statsData },
|
|
354
383
|
isCarInFavorite,
|
|
355
384
|
compareProps,
|
|
356
385
|
children
|
|
@@ -362,6 +391,7 @@ export default memo(VehicleSmallCard, (props, nextProps) => { // shouldComponent
|
|
|
362
391
|
&& withFinalInstallment === nextProps.price.financing.withFinalInstallment
|
|
363
392
|
&& lMonthlyInstallment === nextProps.price.leasing.monthlyInstallment
|
|
364
393
|
&& isCarInFavorite === nextProps.isCarInFavorite
|
|
394
|
+
&& statsData === nextProps.stats.statsData
|
|
365
395
|
&& _get(compareProps, 'toCompare') === _get(compareProps, 'nextProps.toCompare')
|
|
366
396
|
&& children === nextProps.children;
|
|
367
397
|
});
|