1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports["default"] = void 0;
|
7 |
|
8 | var _react = _interopRequireDefault(require("react"));
|
9 |
|
10 | var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
|
11 |
|
12 | var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
13 |
|
14 | var _withStyles = _interopRequireDefault(require("@material-ui/core/styles/withStyles"));
|
15 |
|
16 | var _AirlineSeatReclineNormal = _interopRequireDefault(require("@material-ui/icons/AirlineSeatReclineNormal"));
|
17 |
|
18 | var _CalendarToday = _interopRequireDefault(require("@material-ui/icons/CalendarToday"));
|
19 |
|
20 | var _ColorLens = _interopRequireDefault(require("@material-ui/icons/ColorLens"));
|
21 |
|
22 | var _DirectionsCar = _interopRequireDefault(require("@material-ui/icons/DirectionsCar"));
|
23 |
|
24 | var _EuroSymbol = _interopRequireDefault(require("@material-ui/icons/EuroSymbol"));
|
25 |
|
26 | var _EvStation = _interopRequireDefault(require("@material-ui/icons/EvStation"));
|
27 |
|
28 | var _Fingerprint = _interopRequireDefault(require("@material-ui/icons/Fingerprint"));
|
29 |
|
30 | var _LocalActivity = _interopRequireDefault(require("@material-ui/icons/LocalActivity"));
|
31 |
|
32 | var _LocalShipping = _interopRequireDefault(require("@material-ui/icons/LocalShipping"));
|
33 |
|
34 | var _Receipt = _interopRequireDefault(require("@material-ui/icons/Receipt"));
|
35 |
|
36 | var _Schedule = _interopRequireDefault(require("@material-ui/icons/Schedule"));
|
37 |
|
38 | var _moment = _interopRequireDefault(require("moment"));
|
39 |
|
40 | var _numeral = _interopRequireDefault(require("numeral"));
|
41 |
|
42 | var _gearboxIconInline = _interopRequireDefault(require("./assets/gearboxIcon.inline.svg"));
|
43 |
|
44 | var _mileageIconInline = _interopRequireDefault(require("./assets/mileageIcon.inline.svg"));
|
45 |
|
46 | var _leafIconInline = _interopRequireDefault(require("./assets/leafIcon.inline.svg"));
|
47 |
|
48 | var _i18n = require("../i18n");
|
49 |
|
50 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
51 |
|
52 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
53 |
|
54 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
55 |
|
56 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
57 |
|
58 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
59 |
|
60 | var translations = {
|
61 | VP: {
|
62 | fr: 'Véhicule particulier',
|
63 | en: 'Particular vehicle',
|
64 | es: 'Vehículo privado'
|
65 | },
|
66 | VU: {
|
67 | fr: 'Véhicule utilitaire',
|
68 | en: 'Commercial vehicle',
|
69 | es: 'Vehículo utilitario'
|
70 | },
|
71 | VASP: {
|
72 | fr: 'Véhicule automoteur spécialisé',
|
73 | en: 'Specialized motor vehicle',
|
74 | es: 'Vehiculo especializado'
|
75 | },
|
76 | EL: {
|
77 | fr: 'Electrique',
|
78 | en: 'Electric',
|
79 | es: 'Electrico'
|
80 | },
|
81 | ET: {
|
82 | fr: 'Ethanol',
|
83 | en: 'Ethanol',
|
84 | es: 'Etanol'
|
85 | },
|
86 | GO: {
|
87 | fr: 'Diesel',
|
88 | en: 'Diesel',
|
89 | es: 'Diesel'
|
90 | },
|
91 | GH: {
|
92 | fr: 'Hybride Diesel',
|
93 | en: 'Diesel Hybrid',
|
94 | es: 'Híbrido diesel'
|
95 | },
|
96 | GF: {
|
97 | fr: 'Diesel GPL',
|
98 | en: 'Diesel LGP',
|
99 | es: 'Diesel GLP'
|
100 | },
|
101 | H2: {
|
102 | fr: 'Hydrogène',
|
103 | en: 'Hydrogen',
|
104 | es: 'Hidrógeno'
|
105 | },
|
106 | LPG: {
|
107 | fr: 'GPL',
|
108 | en: 'LGP',
|
109 | es: 'GLP'
|
110 | },
|
111 | GN: {
|
112 | fr: 'Gaz naturel',
|
113 | en: 'Natural gas',
|
114 | es: 'Gas natural'
|
115 | },
|
116 | ES: {
|
117 | fr: 'Essence',
|
118 | en: 'Gasoline',
|
119 | es: 'Gasolina'
|
120 | },
|
121 | EH: {
|
122 | fr: 'Hybride Essence',
|
123 | en: 'Gasoline hybrid',
|
124 | es: 'Híbrido gasolina'
|
125 | },
|
126 | EG: {
|
127 | fr: 'Essence GPL',
|
128 | en: 'Gasoline LPG',
|
129 | es: 'Gasolina GLP'
|
130 | },
|
131 | doors: {
|
132 | fr: 'portes',
|
133 | en: 'doors',
|
134 | es: 'puertas'
|
135 | },
|
136 | seats: {
|
137 | fr: 'places',
|
138 | en: 'seats',
|
139 | es: 'asientos'
|
140 | },
|
141 | releaseDate: {
|
142 | fr: 'Date M.E.C.',
|
143 | en: 'Release date',
|
144 | es: 'Fecha de puesta en circulación'
|
145 | },
|
146 | mileage: {
|
147 | fr: 'Kilométrage',
|
148 | en: 'Mileage',
|
149 | es: 'Kilometraje'
|
150 | },
|
151 | 'delivery mileage': {
|
152 | fr: 'Km livraison',
|
153 | en: 'Delivery mileage',
|
154 | es: 'Kilometraje a la entrega'
|
155 | },
|
156 | 'delivery date': {
|
157 | fr: 'Date de livraison',
|
158 | en: 'Delivery date',
|
159 | es: 'Fecha de entrega'
|
160 | },
|
161 | AT: {
|
162 | fr: 'Automatique',
|
163 | en: 'Automatic',
|
164 | es: 'Automática'
|
165 | },
|
166 | MT: {
|
167 | fr: 'Boite manuelle',
|
168 | en: 'Manual gearbox',
|
169 | es: 'Caja manual'
|
170 | },
|
171 | ST: {
|
172 | fr: 'Sequentielle',
|
173 | en: 'Sequential gearbox',
|
174 | es: 'Caja secuencial'
|
175 | },
|
176 | RT: {
|
177 | fr: 'Boîte de vitesses robotisée',
|
178 | en: 'Robotic gearbox',
|
179 | es: 'Caja de cambios robótica'
|
180 | },
|
181 | CVT: {
|
182 | fr: 'Boîte de vitesses CVT',
|
183 | en: 'CVT gearbox',
|
184 | es: 'Caja de cambios CVT'
|
185 | },
|
186 | NONE: {
|
187 | fr: '--',
|
188 | en: '--',
|
189 | es: '--'
|
190 | },
|
191 | 'euro standard': {
|
192 | fr: 'Norme Euro',
|
193 | en: 'Euro standard',
|
194 | es: 'Norma Euro'
|
195 | },
|
196 | 'first sell price': {
|
197 | fr: 'Prix neuf',
|
198 | en: 'First sell price',
|
199 | es: 'Nueavo precio'
|
200 | },
|
201 | NATCode: {
|
202 | fr: 'NATCode',
|
203 | en: 'NATCode',
|
204 | es: 'NATCode'
|
205 | },
|
206 | VIN: {
|
207 | fr: 'V.I.N.',
|
208 | en: 'V.I.N.',
|
209 | es: 'V.I.N.'
|
210 | },
|
211 | 'last registration date': {
|
212 | fr: 'Date certif. immat.',
|
213 | en: 'Registration certificate date',
|
214 | es: 'Fecha de certificado de matriculación'
|
215 | },
|
216 | SALOON: {
|
217 | fr: 'Berline',
|
218 | en: 'Saloon',
|
219 | es: 'Sedán'
|
220 | },
|
221 | SEDAN: {
|
222 | fr: 'Berline',
|
223 | en: 'Saloon',
|
224 | es: 'Sedán'
|
225 | },
|
226 | COMMERCIAL: {
|
227 | fr: 'Véhicule utilitaire',
|
228 | en: 'Commercial vehicle',
|
229 | es: 'Vehículo utilitario'
|
230 | },
|
231 | COUPE: {
|
232 | fr: 'Coupé',
|
233 | en: 'Coupe',
|
234 | es: 'Cupé'
|
235 | },
|
236 | CONVERTIBLE: {
|
237 | fr: 'Cabriolet',
|
238 | en: 'Convertible',
|
239 | es: 'Descapotable'
|
240 | },
|
241 | PICKUP: {
|
242 | fr: 'Pick-up,',
|
243 | en: 'Pickup,',
|
244 | es: 'Camioneta,'
|
245 | },
|
246 | BUS: {
|
247 | fr: 'Bus',
|
248 | en: 'Bus',
|
249 | es: 'Bus'
|
250 | },
|
251 | TRUCK: {
|
252 | fr: 'Camion',
|
253 | en: 'Truck',
|
254 | es: 'Camión'
|
255 | },
|
256 | MINIBUS: {
|
257 | fr: 'Minibus',
|
258 | en: 'Minibus',
|
259 | es: 'Microbús'
|
260 | },
|
261 | BREAK: {
|
262 | fr: 'Break',
|
263 | en: 'Break',
|
264 | es: 'Break'
|
265 | },
|
266 | MPV: {
|
267 | fr: 'Multi-usages',
|
268 | en: 'Multipurpose',
|
269 | es: 'Multipropósito'
|
270 | },
|
271 | ALLROAD: {
|
272 | fr: 'Tout-terrain',
|
273 | en: 'All road',
|
274 | es: 'Todoterreno'
|
275 | },
|
276 | CTTE: {
|
277 | fr: 'Camionnette',
|
278 | en: 'Van',
|
279 | es: 'Furgoneta'
|
280 | },
|
281 | UNKNOWN: {
|
282 | fr: 'Carrosserie inconnue',
|
283 | en: 'Unknown body',
|
284 | es: 'Carrocería desconocida'
|
285 | }
|
286 | };
|
287 | var allInformation = [{
|
288 | key: 'releaseDate',
|
289 | icon: function icon() {
|
290 | return _react["default"].createElement(_CalendarToday["default"], {
|
291 | fontSize: "small"
|
292 | });
|
293 | },
|
294 | vehicleInfo: function vehicleInfo(_ref) {
|
295 | var releaseDate = _ref.releaseDate,
|
296 | translate = _ref.translate;
|
297 | var formattedDate = "".concat(releaseDate ? (0, _moment["default"])(releaseDate).format('DD/MM/YYYY') : '--');
|
298 | return "".concat(translate('releaseDate'), " : ").concat(formattedDate);
|
299 | }
|
300 | }, {
|
301 | key: 'mileage',
|
302 | icon: function icon(_ref2) {
|
303 | var rest = _extends({}, _ref2);
|
304 |
|
305 | return _react["default"].createElement(_mileageIconInline["default"], _extends({
|
306 | fontSize: "small"
|
307 | }, rest));
|
308 | },
|
309 | vehicleInfo: function vehicleInfo(_ref3) {
|
310 | var currentKm = _ref3.currentKm,
|
311 | translate = _ref3.translate;
|
312 | var formattedMileage = "".concat(currentKm ? "".concat((0, _numeral["default"])(currentKm).format(), " km") : '--');
|
313 | return "".concat(translate('mileage'), " : ").concat(formattedMileage);
|
314 | }
|
315 | }, {
|
316 | key: 'deliveryMileage',
|
317 | icon: function icon() {
|
318 | return _react["default"].createElement(_LocalShipping["default"], {
|
319 | fontSize: "small"
|
320 | });
|
321 | },
|
322 | vehicleInfo: function vehicleInfo(_ref4) {
|
323 | var deliveryKm = _ref4.deliveryKm,
|
324 | translate = _ref4.translate;
|
325 | var formattedMileage = "".concat(deliveryKm ? "".concat((0, _numeral["default"])(deliveryKm).format(), " km") : '--');
|
326 | return "".concat(translate('delivery mileage'), " : ").concat(formattedMileage);
|
327 | }
|
328 | }, {
|
329 | key: 'deliveryDate',
|
330 | icon: function icon() {
|
331 | return _react["default"].createElement(_Schedule["default"], {
|
332 | fontSize: "small"
|
333 | });
|
334 | },
|
335 | vehicleInfo: function vehicleInfo(_ref5) {
|
336 | var deliveryDate = _ref5.deliveryDate,
|
337 | translate = _ref5.translate;
|
338 | var formattedDate = "".concat(deliveryDate ? (0, _moment["default"])(deliveryDate).format('DD/MM/YYYY') : '--');
|
339 | return "".concat(translate('delivery date'), " : ").concat(formattedDate);
|
340 | }
|
341 | }, {
|
342 | key: 'energy',
|
343 | icon: function icon() {
|
344 | return _react["default"].createElement(_EvStation["default"], {
|
345 | fontSize: "small"
|
346 | });
|
347 | },
|
348 | vehicleInfo: function vehicleInfo(_ref6) {
|
349 | var energy = _ref6.energy,
|
350 | taxPower = _ref6.taxPower,
|
351 | kwPower = _ref6.kwPower,
|
352 | translate = _ref6.translate;
|
353 | var formattedEnergy = energy ? translate(energy) : '--';
|
354 | var formattedKwPower = kwPower ? "".concat(kwPower, " kw") : '--';
|
355 | var formattedTaxPower = taxPower ? "".concat(taxPower, " CV") : '--';
|
356 | return "".concat(formattedEnergy, " / ").concat(formattedKwPower, " / ").concat(formattedTaxPower);
|
357 | }
|
358 | }, {
|
359 | key: 'body',
|
360 | icon: function icon() {
|
361 | return _react["default"].createElement(_DirectionsCar["default"], {
|
362 | fontSize: "small"
|
363 | });
|
364 | },
|
365 | vehicleInfo: function vehicleInfo(_ref7) {
|
366 | var body = _ref7.body,
|
367 | type = _ref7.type,
|
368 | translate = _ref7.translate;
|
369 | return "".concat(body ? translate(body) : '--', " / ").concat(type ? translate(type) : '--');
|
370 | }
|
371 | }, {
|
372 | key: 'doorsAndSeats',
|
373 | icon: function icon() {
|
374 | return _react["default"].createElement(_AirlineSeatReclineNormal["default"], {
|
375 | fontSize: "small"
|
376 | });
|
377 | },
|
378 | vehicleInfo: function vehicleInfo(_ref8) {
|
379 | var doors = _ref8.doors,
|
380 | seats = _ref8.seats,
|
381 | translate = _ref8.translate;
|
382 | var formattedDoors = doors ? "".concat(doors, " ").concat(translate('doors')) : '--';
|
383 | var formattedSeats = seats ? "".concat(seats, " ").concat(translate('seats')) : '--';
|
384 | return "".concat(formattedDoors, " / ").concat(formattedSeats);
|
385 | }
|
386 | }, {
|
387 | key: 'gears',
|
388 | icon: function icon() {
|
389 | return _react["default"].createElement(_gearboxIconInline["default"], null);
|
390 | },
|
391 | vehicleInfo: function vehicleInfo(_ref9) {
|
392 | var gearbox = _ref9.gearbox,
|
393 | hpPower = _ref9.hpPower,
|
394 | translate = _ref9.translate;
|
395 | var formattedHpPower = "".concat(hpPower ? "".concat(hpPower, " ch") : '--');
|
396 | var formattedGearbox = gearbox ? translate(gearbox) : '--';
|
397 | return "".concat(formattedHpPower, " / ").concat(formattedGearbox);
|
398 | }
|
399 | }, {
|
400 | key: 'co2',
|
401 | icon: function icon() {
|
402 | return _react["default"].createElement(_leafIconInline["default"], {
|
403 | fontSize: "small"
|
404 | });
|
405 | },
|
406 | vehicleInfo: function vehicleInfo(_ref10) {
|
407 | var co2 = _ref10.co2,
|
408 | euroStandard = _ref10.euroStandard,
|
409 | translate = _ref10.translate;
|
410 | var formattedCo2 = "".concat(co2 ? "".concat(co2, " g/Km") : '--');
|
411 | var formattedEuroStandard = "".concat(translate('euro standard'), " : ").concat(euroStandard || '--');
|
412 | return "".concat(formattedCo2, " / ").concat(formattedEuroStandard);
|
413 | }
|
414 | }, {
|
415 | key: 'lastRegDate',
|
416 | icon: function icon() {
|
417 | return _react["default"].createElement(_Receipt["default"], {
|
418 | fontSize: "small"
|
419 | });
|
420 | },
|
421 | vehicleInfo: function vehicleInfo(_ref11) {
|
422 | var lastRegDate = _ref11.lastRegDate,
|
423 | translate = _ref11.translate;
|
424 | var formattedDate = "".concat(lastRegDate ? (0, _moment["default"])(lastRegDate).format('DD/MM/YYYY') : '--');
|
425 | return "".concat(translate('last registration date'), " : ").concat(formattedDate);
|
426 | }
|
427 | }, {
|
428 | key: 'color',
|
429 | icon: function icon() {
|
430 | return _react["default"].createElement(_ColorLens["default"], {
|
431 | fontSize: "small"
|
432 | });
|
433 | },
|
434 | vehicleInfo: function vehicleInfo(_ref12) {
|
435 | var color = _ref12.color;
|
436 | return color || '--';
|
437 | }
|
438 | }, {
|
439 | key: 'vin',
|
440 | icon: function icon() {
|
441 | return _react["default"].createElement(_Fingerprint["default"], {
|
442 | fontSize: "small"
|
443 | });
|
444 | },
|
445 | vehicleInfo: function vehicleInfo(_ref13) {
|
446 | var vin = _ref13.vin,
|
447 | translate = _ref13.translate;
|
448 | return "".concat(translate('VIN'), " : ").concat(vin || '--');
|
449 | }
|
450 | }, {
|
451 | key: 'firstSellPrice',
|
452 | icon: function icon() {
|
453 | return _react["default"].createElement(_EuroSymbol["default"], {
|
454 | fontSize: "small"
|
455 | });
|
456 | },
|
457 | vehicleInfo: function vehicleInfo(_ref14) {
|
458 | var firstSellPrice = _ref14.firstSellPrice,
|
459 | translate = _ref14.translate;
|
460 | var formattedPrice = "".concat(translate('first sell price'), " : ").concat(firstSellPrice ? (0, _numeral["default"])(firstSellPrice).format() : '--', " \u20AC");
|
461 | return "".concat(formattedPrice);
|
462 | }
|
463 | }, {
|
464 | key: 'natcode',
|
465 | icon: function icon() {
|
466 | return _react["default"].createElement(_LocalActivity["default"], {
|
467 | fontSize: "small"
|
468 | });
|
469 | },
|
470 | vehicleInfo: function vehicleInfo(_ref15) {
|
471 | var catalogId = _ref15.catalogId,
|
472 | translate = _ref15.translate;
|
473 | return "".concat(translate('NATCode'), " : ").concat(catalogId || '--');
|
474 | }
|
475 | }];
|
476 | var configLanguage = (0, _i18n.getLanguage)();
|
477 |
|
478 |
|
479 |
|
480 |
|
481 |
|
482 | var VehicleInformationJSX = function VehicleInformationJSX(_ref16) {
|
483 | var css = _ref16.classes,
|
484 | storyLanguage = _ref16.storyLanguage,
|
485 | exclude = _ref16.exclude,
|
486 | only = _ref16.only,
|
487 | important = _ref16.important,
|
488 | className = _ref16.className,
|
489 | style = _ref16.style,
|
490 | rest = _objectWithoutProperties(_ref16, ["classes", "storyLanguage", "exclude", "only", "important", "className", "style"]);
|
491 |
|
492 | var translate = function translate(key) {
|
493 | var _storyLanguage;
|
494 |
|
495 | return (0, _i18n.getTranslation)(translations, (_storyLanguage = storyLanguage) !== null && _storyLanguage !== void 0 ? _storyLanguage : configLanguage, key);
|
496 | };
|
497 |
|
498 | var filteredInformation = allInformation;
|
499 |
|
500 | if (exclude && (exclude === null || exclude === void 0 ? void 0 : exclude.length) > 0) {
|
501 | filteredInformation = allInformation.filter(function (_ref17) {
|
502 | var key = _ref17.key;
|
503 | return !exclude.includes(key);
|
504 | });
|
505 | }
|
506 |
|
507 | if (only && (only === null || only === void 0 ? void 0 : only.length) > 0) {
|
508 | filteredInformation = allInformation.filter(function (_ref18) {
|
509 | var key = _ref18.key;
|
510 | return only.includes(key);
|
511 | });
|
512 | }
|
513 |
|
514 | return _react["default"].createElement(_Grid["default"], _extends({
|
515 | item: true
|
516 | }, {
|
517 | className: className,
|
518 | style: style
|
519 | }), filteredInformation.map(function (_ref19) {
|
520 | var key = _ref19.key,
|
521 | Icon = _ref19.icon,
|
522 | VehicleInfo = _ref19.vehicleInfo;
|
523 | return _react["default"].createElement(_Typography["default"], _extends({
|
524 | variant: "body1",
|
525 | style: {
|
526 | display: 'flex',
|
527 | alignItems: 'center'
|
528 | },
|
529 | className: important && important.includes(key) ? css.important : ''
|
530 | }, {
|
531 | key: key
|
532 | }), _react["default"].createElement("span", {
|
533 | className: css.icon
|
534 | }, _react["default"].createElement(Icon, {
|
535 | className: css.greyIcon
|
536 | })), _react["default"].createElement(VehicleInfo, _extends({
|
537 | translate: translate
|
538 | }, rest)));
|
539 | }));
|
540 | };
|
541 |
|
542 | VehicleInformationJSX.propTypes = {
|
543 | classes: _propTypes["default"].object.isRequired,
|
544 | storyLanguage: _propTypes["default"].string,
|
545 | exclude: _propTypes["default"].arrayOf(_propTypes["default"].string.isRequired),
|
546 | only: _propTypes["default"].arrayOf(_propTypes["default"].string.isRequired),
|
547 | important: _propTypes["default"].arrayOf(_propTypes["default"].string.isRequired),
|
548 | className: _propTypes["default"].string,
|
549 | style: _propTypes["default"].object
|
550 | };
|
551 | var VehicleInformation = (0, _withStyles["default"])(function (theme) {
|
552 | return {
|
553 | icon: {
|
554 | marginRight: '1rem',
|
555 | display: 'inline-flex',
|
556 | '& svg': {
|
557 | width: '1rem',
|
558 | height: '1rem',
|
559 | fill: theme.palette.secondary.dark
|
560 | }
|
561 | },
|
562 | greyIcon: {
|
563 | '& path': {
|
564 | stroke: theme.palette.secondary.dark
|
565 | }
|
566 | },
|
567 | important: {
|
568 | fontWeight: 900,
|
569 | fontSize: '1.125rem',
|
570 | margin: '4px 0'
|
571 | }
|
572 | };
|
573 | })(VehicleInformationJSX);
|
574 | var _default = VehicleInformation;
|
575 | exports["default"] = _default; |
\ | No newline at end of file |