@bytebrand/fe-ui-core 4.1.161 → 4.1.163
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/package.json +1 -1
- package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.styl +23 -2
- package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +16 -12
- package/source/components/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.styl +0 -3
- package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +5 -7
- package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.tsx +17 -13
- package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.styl +6 -3
- package/source/components/VehicleSmallCard/VehicleSmallCard.styl +14 -182
- package/source/components/VehicleSmallCard/VehicleSmallCard.tsx +1 -5
- package/source/components/_common/ExpansionPanel/ExpansionPanel.tsx +6 -1
- package/source/locales/data.ts +1 -0
package/package.json
CHANGED
package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.styl
CHANGED
|
@@ -9,6 +9,16 @@
|
|
|
9
9
|
height: 46px;
|
|
10
10
|
box-sizing: border-box;
|
|
11
11
|
|
|
12
|
+
&.priceItemSearch
|
|
13
|
+
height: 44px;
|
|
14
|
+
+media-tablet-landscape-up()
|
|
15
|
+
height: 51px;
|
|
16
|
+
&.priceItemBuy
|
|
17
|
+
border-top: none;
|
|
18
|
+
border-bottom: 1px solid rgba(76, 78, 100, 0.12);
|
|
19
|
+
+media-tablet-landscape-up()
|
|
20
|
+
border: none;
|
|
21
|
+
|
|
12
22
|
&.priceItemFavorite
|
|
13
23
|
height: 44px;
|
|
14
24
|
+media-tablet-landscape-up()
|
|
@@ -92,8 +102,19 @@
|
|
|
92
102
|
align-items: flex-end;
|
|
93
103
|
color: inherit;
|
|
94
104
|
|
|
105
|
+
.oldPriceWrap
|
|
106
|
+
display: flex;
|
|
107
|
+
font-size: 10px;
|
|
108
|
+
align-items: center;
|
|
109
|
+
width: 100%;
|
|
110
|
+
justify-content: space-between;
|
|
111
|
+
|
|
112
|
+
.prefixOldPrice
|
|
113
|
+
margin: 0 8px;
|
|
114
|
+
color: rgba(51, 51, 51, 0.83);
|
|
115
|
+
|
|
95
116
|
.oldPrice
|
|
96
|
-
|
|
117
|
+
margin-left: auto;
|
|
97
118
|
& > span:last-of-type
|
|
98
119
|
font-size: 8px;
|
|
99
120
|
transform: translateY(-2px);
|
|
@@ -139,4 +160,4 @@
|
|
|
139
160
|
|
|
140
161
|
.tooltipWrapFavorites
|
|
141
162
|
transform: translateY(0px);
|
|
142
|
-
margin-left: 5px;
|
|
163
|
+
margin-left: 5px;
|
package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx
CHANGED
|
@@ -20,6 +20,7 @@ export interface IVehiclePriceItemProps {
|
|
|
20
20
|
vehicleComponentName?: 'comparable' | 'landing' | 'search' | 'main' | 'myVehicles' | 'favorite' | 'recently';
|
|
21
21
|
perMonthCurrent?: number;
|
|
22
22
|
iconName?: string;
|
|
23
|
+
prefixOldPrice?: string;
|
|
23
24
|
perMonthOld?: number;
|
|
24
25
|
totalCurrent?: number;
|
|
25
26
|
totalOld?: number;
|
|
@@ -59,6 +60,7 @@ class VehiclePriceItem extends React.Component<IVehiclePriceItemProps> {
|
|
|
59
60
|
linkTag,
|
|
60
61
|
routeObj,
|
|
61
62
|
combineRefAlternative,
|
|
63
|
+
prefixOldPrice,
|
|
62
64
|
margin,
|
|
63
65
|
isAlternativeText,
|
|
64
66
|
vehicleComponentName,
|
|
@@ -73,6 +75,7 @@ class VehiclePriceItem extends React.Component<IVehiclePriceItemProps> {
|
|
|
73
75
|
const stylesItem = classnames(
|
|
74
76
|
styles.priceItem,
|
|
75
77
|
{ [styles.priceItemFavorite]: vehicleComponentName === 'favorite' },
|
|
78
|
+
{ [styles.priceItemSearch]: vehicleComponentName === 'search' },
|
|
76
79
|
{ [styles.priceItemRecently]: vehicleComponentName === 'recently' },
|
|
77
80
|
{ [styles.priceItemComparable]: vehicleComponentName === 'comparable' || vehicleComponentName === 'landing' || vehicleComponentName === 'main' },
|
|
78
81
|
{ [styles.priceItemDisable]: isPriceDisable },
|
|
@@ -85,8 +88,6 @@ class VehiclePriceItem extends React.Component<IVehiclePriceItemProps> {
|
|
|
85
88
|
{ [styles.priceItemCategoryComparable]: vehicleComponentName === 'comparable' || vehicleComponentName === 'landing' || vehicleComponentName === 'main' }
|
|
86
89
|
);
|
|
87
90
|
|
|
88
|
-
const addCustomTooltipClass = vehicleComponentName === 'favorite' || vehicleComponentName === 'recently';
|
|
89
|
-
|
|
90
91
|
return (
|
|
91
92
|
<div className={stylesItem}>
|
|
92
93
|
{React.createElement(linkTag, {
|
|
@@ -100,11 +101,11 @@ class VehiclePriceItem extends React.Component<IVehiclePriceItemProps> {
|
|
|
100
101
|
})}
|
|
101
102
|
{tooltipDescription && (
|
|
102
103
|
<Tooltip
|
|
103
|
-
tooltipClassName={
|
|
104
|
+
tooltipClassName={styles.tooltipWrapFavorites}
|
|
104
105
|
description={tooltipDescription}
|
|
105
106
|
positionX={positionX}
|
|
106
107
|
positionY={positionY}
|
|
107
|
-
iconName={
|
|
108
|
+
iconName={'infoIcon'}
|
|
108
109
|
/>
|
|
109
110
|
)}
|
|
110
111
|
{isNewPriceCategory && (
|
|
@@ -118,14 +119,17 @@ class VehiclePriceItem extends React.Component<IVehiclePriceItemProps> {
|
|
|
118
119
|
{!isPriceDisable ? (
|
|
119
120
|
<>
|
|
120
121
|
{isStrikeShown && perMonthOld && (
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
122
|
+
<div className={styles.oldPriceWrap}>
|
|
123
|
+
{prefixOldPrice && <span className={styles.prefixOldPrice}>{prefixOldPrice}</span>}
|
|
124
|
+
<VehicleFormattedPrice
|
|
125
|
+
numbersAfterDot={0}
|
|
126
|
+
className={styles.oldPrice}
|
|
127
|
+
price={perMonthOld}
|
|
128
|
+
size='semimedium'
|
|
129
|
+
isOld
|
|
130
|
+
disableStyles
|
|
131
|
+
/>
|
|
132
|
+
</div>
|
|
129
133
|
)}
|
|
130
134
|
|
|
131
135
|
{perMonthCurrent && (
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
padding: 13px 12px 0 8px
|
|
14
14
|
|
|
15
15
|
&.vehiclePriceSectionSearch
|
|
16
|
+
padding: 0 10px;
|
|
16
17
|
+media-tablet-landscape-up()
|
|
17
|
-
margin-top: -3px;
|
|
18
18
|
flex-shrink: 0;
|
|
19
|
-
padding:
|
|
19
|
+
padding: 24px 5px 0 15px;
|
|
20
20
|
border-left: 1px solid rgba(76, 78, 100, 0.12)
|
|
21
21
|
|
|
22
22
|
&.vehiclePriceSectionFavorite
|
|
@@ -44,9 +44,8 @@
|
|
|
44
44
|
height: 12px;
|
|
45
45
|
|
|
46
46
|
&.vehiclePriceTitleSearch
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
height: 24px;
|
|
47
|
+
font-size: 12px;
|
|
48
|
+
height: 44px;
|
|
50
49
|
|
|
51
50
|
&.vehiclePriceTitleFavorite
|
|
52
51
|
font-size: 12px;
|
|
@@ -69,10 +68,9 @@
|
|
|
69
68
|
width: 100%
|
|
70
69
|
height: 40px
|
|
71
70
|
font-size: 16px
|
|
72
|
-
margin-top:
|
|
71
|
+
margin-top: 8px !important;
|
|
73
72
|
font-weight bold !important;
|
|
74
73
|
border-radius: 0 !important;
|
|
75
|
-
text-transform: uppercase !important
|
|
76
74
|
|
|
77
75
|
.isAlternativeButton
|
|
78
76
|
background-color: $alternative !important
|
|
@@ -4,6 +4,7 @@ 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
9
|
import CheckboxMaterial from '../../../../components/_common/CheckboxMaterial/CheckboxMaterial';
|
|
9
10
|
import IconSVG from '../../../_common/IconSVG/IconSVG';
|
|
@@ -20,7 +21,6 @@ export interface IVehiclePriceSectionProps {
|
|
|
20
21
|
linkTag?: string;
|
|
21
22
|
classButton?: string;
|
|
22
23
|
showAboIcon?: boolean;
|
|
23
|
-
showDashboardButton?: boolean;
|
|
24
24
|
dashboardButtonText?: string;
|
|
25
25
|
isNewPriceCategory?: boolean;
|
|
26
26
|
vehicleComponentName?: 'comparable' | 'landing' | 'search' | 'main' | 'myVehicles' | 'favorite' | 'recently';
|
|
@@ -99,7 +99,6 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
99
99
|
routeObj,
|
|
100
100
|
toggleCarToCompare,
|
|
101
101
|
toCompare,
|
|
102
|
-
showDashboardButton,
|
|
103
102
|
dashboardButtonText,
|
|
104
103
|
classButton,
|
|
105
104
|
onRemoveClick,
|
|
@@ -140,6 +139,7 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
140
139
|
perMonthOld: oldMonthlyInstallment,
|
|
141
140
|
perMonthCurrent: monthlyInstallment,
|
|
142
141
|
title: t('vehicleProps:title.financing'),
|
|
142
|
+
prefixOldPrice: vehicleComponentName === 'search' && !isMobileOnly && t('vehicleProps:value.prefixOldPrice'),
|
|
143
143
|
postfix: '3',
|
|
144
144
|
priceSub: t('vehicleProps:value.priceSub'),
|
|
145
145
|
tooltipDescription: !combineRefAlternative && t('vehicleProps:title.financingDescription')
|
|
@@ -147,6 +147,7 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
147
147
|
{
|
|
148
148
|
perMonthOld: lOldMonthlyInstallment,
|
|
149
149
|
perMonthCurrent: lMonthlyInstallment,
|
|
150
|
+
prefixOldPrice: vehicleComponentName === 'search' && !isMobileOnly && t('vehicleProps:value.prefixOldPrice'),
|
|
150
151
|
postfix: '1,3',
|
|
151
152
|
isPriceDisable: !isLeasingActive,
|
|
152
153
|
title: t('vehicleProps:title.leasing'),
|
|
@@ -155,7 +156,9 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
155
156
|
}
|
|
156
157
|
];
|
|
157
158
|
|
|
158
|
-
const showAboCondition = vehicleComponentName !== 'favorite' &&
|
|
159
|
+
const showAboCondition = vehicleComponentName !== 'favorite' &&
|
|
160
|
+
vehicleComponentName !== 'recently' &&
|
|
161
|
+
vehicleComponentName !== 'search';
|
|
159
162
|
|
|
160
163
|
const Abo = showAboCondition ? [
|
|
161
164
|
{
|
|
@@ -201,6 +204,7 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
201
204
|
{
|
|
202
205
|
title,
|
|
203
206
|
priceSub,
|
|
207
|
+
prefixOldPrice,
|
|
204
208
|
totalCurrent,
|
|
205
209
|
tooltipDescription,
|
|
206
210
|
perMonthOld,
|
|
@@ -233,6 +237,7 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
233
237
|
rel={rel}
|
|
234
238
|
isStrikeShown={isStrikeShown}
|
|
235
239
|
iconName={iconName}
|
|
240
|
+
prefixOldPrice={prefixOldPrice}
|
|
236
241
|
totalCurrent={totalCurrent}
|
|
237
242
|
postfix={postfix}
|
|
238
243
|
linkTag={linkTag}
|
|
@@ -249,7 +254,7 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
249
254
|
);
|
|
250
255
|
return (
|
|
251
256
|
<section className={vehiclePriceSectionClassName}>
|
|
252
|
-
{vehicleComponentName === 'favorite' && showCompareCheckboxes
|
|
257
|
+
{vehicleComponentName === 'favorite' && showCompareCheckboxes && (
|
|
253
258
|
<CheckboxMaterial
|
|
254
259
|
checked={toCompare}
|
|
255
260
|
onChange={toggleCarToCompare}
|
|
@@ -257,7 +262,13 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
257
262
|
label={t('FavoritesPage:toCompare')}
|
|
258
263
|
formControlClassName={styles.wrapCheckbox}
|
|
259
264
|
/>
|
|
260
|
-
)
|
|
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
|
+
)}
|
|
261
272
|
{ListPrices}
|
|
262
273
|
{vehicleComponentName === 'favorite' && showCompareCheckboxes && (
|
|
263
274
|
<div className={styles.wrapHandleCompare}>
|
|
@@ -270,20 +281,13 @@ class VehiclePrice extends React.Component<IVehiclePriceSectionProps> {
|
|
|
270
281
|
</Button>
|
|
271
282
|
</div>
|
|
272
283
|
)}
|
|
273
|
-
{showDashboardButton && (
|
|
274
|
-
<Button color='primary' className={buttonClassNames} onClick={this.onDetailsClick}>
|
|
275
|
-
{dashboardButtonText}
|
|
276
|
-
</Button>
|
|
277
|
-
)}
|
|
278
284
|
{isDealerSuperAdmin && !typeAlternative ? (
|
|
279
285
|
<Button className={styles.addOfferButton} onClick={this.onAddOfferClick}>
|
|
280
286
|
{t('vehicleProps:title.addOfferToMainSlide')}
|
|
281
287
|
</Button>
|
|
282
288
|
) : null}
|
|
283
289
|
{showOfferBtn ? (
|
|
284
|
-
<
|
|
285
|
-
<Button color='primary' className={buttonClassNames} onClick={this.onDetailsClick}>{t('vehicleProps:title.toOffer')}</Button>
|
|
286
|
-
</Hidden>
|
|
290
|
+
<Button color='primary' className={buttonClassNames} onClick={this.onDetailsClick}>{t('vehicleProps:title.toOffer')}</Button>
|
|
287
291
|
) : ''}
|
|
288
292
|
</section>
|
|
289
293
|
);
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
display block
|
|
27
27
|
&.wrapTitlesSearch
|
|
28
28
|
display block
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
+media-tablet-landscape-up()
|
|
30
|
+
display flex
|
|
31
31
|
&.wrapTitlesFavorite
|
|
32
32
|
display: flex;
|
|
33
33
|
+media-tablet-landscape-up()
|
|
@@ -69,7 +69,10 @@
|
|
|
69
69
|
|
|
70
70
|
&.optionTitleSearch
|
|
71
71
|
font-size: 12px;
|
|
72
|
-
margin-top:
|
|
72
|
+
margin-top: 3px;
|
|
73
|
+
+media-tablet-landscape-up()
|
|
74
|
+
margin-left: 8px;
|
|
75
|
+
margin-top: 0;
|
|
73
76
|
&.optionTitleFavorite
|
|
74
77
|
font-size: 12px;
|
|
75
78
|
margin-left: 8px;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
display: grid;
|
|
8
8
|
|
|
9
9
|
+media-tablet-landscape-up()
|
|
10
|
-
border-radius:
|
|
10
|
+
border-radius: 10px;
|
|
11
11
|
border: 1px solid rgba(76, 78, 100, 0.12)
|
|
12
12
|
|
|
13
13
|
&.disableBorder
|
|
@@ -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()
|
|
70
|
+
height: 252px;
|
|
71
|
+
box-sizing: border-box;
|
|
67
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'
|
|
@@ -91,6 +96,7 @@
|
|
|
91
96
|
'image info price'
|
|
92
97
|
|
|
93
98
|
&.vehicleWrapRecently
|
|
99
|
+
box-sizing: border-box;
|
|
94
100
|
grid-template-areas:
|
|
95
101
|
'title title'\
|
|
96
102
|
'image image'\
|
|
@@ -108,172 +114,10 @@
|
|
|
108
114
|
& [class*='withStats__controls']
|
|
109
115
|
padding: 0 16px;
|
|
110
116
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
'title title'\
|
|
114
|
-
'image image'\
|
|
115
|
-
'controls controls'\
|
|
116
|
-
'info price'\
|
|
117
|
-
'aggregation dealerWidget';
|
|
118
|
-
padding-bottom: 10px;
|
|
119
|
-
grid-template-columns: 50% 50%;
|
|
120
|
-
border-bottom: 6px solid $skyBlue;
|
|
117
|
+
+media-tablet-up()
|
|
118
|
+
max-width: 98%;
|
|
121
119
|
+media-tablet-landscape-up()
|
|
122
|
-
|
|
123
|
-
padding: 10px;
|
|
124
|
-
grid-gap: 0 15px;
|
|
125
|
-
grid-template-columns: 260px 1fr 169px 236px;
|
|
126
|
-
grid-template-areas:
|
|
127
|
-
'title title title dealerWidget'\
|
|
128
|
-
'image info price dealerWidget'\
|
|
129
|
-
'image info price dealerWidget'\
|
|
130
|
-
'image info price controls'\
|
|
131
|
-
'image info price controls'\
|
|
132
|
-
'aggregation aggregation aggregation buttonSell'
|
|
133
|
-
|
|
134
|
-
.figure
|
|
135
|
-
position: relative
|
|
136
|
-
margin: 0
|
|
137
|
-
padding-top: 75%
|
|
138
|
-
& > :first-child
|
|
139
|
-
position: absolute
|
|
140
|
-
top: 0
|
|
141
|
-
left: 0
|
|
142
|
-
right: 0
|
|
143
|
-
|
|
144
|
-
.labelWrapper
|
|
145
|
-
border: none
|
|
146
|
-
.labelWrapper::after
|
|
147
|
-
content: ''
|
|
148
|
-
position absolute
|
|
149
|
-
bottom: 0
|
|
150
|
-
width: 100%
|
|
151
|
-
height: 6px
|
|
152
|
-
background-color: $mantisGreen
|
|
153
|
-
|
|
154
|
-
.topVehicle:before
|
|
155
|
-
border-color: $mantisGreen
|
|
156
|
-
|
|
157
|
-
.redirectClassLink
|
|
158
|
-
width: 100%;
|
|
159
|
-
color: inherit;
|
|
160
|
-
text-decoration: none;
|
|
161
|
-
display: block;
|
|
162
|
-
|
|
163
|
-
.gridAreaImage
|
|
164
|
-
|
|
165
|
-
.gridAreaTitle
|
|
166
|
-
grid-area: title;
|
|
167
|
-
max-width: 100%;
|
|
168
|
-
|
|
169
|
-
.gridAreaSeoText
|
|
170
|
-
width: 100%;
|
|
171
|
-
overflow: hidden
|
|
172
|
-
box-sizing: border-box;
|
|
173
|
-
padding: 10px
|
|
174
|
-
grid-area: seoText;
|
|
175
|
-
|
|
176
|
-
.gridAreaImage
|
|
177
|
-
grid-area: image;
|
|
178
|
-
|
|
179
|
-
.wrapAlternativeData
|
|
180
|
-
display flex
|
|
181
|
-
font-size: 12px;@import '../../theme/mixins.styl';
|
|
182
|
-
@import '../../theme/theme.styl';
|
|
183
|
-
|
|
184
|
-
.vehicle
|
|
185
|
-
position: relative
|
|
186
|
-
background-color: #fff;
|
|
187
|
-
display: grid;
|
|
188
|
-
|
|
189
|
-
+media-tablet-landscape-up()
|
|
190
|
-
border-radius: 3px;
|
|
191
|
-
border: 1px solid rgba(76, 78, 100, 0.12)
|
|
192
|
-
|
|
193
|
-
&.disableBorder
|
|
194
|
-
border-bottom: 0;
|
|
195
|
-
|
|
196
|
-
&.vehicleWrapMain,
|
|
197
|
-
&.vehicleWrapLanding,
|
|
198
|
-
&.vehicleWrapComparable
|
|
199
|
-
grid-template-areas:
|
|
200
|
-
'title title'\
|
|
201
|
-
'image image'\
|
|
202
|
-
'info price'\
|
|
203
|
-
'seoText seoText'
|
|
204
|
-
|
|
205
|
-
&.vehicleWrapLanding
|
|
206
|
-
grid-template-columns: 1fr 1fr;
|
|
207
|
-
border-bottom: 6px solid $skyBlue;
|
|
208
|
-
|
|
209
|
-
+media-tablet-landscape-up()
|
|
210
|
-
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
211
|
-
grid-template-columns: 112px 1fr;
|
|
212
|
-
|
|
213
|
-
&.vehicleWrapComparable
|
|
214
|
-
min-width: 230px
|
|
215
|
-
margin: 0 4px
|
|
216
|
-
border-radius 3px
|
|
217
|
-
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
218
|
-
grid-template-columns: 100px 1fr;
|
|
219
|
-
|
|
220
|
-
+media-tablet-down()
|
|
221
|
-
min-width: 340px;
|
|
222
|
-
|
|
223
|
-
+media-phone-only()
|
|
224
|
-
margin: 0 auto;
|
|
225
|
-
min-width: auto;
|
|
226
|
-
max-width: 335px;
|
|
227
|
-
width: 100%;
|
|
228
|
-
grid-template-columns: 155px 1fr;
|
|
229
|
-
|
|
230
|
-
&.vehicleWrapMain
|
|
231
|
-
grid-template-columns: 112px 1fr;
|
|
232
|
-
border-radius 3px
|
|
233
|
-
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
234
|
-
|
|
235
|
-
+media-phone-only()
|
|
236
|
-
grid-template-columns: 155px 1fr;
|
|
237
|
-
|
|
238
|
-
&.vehicleWrapSearch
|
|
239
|
-
grid-template-areas:
|
|
240
|
-
'title title'\
|
|
241
|
-
'image image'\
|
|
242
|
-
'info price'\
|
|
243
|
-
'seoText seoText'
|
|
244
|
-
grid-template-columns: 50% 50%;
|
|
245
|
-
border-bottom: 6px solid $skyBlue;
|
|
246
|
-
+media-tablet-landscape-up()
|
|
247
|
-
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
248
|
-
padding: 10px;
|
|
249
|
-
grid-gap: 10px 15px;
|
|
250
|
-
grid-template-columns: 260px 1fr 169px;
|
|
251
|
-
grid-template-areas:
|
|
252
|
-
'title title price'\
|
|
253
|
-
'image info price'
|
|
254
|
-
|
|
255
|
-
&.vehicleWrapFavorite
|
|
256
|
-
grid-template-areas:
|
|
257
|
-
'title title'\
|
|
258
|
-
'image image'\
|
|
259
|
-
'info price'\
|
|
260
|
-
'seoText seoText'
|
|
261
|
-
grid-template-columns: 170px 1fr;
|
|
262
|
-
border: 1px solid rgba(76, 78, 100, 0.12);
|
|
263
|
-
border-radius: 10px;
|
|
264
|
-
padding-bottom: 15px;
|
|
265
|
-
|
|
266
|
-
+media-tablet-landscape-down()
|
|
267
|
-
[class*='withStats__controls']:after
|
|
268
|
-
content: ''
|
|
269
|
-
|
|
270
|
-
+media-tablet-landscape-up()
|
|
271
|
-
padding: 10px;
|
|
272
|
-
grid-gap: 10px 15px;
|
|
273
|
-
grid-template-columns: 260px 1fr 245px;
|
|
274
|
-
grid-template-areas:
|
|
275
|
-
'title title price'\
|
|
276
|
-
'image info price'
|
|
120
|
+
max-width: 346px;
|
|
277
121
|
|
|
278
122
|
&.vehicleWrapMyVeicles
|
|
279
123
|
grid-template-areas:
|
|
@@ -327,8 +171,6 @@
|
|
|
327
171
|
text-decoration: none;
|
|
328
172
|
display: block;
|
|
329
173
|
|
|
330
|
-
.gridAreaImage
|
|
331
|
-
|
|
332
174
|
.gridAreaTitle
|
|
333
175
|
grid-area: title;
|
|
334
176
|
max-width: 100%;
|
|
@@ -356,9 +198,6 @@
|
|
|
356
198
|
&:first-of-type
|
|
357
199
|
color: $skyBlue;
|
|
358
200
|
|
|
359
|
-
.svgIcon
|
|
360
|
-
margin-right: 10px;
|
|
361
|
-
|
|
362
201
|
.isFirstReferenceCar
|
|
363
202
|
border: 1px solid $skyBlue !important;
|
|
364
203
|
background-color: #005CCB0D;
|
|
@@ -370,11 +209,4 @@
|
|
|
370
209
|
align-items: center
|
|
371
210
|
|
|
372
211
|
&:first-of-type
|
|
373
|
-
color: $skyBlue;
|
|
374
|
-
|
|
375
|
-
.svgIcon
|
|
376
|
-
margin-right: 10px;
|
|
377
|
-
|
|
378
|
-
.isFirstReferenceCar
|
|
379
|
-
border: 1px solid $skyBlue !important;
|
|
380
|
-
background-color: #005CCB0D;
|
|
212
|
+
color: $skyBlue;
|
|
@@ -37,7 +37,6 @@ interface IVehicleSmallCardProps {
|
|
|
37
37
|
isDealer?: boolean;
|
|
38
38
|
isDealerSuperAdmin?: boolean;
|
|
39
39
|
isReferenceSearch?: boolean;
|
|
40
|
-
showDashboardButton?: boolean;
|
|
41
40
|
dashboardButtonText?: string;
|
|
42
41
|
showNewLabel?: boolean;
|
|
43
42
|
CircularProgressbar?: any;
|
|
@@ -138,7 +137,6 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
138
137
|
percentage,
|
|
139
138
|
classButton,
|
|
140
139
|
hasInteriorExteriorPhoto,
|
|
141
|
-
showDashboardButton,
|
|
142
140
|
dashboardButtonText,
|
|
143
141
|
showOfferBtn = false,
|
|
144
142
|
showFavoriteStar = true,
|
|
@@ -198,7 +196,7 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
198
196
|
};
|
|
199
197
|
|
|
200
198
|
const routeObj = linkTag !== 'a'
|
|
201
|
-
? { to: { pathname: url, state: { mainImageId, mainImageUrl: src, carId: id, isSavedCheckout:
|
|
199
|
+
? { to: { pathname: url, state: { mainImageId, mainImageUrl: src, carId: id, isSavedCheckout: showOfferBtn, ...title } } }
|
|
202
200
|
: '';
|
|
203
201
|
|
|
204
202
|
const vehicleInfoProps = {
|
|
@@ -228,7 +226,6 @@ const VehicleSmallCard: FunctionComponent<IVehicleSmallCardProps> = (props) => {
|
|
|
228
226
|
target,
|
|
229
227
|
rel,
|
|
230
228
|
iconName,
|
|
231
|
-
showDashboardButton,
|
|
232
229
|
dashboardButtonText,
|
|
233
230
|
vehicleComponentName,
|
|
234
231
|
classButton,
|
|
@@ -357,7 +354,6 @@ VehicleSmallCard.defaultProps = {
|
|
|
357
354
|
showSlider: false,
|
|
358
355
|
isDealerSuperAdmin: false,
|
|
359
356
|
showCompareCheckboxes: false,
|
|
360
|
-
showDashboardButton: false,
|
|
361
357
|
slider: {},
|
|
362
358
|
stats: {},
|
|
363
359
|
title: {},
|
|
@@ -22,6 +22,8 @@ export interface IExpansionPanelProps {
|
|
|
22
22
|
expandedClassName?: string;
|
|
23
23
|
arrowIconClassName?: string;
|
|
24
24
|
expanded?: string | boolean;
|
|
25
|
+
vehiclesComparedCount?: number;
|
|
26
|
+
widthCompareBlock?: number;
|
|
25
27
|
isCompare?: boolean;
|
|
26
28
|
accordionSummaryClassName?: string;
|
|
27
29
|
accordionClassName?: string;
|
|
@@ -52,12 +54,14 @@ class ExpansionPanel extends React.Component<IExpansionPanelProps> {
|
|
|
52
54
|
onChange,
|
|
53
55
|
expanded,
|
|
54
56
|
accordionClassName,
|
|
57
|
+
vehiclesComparedCount,
|
|
58
|
+
widthCompareBlock,
|
|
55
59
|
isCompare = false
|
|
56
60
|
} = this.props;
|
|
57
61
|
|
|
58
62
|
const scrollElementClassName = classnames(reactScrollClassName);
|
|
59
63
|
const subtitleCombinedClassName = classnames(styles.subTitle, subTitleClassName);
|
|
60
|
-
|
|
64
|
+
const widthForTitle = `${vehiclesComparedCount * widthCompareBlock}px`;
|
|
61
65
|
return (
|
|
62
66
|
<ConditionalWrapper
|
|
63
67
|
condition={reactScrollName}
|
|
@@ -75,6 +79,7 @@ class ExpansionPanel extends React.Component<IExpansionPanelProps> {
|
|
|
75
79
|
aria-controls={title}
|
|
76
80
|
className={accordionSummaryClassName}
|
|
77
81
|
id={title}
|
|
82
|
+
sx={isCompare && { width: widthForTitle }}
|
|
78
83
|
>
|
|
79
84
|
<span>
|
|
80
85
|
{title}
|
package/source/locales/data.ts
CHANGED
|
@@ -55,6 +55,7 @@ export const vehicleProps = (car?: any, isOfferAvailable: boolean = true) => {
|
|
|
55
55
|
co2: `${vehicleOption.co2} g/km `,
|
|
56
56
|
na: 'N/A',
|
|
57
57
|
priceSub: '/mtl.',
|
|
58
|
+
prefixOldPrice: 'ab',
|
|
58
59
|
vehicleOwners: `${vehicleOption.vehicleOwners} Fahrzeughalter`,
|
|
59
60
|
vehicleOwners_plural: `${count} Fahrzeughalter`,
|
|
60
61
|
doorsOnly: `${vehicleOption.doorsOnly} Türen`,
|