project-booster-vue 10.25.2 → 10.25.4

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-booster-vue",
3
- "version": "10.25.2",
3
+ "version": "10.25.4",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -53,11 +53,19 @@ onBeforeMount(async () => {
53
53
 
54
54
  iframeUri.value += `?accountId=${getAccountId.value}&showServices=${getShowServices.value}`;
55
55
 
56
- if (currentUser.value) {
57
- iframeUri.value += `&guestFirstName=${currentUser.value.firstName || ''}&guestLastName=${
58
- currentUser.value.lastName || ''
59
- }&guestEmail=${currentUser.value.email || ''}&guestPhone=${currentUser.value.phone || ''}`;
56
+ if (currentUser.value.lastName) {
57
+ iframeUri.value += `&guestLastName=${currentUser.value.lastName}`;
60
58
  }
59
+ if (currentUser.value.firstName) {
60
+ iframeUri.value += `&guestFirstName=${currentUser.value.firstName}`;
61
+ }
62
+ if (currentUser.value.email) {
63
+ iframeUri.value += `&guestEmail=${currentUser.value.email}`;
64
+ }
65
+ if (currentUser.value.phone && validatePhone(currentUser.value.phone)) {
66
+ iframeUri.value += `&guestPhone=${currentUser.value.phone}`;
67
+ }
68
+
61
69
  if (currentUserId.value) {
62
70
  const inhabitantId = 'inhabitantId';
63
71
  iframeUri.value += `&externalCustomerField[${inhabitantId}]=${currentUserId.value}&hideExternalCustomerFields=${inhabitantId}`;
@@ -70,7 +78,25 @@ onBeforeMount(async () => {
70
78
  iframeUri.value += `&externalCustomerField[${collaboratorLink}]=${collaboratorUri.value}&hideExternalCustomerFields=${collaboratorLink}`;
71
79
 
72
80
  iframeUri.value += '&hideFilledFields=true&hideCloseButton=true';
81
+
82
+ /**
83
+ * If the user has already filled the customer fields, we skip the customer fields section
84
+ */
85
+ if (currentUser.value.lastName && currentUser.value.firstName && currentUser.value.email && currentUser.value.phone) {
86
+ iframeUri.value += '&skipCustomerFieldsSection=true';
87
+ }
73
88
  });
89
+
90
+ /**
91
+ * Validates a phone number using a regular expression.
92
+ * The phone number must start with a '+' or a digit.
93
+ *
94
+ * @param {string} phone - The phone number to validate.
95
+ * @returns {boolean} - True if the phone number is valid, false otherwise.
96
+ */
97
+ function validatePhone(phone: string): boolean {
98
+ return /^\+?\d/.test(phone);
99
+ }
74
100
  </script>
75
101
 
76
102
  <style lang="scss">
@@ -109,6 +109,8 @@ $responsive-breakpoint: 'm';
109
109
  overflow: hidden;
110
110
  width: 100%;
111
111
 
112
+ margin-top: $mu050;
113
+
112
114
  @include set-from-screen($responsive-breakpoint) {
113
115
  border-radius: 10px;
114
116
  height: 4px;
@@ -28,106 +28,9 @@
28
28
  "CARPENTRY": {
29
29
  "code": "CARPENTRY",
30
30
  "type": "SCENARIO",
31
- "stepCode": "LMFR_QUESTION_PROJECT_TYPE"
31
+ "stepCode": "LMFR_QUESTION_WORKS"
32
32
  },
33
33
 
34
- "LMFR_QUESTION_PROJECT_TYPE": {
35
- "code": "LMFR_QUESTION_PROJECT_TYPE",
36
- "type": "STEP",
37
- "component": "MPbQuestion",
38
- "slots": {
39
- "beforeContent": {
40
- "display": true,
41
- "component": "MPbProgress",
42
- "totalStep": 23,
43
- "currentStep": 1,
44
- "sizeXlWidth": true,
45
- "label": "Votre projet menuiserie"
46
- }
47
- },
48
- "payload": {
49
- "viewModel": {
50
- "answersComponent": "MPbCard",
51
- "progressBar": true,
52
- "forceOneCardPerLineOnMobile": true,
53
- "widthXlSize": true,
54
- "widthFromL": "auto",
55
- "hideBackButton": true,
56
- "label": "À quoi correspond votre projet de menuiserie ?"
57
- },
58
- "answers": {
59
- "NEW": {
60
- "code": "NEW",
61
- "viewModel": {
62
- "title": "Je créé du nouveau"
63
- },
64
- "meta": {
65
- "ranking": 1
66
- }
67
- },
68
- "RENOVATION": {
69
- "code": "RENOVATION",
70
- "viewModel": {
71
- "title": "Je rénove de l'existant"
72
- },
73
- "meta": {
74
- "ranking": 2
75
- }
76
- }
77
- }
78
- },
79
- "nextStep": {
80
- "code": "LMFR_QUESTION_CONSTRUCTION_DATE"
81
- }
82
- },
83
- "LMFR_QUESTION_CONSTRUCTION_DATE": {
84
- "code": "LMFR_QUESTION_CONSTRUCTION_DATE",
85
- "type": "STEP",
86
- "component": "MPbQuestion",
87
- "slots": {
88
- "beforeContent": {
89
- "display": true,
90
- "component": "MPbProgress",
91
- "totalStep": 23,
92
- "currentStep": 2,
93
- "sizeXlWidth": true,
94
- "label": "Votre projet menuiserie"
95
- }
96
- },
97
- "payload": {
98
- "viewModel": {
99
- "answersComponent": "MPbCard",
100
- "progressBar": true,
101
- "forceOneCardPerLineOnMobile": true,
102
- "widthXlSize": true,
103
- "widthFromL": "auto",
104
- "label": "Votre logement a-t-il plus de 2 ans ?"
105
- },
106
- "answers": {
107
- "MORE_THAN_2_YEARS": {
108
- "code": "MORE_THAN_2_YEARS",
109
- "viewModel": {
110
- "title": "Oui"
111
- },
112
- "meta": {
113
- "ranking": 1
114
- }
115
- },
116
- "LESS_THAN_2_YEARS": {
117
- "code": "LESS_THAN_2_YEARS",
118
- "viewModel": {
119
- "title": "Non"
120
- },
121
- "meta": {
122
- "ranking": 2
123
- }
124
- }
125
- }
126
- },
127
- "nextStep": {
128
- "code": "LMFR_QUESTION_WORKS"
129
- }
130
- },
131
34
  "LMFR_QUESTION_WORKS": {
132
35
  "code": "LMFR_QUESTION_WORKS",
133
36
  "type": "STEP",
@@ -139,8 +42,8 @@
139
42
  "beforeContent": {
140
43
  "display": true,
141
44
  "component": "MPbProgress",
142
- "totalStep": 23,
143
- "currentStep": 3,
45
+ "totalStep": 21,
46
+ "currentStep": 1,
144
47
  "sizeXlWidth": true,
145
48
  "label": "Votre projet menuiserie"
146
49
  }
@@ -154,6 +57,7 @@
154
57
  "widthFromL": "auto",
155
58
  "widthXlSize": true,
156
59
  "forceOneCardPerLineOnMobile": true,
60
+ "hideBackButton": true,
157
61
  "sortBy": {
158
62
  "type": ["numeric", "string"],
159
63
  "order": ["Asc"],
@@ -229,7 +133,7 @@
229
133
  "ENTRANCE_DOOR": {
230
134
  "code": "ENTRANCE_DOOR",
231
135
  "viewModel": {
232
- "title": "Porte dentrée"
136
+ "title": "Porte d'entrée"
233
137
  },
234
138
  "meta": {
235
139
  "ranking": 3
@@ -256,8 +160,8 @@
256
160
  "beforeContent": {
257
161
  "display": true,
258
162
  "component": "MPbProgress",
259
- "totalStep": 23,
260
- "currentStep": 4,
163
+ "totalStep": 21,
164
+ "currentStep": 2,
261
165
  "sizeXlWidth": true,
262
166
  "label": "Votre projet menuiserie - Fenêtre"
263
167
  }
@@ -314,8 +218,8 @@
314
218
  "beforeContent": {
315
219
  "display": true,
316
220
  "component": "MPbProgress",
317
- "totalStep": 23,
318
- "currentStep": 5,
221
+ "totalStep": 21,
222
+ "currentStep": 3,
319
223
  "sizeXlWidth": true,
320
224
  "label": "Votre projet menuiserie - Fenêtre"
321
225
  }
@@ -371,8 +275,8 @@
371
275
  "beforeContent": {
372
276
  "display": true,
373
277
  "component": "MPbProgress",
374
- "totalStep": 23,
375
- "currentStep": 6,
278
+ "totalStep": 21,
279
+ "currentStep": 4,
376
280
  "sizeXlWidth": true,
377
281
  "label": "Votre projet menuiserie - Fenêtre"
378
282
  }
@@ -478,8 +382,8 @@
478
382
  "beforeContent": {
479
383
  "display": true,
480
384
  "component": "MPbProgress",
481
- "totalStep": 23,
482
- "currentStep": 7,
385
+ "totalStep": 21,
386
+ "currentStep": 5,
483
387
  "sizeXlWidth": true,
484
388
  "label": "Votre projet menuiserie - Volet"
485
389
  }
@@ -545,8 +449,8 @@
545
449
  "beforeContent": {
546
450
  "display": true,
547
451
  "component": "MPbProgress",
548
- "totalStep": 23,
549
- "currentStep": 8,
452
+ "totalStep": 21,
453
+ "currentStep": 6,
550
454
  "sizeXlWidth": true,
551
455
  "label": "Votre projet menuiserie - Volet"
552
456
  }
@@ -645,8 +549,8 @@
645
549
  "beforeContent": {
646
550
  "display": true,
647
551
  "component": "MPbProgress",
648
- "totalStep": 23,
649
- "currentStep": 9,
552
+ "totalStep": 21,
553
+ "currentStep": 7,
650
554
  "sizeXlWidth": true,
651
555
  "label": "Votre projet menuiserie - Volet"
652
556
  }
@@ -742,8 +646,8 @@
742
646
  "beforeContent": {
743
647
  "display": true,
744
648
  "component": "MPbProgress",
745
- "totalStep": 23,
746
- "currentStep": 10,
649
+ "totalStep": 21,
650
+ "currentStep": 8,
747
651
  "sizeXlWidth": true,
748
652
  "label": "Votre projet menuiserie - Volet"
749
653
  }
@@ -762,7 +666,7 @@
762
666
  "code": "ALUMINUM",
763
667
  "viewModel": {
764
668
  "title": "Aluminium",
765
- "image": "https://storage.googleapis.com/project-booster-media/common/undetermined.jpg"
669
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/shutter-sliding-aluminum.jpg"
766
670
  },
767
671
  "meta": {
768
672
  "ranking": 1
@@ -772,7 +676,7 @@
772
676
  "code": "WOOD",
773
677
  "viewModel": {
774
678
  "title": "Bois",
775
- "image": "https://storage.googleapis.com/project-booster-media/common/undetermined.jpg"
679
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/shutter-sliding-wood.jpg"
776
680
  },
777
681
  "meta": {
778
682
  "ranking": 2
@@ -782,7 +686,7 @@
782
686
  "code": "PVC",
783
687
  "viewModel": {
784
688
  "title": "PVC",
785
- "image": "https://storage.googleapis.com/project-booster-media/common/undetermined.jpg"
689
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/shutter-sliding-pvc.jpg"
786
690
  },
787
691
  "meta": {
788
692
  "ranking": 3
@@ -792,7 +696,7 @@
792
696
  "code": "HYBRID",
793
697
  "viewModel": {
794
698
  "title": "Hybride",
795
- "image": "https://storage.googleapis.com/project-booster-media/common/undetermined.jpg"
699
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/shutter-sliding-hybrid.jpg"
796
700
  },
797
701
  "meta": {
798
702
  "ranking": 4
@@ -853,8 +757,8 @@
853
757
  "beforeContent": {
854
758
  "display": true,
855
759
  "component": "MPbProgress",
856
- "totalStep": 23,
857
- "currentStep": 11,
760
+ "totalStep": 21,
761
+ "currentStep": 9,
858
762
  "sizeXlWidth": true,
859
763
  "label": "Votre projet menuiserie - Volet"
860
764
  }
@@ -948,8 +852,8 @@
948
852
  "beforeContent": {
949
853
  "display": true,
950
854
  "component": "MPbProgress",
951
- "totalStep": 23,
952
- "currentStep": 12,
855
+ "totalStep": 21,
856
+ "currentStep": 10,
953
857
  "sizeXlWidth": true,
954
858
  "label": "Votre projet menuiserie - Volet"
955
859
  }
@@ -1028,15 +932,15 @@
1028
932
  "beforeContent": {
1029
933
  "display": true,
1030
934
  "component": "MPbProgress",
1031
- "totalStep": 23,
1032
- "currentStep": 13,
935
+ "totalStep": 21,
936
+ "currentStep": 11,
1033
937
  "sizeXlWidth": true,
1034
938
  "label": "Votre projet menuiserie - Porte d'entrée"
1035
939
  }
1036
940
  },
1037
941
  "payload": {
1038
942
  "viewModel": {
1039
- "label": "Quel type de porte dentrée souhaitez-vous installer ?",
943
+ "label": "Quel type de porte d'entrée souhaitez-vous installer ?",
1040
944
  "answersComponent": "MPbCard",
1041
945
  "progressBar": true,
1042
946
  "forceOneCardPerLineOnMobile": true,
@@ -1047,7 +951,8 @@
1047
951
  "SIMPLE": {
1048
952
  "code": "SIMPLE",
1049
953
  "viewModel": {
1050
- "title": "Simple"
954
+ "title": "Simple",
955
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-type-simple.png"
1051
956
  },
1052
957
  "meta": {
1053
958
  "ranking": 1
@@ -1056,7 +961,8 @@
1056
961
  "TRANSOM": {
1057
962
  "code": "TRANSOM",
1058
963
  "viewModel": {
1059
- "title": "Avec imposte"
964
+ "title": "Imposte",
965
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-type-transom.png"
1060
966
  },
1061
967
  "meta": {
1062
968
  "ranking": 2
@@ -1065,7 +971,8 @@
1065
971
  "THIRD_PARTY": {
1066
972
  "code": "THIRD_PARTY",
1067
973
  "viewModel": {
1068
- "title": "Avec tierce"
974
+ "title": "Tierce",
975
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-type-third-party.png"
1069
976
  },
1070
977
  "meta": {
1071
978
  "ranking": 3
@@ -1074,7 +981,8 @@
1074
981
  "TRANSOM_AND_THIRD_PARTY": {
1075
982
  "code": "TRANSOM_AND_THIRD_PARTY",
1076
983
  "viewModel": {
1077
- "title": "Avec imposte et tierce"
984
+ "title": "Imposte et tierce",
985
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-type-transom-and-third-party.png"
1078
986
  },
1079
987
  "meta": {
1080
988
  "ranking": 4
@@ -1083,7 +991,8 @@
1083
991
  "DO_NOT_KNOW_YET": {
1084
992
  "code": "DO_NOT_KNOW_YET",
1085
993
  "viewModel": {
1086
- "title": "Je ne sais pas"
994
+ "title": "Je ne sais pas",
995
+ "image": "https://storage.googleapis.com/project-booster-media/common/undetermined.jpg"
1087
996
  },
1088
997
  "meta": {
1089
998
  "ranking": 5
@@ -1103,15 +1012,15 @@
1103
1012
  "beforeContent": {
1104
1013
  "display": true,
1105
1014
  "component": "MPbProgress",
1106
- "totalStep": 23,
1107
- "currentStep": 14,
1015
+ "totalStep": 21,
1016
+ "currentStep": 12,
1108
1017
  "sizeXlWidth": true,
1109
1018
  "label": "Votre projet menuiserie - Porte d'entrée"
1110
1019
  }
1111
1020
  },
1112
1021
  "payload": {
1113
1022
  "viewModel": {
1114
- "label": "Quel matériau souhaitez-vous pour votre porte dentrée ?",
1023
+ "label": "Quel matériau souhaitez-vous pour votre porte d'entrée ?",
1115
1024
  "answersComponent": "MPbCard",
1116
1025
  "progressBar": true,
1117
1026
  "forceOneCardPerLineOnMobile": true,
@@ -1197,8 +1106,8 @@
1197
1106
  "beforeContent": {
1198
1107
  "display": true,
1199
1108
  "component": "MPbProgress",
1200
- "totalStep": 23,
1201
- "currentStep": 15,
1109
+ "totalStep": 21,
1110
+ "currentStep": 13,
1202
1111
  "sizeXlWidth": true,
1203
1112
  "label": "Votre projet menuiserie - Porte de garage"
1204
1113
  }
@@ -1272,8 +1181,8 @@
1272
1181
  "beforeContent": {
1273
1182
  "display": true,
1274
1183
  "component": "MPbProgress",
1275
- "totalStep": 23,
1276
- "currentStep": 16,
1184
+ "totalStep": 21,
1185
+ "currentStep": 14,
1277
1186
  "sizeXlWidth": true,
1278
1187
  "label": "Votre projet menuiserie - Porte de garage"
1279
1188
  }
@@ -1292,7 +1201,7 @@
1292
1201
  "code": "STEEL",
1293
1202
  "viewModel": {
1294
1203
  "title": "Acier",
1295
- "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-steel.jpg"
1204
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/garage-door-steel.jpg"
1296
1205
  },
1297
1206
  "meta": {
1298
1207
  "ranking": 1
@@ -1302,7 +1211,7 @@
1302
1211
  "code": "ALUMINUM",
1303
1212
  "viewModel": {
1304
1213
  "title": "Aluminium",
1305
- "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-aluminum.jpg"
1214
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/garage-door-aluminum.jpg"
1306
1215
  },
1307
1216
  "meta": {
1308
1217
  "ranking": 2
@@ -1312,7 +1221,7 @@
1312
1221
  "code": "WOOD",
1313
1222
  "viewModel": {
1314
1223
  "title": "Bois",
1315
- "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-wood.jpg"
1224
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/garage-door-wood.jpg"
1316
1225
  },
1317
1226
  "meta": {
1318
1227
  "ranking": 3
@@ -1322,7 +1231,7 @@
1322
1231
  "code": "PVC",
1323
1232
  "viewModel": {
1324
1233
  "title": "PVC",
1325
- "image": "https://storage.googleapis.com/project-booster-media/carpentry/door-pvc.jpg"
1234
+ "image": "https://storage.googleapis.com/project-booster-media/carpentry/garage-door-pvc.jpg"
1326
1235
  },
1327
1236
  "meta": {
1328
1237
  "ranking": 4
@@ -1353,8 +1262,8 @@
1353
1262
  "beforeContent": {
1354
1263
  "display": true,
1355
1264
  "component": "MPbProgress",
1356
- "totalStep": 23,
1357
- "currentStep": 17,
1265
+ "totalStep": 21,
1266
+ "currentStep": 15,
1358
1267
  "sizeXlWidth": true,
1359
1268
  "label": "Votre projet menuiserie"
1360
1269
  }
@@ -1374,28 +1283,19 @@
1374
1283
  "DOWNLOAD_PLAN": {
1375
1284
  "code": "DOWNLOAD_PLAN",
1376
1285
  "viewModel": {
1377
- "title": "J'utilise mes mesures"
1286
+ "title": "Transmettre mes mesures"
1378
1287
  },
1379
1288
  "meta": {
1380
1289
  "ranking": 1
1381
1290
  }
1382
1291
  },
1383
- "IMPORT_SIMULATION": {
1384
- "code": "IMPORT_SIMULATION",
1385
- "viewModel": {
1386
- "title": "J'utilise une simulation 3D"
1387
- },
1388
- "meta": {
1389
- "ranking": 2
1390
- }
1391
- },
1392
1292
  "LATER": {
1393
1293
  "code": "LATER",
1394
1294
  "viewModel": {
1395
- "title": "Je transmettrai mon plan plus tard"
1295
+ "title": "Transmettre mes mesures plus tard"
1396
1296
  },
1397
1297
  "meta": {
1398
- "ranking": 3
1298
+ "ranking": 2
1399
1299
  }
1400
1300
  }
1401
1301
  }
@@ -1413,12 +1313,6 @@
1413
1313
  "nextStep": {
1414
1314
  "code": "LMFR_QUESTION_ADD_PLAN_LATER"
1415
1315
  }
1416
- },
1417
- {
1418
- "conditions": ["isAnswerContaining('LMFR_QUESTION_PLAN_INFO', 'IMPORT_SIMULATION')"],
1419
- "nextStep": {
1420
- "code": "LMFR_QUESTION_SCENARIO_ADD_SIMULATION"
1421
- }
1422
1316
  }
1423
1317
  ]
1424
1318
  }
@@ -1431,8 +1325,8 @@
1431
1325
  "beforeContent": {
1432
1326
  "display": true,
1433
1327
  "component": "MPbProgress",
1434
- "totalStep": 23,
1435
- "currentStep": 18,
1328
+ "totalStep": 21,
1329
+ "currentStep": 16,
1436
1330
  "sizeXlWidth": true,
1437
1331
  "label": "Votre projet menuiserie"
1438
1332
  }
@@ -1450,12 +1344,6 @@
1450
1344
  "href": "https://storage.googleapis.com/project-booster-media/carpentry/leroy-merlin-fiche-menuiserie.zip"
1451
1345
  },
1452
1346
 
1453
- "redirectLink": {
1454
- "label": "Utiliser une simulation existante sur Leroy Merlin",
1455
- "nextStep": {
1456
- "code": "LMFR_QUESTION_SCENARIO_ADD_SIMULATION"
1457
- }
1458
- },
1459
1347
  "showMore": {
1460
1348
  "itemsPerPage": 4,
1461
1349
  "label": "Afficher plus de photos"
@@ -1482,7 +1370,7 @@
1482
1370
  {
1483
1371
  "type": "PLAN",
1484
1372
  "subtype": "ARCHITECT_PLAN",
1485
- "label": "Un plan darchitecte"
1373
+ "label": "Un plan d'architecte"
1486
1374
  }
1487
1375
  ]
1488
1376
  }
@@ -1502,8 +1390,8 @@
1502
1390
  "beforeContent": {
1503
1391
  "display": true,
1504
1392
  "component": "MPbProgress",
1505
- "totalStep": 23,
1506
- "currentStep": 18,
1393
+ "totalStep": 21,
1394
+ "currentStep": 16,
1507
1395
  "sizeXlWidth": true,
1508
1396
  "label": "Votre projet menuiserie"
1509
1397
  }
@@ -1544,7 +1432,7 @@
1544
1432
  {
1545
1433
  "type": "PLAN",
1546
1434
  "subtype": "ARCHITECT_PLAN",
1547
- "label": "Un plan darchitecte"
1435
+ "label": "Un plan d'architecte"
1548
1436
  }
1549
1437
  ]
1550
1438
  }
@@ -1556,64 +1444,6 @@
1556
1444
  }
1557
1445
  }
1558
1446
  },
1559
- "LMFR_QUESTION_SCENARIO_ADD_SIMULATION": {
1560
- "code": "LMFR_QUESTION_SCENARIO_ADD_SIMULATION",
1561
- "type": "STEP",
1562
- "component": "MPbConfigurationsImport",
1563
- "slots": {
1564
- "beforeContent": {
1565
- "display": true,
1566
- "component": "MPbProgress",
1567
- "totalStep": 23,
1568
- "currentStep": 18,
1569
- "sizeXlWidth": true,
1570
- "label": "Votre projet menuiserie"
1571
- }
1572
- },
1573
- "payload": {
1574
- "viewModel": {
1575
- "label": "Ajouter un plan à partir d’une conception 3D Leroy Merlin",
1576
- "redirectLink": {
1577
- "label": "Télécharger un plan à partir d'un fichier",
1578
- "nextStep": {
1579
- "code": "LMFR_QUESTION_ADD_PLAN"
1580
- }
1581
- },
1582
- "notificationPayload": {
1583
- "viewModel": {
1584
- "successTitle": "Plan 3D ajouté à votre projet",
1585
- "errorTitle": "Le plan 3D n'a pas pu être importé",
1586
- "errorText": "Une erreur est survenue"
1587
- }
1588
- },
1589
- "nextStep": {
1590
- "code": "LMFR_QUESTION_ADD_PICTURE"
1591
- }
1592
- },
1593
- "skippable": [
1594
- {
1595
- "isAnswer": true,
1596
- "label": "Vous ne trouvez pas votre plan",
1597
- "theme": "text-primary",
1598
- "width": "full",
1599
- "widthFromM": "fit",
1600
- "nextStep": {
1601
- "code": "LMFR_QUESTION_WORK_START_DATE"
1602
- }
1603
- }
1604
- ],
1605
- "multiSelect": {
1606
- "actions": {
1607
- "VALIDATE": {
1608
- "label": "Continuer",
1609
- "nextStep": {
1610
- "code": "LMFR_QUESTION_WORK_START_DATE"
1611
- }
1612
- }
1613
- }
1614
- }
1615
- }
1616
- },
1617
1447
  "LMFR_QUESTION_ADD_PICTURE": {
1618
1448
  "code": "LMFR_QUESTION_ADD_PICTURE",
1619
1449
  "type": "STEP",
@@ -1622,8 +1452,8 @@
1622
1452
  "beforeContent": {
1623
1453
  "display": true,
1624
1454
  "component": "MPbProgress",
1625
- "totalStep": 23,
1626
- "currentStep": 19,
1455
+ "totalStep": 21,
1456
+ "currentStep": 17,
1627
1457
  "sizeXlWidth": true,
1628
1458
  "label": "Votre projet menuiserie"
1629
1459
  }
@@ -1675,8 +1505,8 @@
1675
1505
  "beforeContent": {
1676
1506
  "display": true,
1677
1507
  "component": "MPbProgress",
1678
- "totalStep": 23,
1679
- "currentStep": 20,
1508
+ "totalStep": 21,
1509
+ "currentStep": 18,
1680
1510
  "sizeXlWidth": true,
1681
1511
  "label": "Votre projet menuiserie"
1682
1512
  }
@@ -1750,8 +1580,8 @@
1750
1580
  "beforeContent": {
1751
1581
  "display": true,
1752
1582
  "component": "MPbProgress",
1753
- "totalStep": 23,
1754
- "currentStep": 21,
1583
+ "totalStep": 21,
1584
+ "currentStep": 19,
1755
1585
  "sizeXlWidth": true,
1756
1586
  "label": "Votre projet menuiserie"
1757
1587
  }
@@ -1763,13 +1593,7 @@
1763
1593
  "forceOneCardPerLineOnMobile": true,
1764
1594
  "widthFromL": "1of3",
1765
1595
  "widthXlSize": true,
1766
- "label": "Souhaitez-vous nous confier les travaux ?",
1767
- "notification": {
1768
- "type": "info",
1769
- "title": "Pergola attenante à la maison",
1770
- "content": "Votre projet concerne une pergola attenante à la maison. Si vous choisissez de la faire poser par un artisan, vous pouvez bénéficier d’une TVA à 10%.",
1771
- "conditions": ["isAnswerContaining('LMFR_CARPENTRY_GARAGE_DOOR_TYPE', 'ATTACHED')"]
1772
- }
1596
+ "label": "Souhaitez-vous nous confier les travaux ?"
1773
1597
  },
1774
1598
  "answers": {
1775
1599
  "BY_A_LEROYMERLIN_PARTNER": {
@@ -1784,7 +1608,7 @@
1784
1608
  "BY_MYSELF": {
1785
1609
  "code": "BY_MYSELF",
1786
1610
  "viewModel": {
1787
- "title": "Je moccupe des travaux moi-même"
1611
+ "title": "Je m'occupe des travaux moi-même"
1788
1612
  },
1789
1613
  "meta": {
1790
1614
  "ranking": 2
@@ -1793,7 +1617,7 @@
1793
1617
  "BY_A_PROFESSIONAL": {
1794
1618
  "code": "BY_A_PROFESSIONAL",
1795
1619
  "viewModel": {
1796
- "title": "Jai déjà un artisan"
1620
+ "title": "J'ai déjà un artisan"
1797
1621
  },
1798
1622
  "meta": {
1799
1623
  "ranking": 3
@@ -1835,8 +1659,8 @@
1835
1659
  "beforeContent": {
1836
1660
  "display": true,
1837
1661
  "component": "MPbProgress",
1838
- "totalStep": 23,
1839
- "currentStep": 22,
1662
+ "totalStep": 21,
1663
+ "currentStep": 20,
1840
1664
  "sizeXlWidth": true,
1841
1665
  "label": "Votre projet menuiserie"
1842
1666
  }
@@ -1937,8 +1761,8 @@
1937
1761
  "beforeContent": {
1938
1762
  "display": true,
1939
1763
  "component": "MPbProgress",
1940
- "totalStep": 23,
1941
- "currentStep": 23,
1764
+ "totalStep": 21,
1765
+ "currentStep": 21,
1942
1766
  "sizeXlWidth": true,
1943
1767
  "label": "Votre projet menuiserie"
1944
1768
  }
@@ -28,106 +28,9 @@
28
28
  "GARDEN": {
29
29
  "code": "GARDEN",
30
30
  "type": "SCENARIO",
31
- "stepCode": "LMFR_QUESTION_PROJECT_TYPE"
31
+ "stepCode": "LMFR_QUESTION_WORKS"
32
32
  },
33
33
 
34
- "LMFR_QUESTION_PROJECT_TYPE": {
35
- "code": "LMFR_QUESTION_PROJECT_TYPE",
36
- "type": "STEP",
37
- "component": "MPbQuestion",
38
- "slots": {
39
- "beforeContent": {
40
- "display": true,
41
- "component": "MPbProgress",
42
- "totalStep": 21,
43
- "currentStep": 1,
44
- "sizeXlWidth": true,
45
- "label": "Votre projet jardin"
46
- }
47
- },
48
- "payload": {
49
- "viewModel": {
50
- "answersComponent": "MPbCard",
51
- "progressBar": true,
52
- "forceOneCardPerLineOnMobile": true,
53
- "widthXlSize": true,
54
- "widthFromL": "auto",
55
- "hideBackButton": true,
56
- "label": "À quoi correspond votre projet de jardin ?"
57
- },
58
- "answers": {
59
- "NEW": {
60
- "code": "NEW",
61
- "viewModel": {
62
- "title": "Je créé mon aménagement"
63
- },
64
- "meta": {
65
- "ranking": 1
66
- }
67
- },
68
- "RENOVATION": {
69
- "code": "RENOVATION",
70
- "viewModel": {
71
- "title": "Je rénove de l'existant"
72
- },
73
- "meta": {
74
- "ranking": 2
75
- }
76
- }
77
- }
78
- },
79
- "nextStep": {
80
- "code": "LMFR_QUESTION_CONSTRUCTION_DATE"
81
- }
82
- },
83
- "LMFR_QUESTION_CONSTRUCTION_DATE": {
84
- "code": "LMFR_QUESTION_CONSTRUCTION_DATE",
85
- "type": "STEP",
86
- "component": "MPbQuestion",
87
- "slots": {
88
- "beforeContent": {
89
- "display": true,
90
- "component": "MPbProgress",
91
- "totalStep": 21,
92
- "currentStep": 2,
93
- "sizeXlWidth": true,
94
- "label": "Votre projet jardin"
95
- }
96
- },
97
- "payload": {
98
- "viewModel": {
99
- "answersComponent": "MPbCard",
100
- "progressBar": true,
101
- "forceOneCardPerLineOnMobile": true,
102
- "widthXlSize": true,
103
- "widthFromL": "auto",
104
- "label": "Votre logement a-t-il plus de 2 ans ?"
105
- },
106
- "answers": {
107
- "MORE_THAN_2_YEARS": {
108
- "code": "MORE_THAN_2_YEARS",
109
- "viewModel": {
110
- "title": "Oui"
111
- },
112
- "meta": {
113
- "ranking": 1
114
- }
115
- },
116
- "LESS_THAN_2_YEARS": {
117
- "code": "LESS_THAN_2_YEARS",
118
- "viewModel": {
119
- "title": "Non"
120
- },
121
- "meta": {
122
- "ranking": 2
123
- }
124
- }
125
- }
126
- },
127
- "nextStep": {
128
- "code": "LMFR_QUESTION_WORKS"
129
- }
130
- },
131
34
  "LMFR_QUESTION_WORKS": {
132
35
  "code": "LMFR_QUESTION_WORKS",
133
36
  "type": "STEP",
@@ -139,8 +42,8 @@
139
42
  "beforeContent": {
140
43
  "display": true,
141
44
  "component": "MPbProgress",
142
- "totalStep": 21,
143
- "currentStep": 3,
45
+ "totalStep": 19,
46
+ "currentStep": 1,
144
47
  "sizeXlWidth": true,
145
48
  "label": "Votre projet jardin"
146
49
  }
@@ -154,6 +57,7 @@
154
57
  "widthFromL": "auto",
155
58
  "widthXlSize": true,
156
59
  "forceOneCardPerLineOnMobile": true,
60
+ "hideBackButton": true,
157
61
  "sortBy": {
158
62
  "type": ["numeric", "string"],
159
63
  "order": ["Asc"],
@@ -271,8 +175,8 @@
271
175
  "beforeContent": {
272
176
  "display": true,
273
177
  "component": "MPbProgress",
274
- "totalStep": 21,
275
- "currentStep": 4,
178
+ "totalStep": 19,
179
+ "currentStep": 2,
276
180
  "sizeXlWidth": true,
277
181
  "label": "Votre projet jardin - Terrasse"
278
182
  }
@@ -337,8 +241,8 @@
337
241
  "beforeContent": {
338
242
  "display": true,
339
243
  "component": "MPbProgress",
340
- "totalStep": 21,
341
- "currentStep": 5,
244
+ "totalStep": 19,
245
+ "currentStep": 3,
342
246
  "sizeXlWidth": true,
343
247
  "label": "Votre projet jardin - Terrasse"
344
248
  }
@@ -394,8 +298,8 @@
394
298
  "beforeContent": {
395
299
  "display": true,
396
300
  "component": "MPbProgress",
397
- "totalStep": 21,
398
- "currentStep": 6,
301
+ "totalStep": 19,
302
+ "currentStep": 4,
399
303
  "sizeXlWidth": true,
400
304
  "label": "Votre projet jardin - Terrasse"
401
305
  }
@@ -500,8 +404,8 @@
500
404
  "beforeContent": {
501
405
  "display": true,
502
406
  "component": "MPbProgress",
503
- "totalStep": 21,
504
- "currentStep": 7,
407
+ "totalStep": 19,
408
+ "currentStep": 5,
505
409
  "sizeXlWidth": true,
506
410
  "label": "Votre projet jardin - Portail"
507
411
  }
@@ -557,8 +461,8 @@
557
461
  "beforeContent": {
558
462
  "display": true,
559
463
  "component": "MPbProgress",
560
- "totalStep": 21,
561
- "currentStep": 8,
464
+ "totalStep": 19,
465
+ "currentStep": 6,
562
466
  "sizeXlWidth": true,
563
467
  "label": "Votre projet jardin - Portail"
564
468
  }
@@ -614,8 +518,8 @@
614
518
  "beforeContent": {
615
519
  "display": true,
616
520
  "component": "MPbProgress",
617
- "totalStep": 21,
618
- "currentStep": 9,
521
+ "totalStep": 19,
522
+ "currentStep": 7,
619
523
  "sizeXlWidth": true,
620
524
  "label": "Votre projet jardin - Portail"
621
525
  }
@@ -640,11 +544,11 @@
640
544
  "ranking": 1
641
545
  }
642
546
  },
643
- "COMPOSITE": {
644
- "code": "COMPOSITE",
547
+ "ALUMINUM": {
548
+ "code": "ALUMINUM",
645
549
  "viewModel": {
646
- "title": "Composite",
647
- "image": "https://storage.googleapis.com/project-booster-media/garden/gate-composite.jpg"
550
+ "title": "Aluminium",
551
+ "image": "https://storage.googleapis.com/project-booster-media/garden/gate-aluminum.jpg"
648
552
  },
649
553
  "meta": {
650
554
  "ranking": 2
@@ -704,8 +608,8 @@
704
608
  "beforeContent": {
705
609
  "display": true,
706
610
  "component": "MPbProgress",
707
- "totalStep": 21,
708
- "currentStep": 10,
611
+ "totalStep": 19,
612
+ "currentStep": 8,
709
613
  "sizeXlWidth": true,
710
614
  "label": "Votre projet jardin - Clôture"
711
615
  }
@@ -761,8 +665,8 @@
761
665
  "beforeContent": {
762
666
  "display": true,
763
667
  "component": "MPbProgress",
764
- "totalStep": 21,
765
- "currentStep": 11,
668
+ "totalStep": 19,
669
+ "currentStep": 9,
766
670
  "sizeXlWidth": true,
767
671
  "label": "Votre projet jardin - Clôture"
768
672
  }
@@ -885,8 +789,8 @@
885
789
  "beforeContent": {
886
790
  "display": true,
887
791
  "component": "MPbProgress",
888
- "totalStep": 21,
889
- "currentStep": 12,
792
+ "totalStep": 19,
793
+ "currentStep": 10,
890
794
  "sizeXlWidth": true,
891
795
  "label": "Votre projet jardin - Pergola"
892
796
  }
@@ -938,8 +842,8 @@
938
842
  "beforeContent": {
939
843
  "display": true,
940
844
  "component": "MPbProgress",
941
- "totalStep": 21,
942
- "currentStep": 13,
845
+ "totalStep": 19,
846
+ "currentStep": 11,
943
847
  "sizeXlWidth": true,
944
848
  "label": "Votre projet jardin - Pergola"
945
849
  }
@@ -995,8 +899,8 @@
995
899
  "beforeContent": {
996
900
  "display": true,
997
901
  "component": "MPbProgress",
998
- "totalStep": 21,
999
- "currentStep": 14,
902
+ "totalStep": 19,
903
+ "currentStep": 12,
1000
904
  "sizeXlWidth": true,
1001
905
  "label": "Votre projet jardin - Pergola"
1002
906
  }
@@ -1056,8 +960,8 @@
1056
960
  "beforeContent": {
1057
961
  "display": true,
1058
962
  "component": "MPbProgress",
1059
- "totalStep": 21,
1060
- "currentStep": 15,
963
+ "totalStep": 19,
964
+ "currentStep": 13,
1061
965
  "sizeXlWidth": true,
1062
966
  "label": "Votre projet jardin"
1063
967
  }
@@ -1070,35 +974,26 @@
1070
974
  "widthXlSize": true,
1071
975
  "widthFromL": "auto",
1072
976
  "label": "Partagez le plan de votre projet jardin",
1073
- "subtitle": "Vous pouvez utiliser votre propre plan annoté, ou vous baser sur la fiche de cote que nous mettons à votre disposition."
977
+ "subtitle": "Vous pouvez utiliser votre propre plan annoté."
1074
978
  },
1075
979
 
1076
980
  "answers": {
1077
981
  "DOWNLOAD_PLAN": {
1078
982
  "code": "DOWNLOAD_PLAN",
1079
983
  "viewModel": {
1080
- "title": "J'utilise mes mesures"
984
+ "title": "Transmettre mes mesures"
1081
985
  },
1082
986
  "meta": {
1083
987
  "ranking": 1
1084
988
  }
1085
989
  },
1086
- "IMPORT_SIMULATION": {
1087
- "code": "IMPORT_SIMULATION",
1088
- "viewModel": {
1089
- "title": "J'utilise une simulation 3D"
1090
- },
1091
- "meta": {
1092
- "ranking": 2
1093
- }
1094
- },
1095
990
  "LATER": {
1096
991
  "code": "LATER",
1097
992
  "viewModel": {
1098
- "title": "Je transmettrai mon plan plus tard"
993
+ "title": "Transmettre mes mesures plus tard"
1099
994
  },
1100
995
  "meta": {
1101
- "ranking": 3
996
+ "ranking": 2
1102
997
  }
1103
998
  }
1104
999
  }
@@ -1116,12 +1011,6 @@
1116
1011
  "nextStep": {
1117
1012
  "code": "LMFR_QUESTION_ADD_PLAN_LATER"
1118
1013
  }
1119
- },
1120
- {
1121
- "conditions": ["isAnswerContaining('LMFR_QUESTION_PLAN_INFO', 'IMPORT_SIMULATION')"],
1122
- "nextStep": {
1123
- "code": "LMFR_QUESTION_SCENARIO_ADD_SIMULATION"
1124
- }
1125
1014
  }
1126
1015
  ]
1127
1016
  }
@@ -1134,8 +1023,8 @@
1134
1023
  "beforeContent": {
1135
1024
  "display": true,
1136
1025
  "component": "MPbProgress",
1137
- "totalStep": 21,
1138
- "currentStep": 16,
1026
+ "totalStep": 19,
1027
+ "currentStep": 14,
1139
1028
  "sizeXlWidth": true,
1140
1029
  "label": "Votre projet jardin"
1141
1030
  }
@@ -1143,23 +1032,12 @@
1143
1032
  "payload": {
1144
1033
  "viewModel": {
1145
1034
  "label": "Transmettre vos mesures pour votre futur projet jardin",
1146
- "subtitle": "Vous pouvez utiliser votre propre plan annoté, ou vous baser sur la fiche de cote que nous mettons à votre disposition.",
1035
+ "subtitle": "Vous pouvez utiliser votre propre plan annoté.",
1147
1036
 
1148
1037
  "upload": {
1149
1038
  "label": "Sélectionner un fichier"
1150
1039
  },
1151
- "download": {
1152
- "label": "Télécharger notre fiche de cote",
1153
- "href": "https://pics.craiyon.com/2023-10-23/ad93a138e3aa491389f9ada191aed967.webp",
1154
- "fileName": "fiche-de-cote.pdf"
1155
- },
1156
1040
 
1157
- "redirectLink": {
1158
- "label": "Utiliser une simulation existante sur Leroy Merlin",
1159
- "nextStep": {
1160
- "code": "LMFR_QUESTION_SCENARIO_ADD_SIMULATION"
1161
- }
1162
- },
1163
1041
  "showMore": {
1164
1042
  "itemsPerPage": 4,
1165
1043
  "label": "Afficher plus de photos"
@@ -1206,8 +1084,8 @@
1206
1084
  "beforeContent": {
1207
1085
  "display": true,
1208
1086
  "component": "MPbProgress",
1209
- "totalStep": 21,
1210
- "currentStep": 16,
1087
+ "totalStep": 19,
1088
+ "currentStep": 14,
1211
1089
  "sizeXlWidth": true,
1212
1090
  "label": "Votre projet jardin"
1213
1091
  }
@@ -1215,13 +1093,7 @@
1215
1093
  "payload": {
1216
1094
  "viewModel": {
1217
1095
  "label": "Transmettre mon plan de jardin plus tard",
1218
- "subtitle": "Vous pouvez utiliser votre propre plan annoté, ou vous baser sur la fiche de cote que nous mettons à votre disposition.",
1219
-
1220
- "download": {
1221
- "label": "Télécharger notre fiche de cote",
1222
- "href": "https://pics.craiyon.com/2023-10-23/ad93a138e3aa491389f9ada191aed967.webp",
1223
- "fileName": "fiche-de-cote.pdf"
1224
- },
1096
+ "subtitle": "Pensez à transmettre votre plan pour obtenir des conseils personnalisés.",
1225
1097
 
1226
1098
  "redirectLink": {
1227
1099
  "label": "Transmettre mes mesures avec mon plan annoté maintenant",
@@ -1268,64 +1140,6 @@
1268
1140
  }
1269
1141
  }
1270
1142
  },
1271
- "LMFR_QUESTION_SCENARIO_ADD_SIMULATION": {
1272
- "code": "LMFR_QUESTION_SCENARIO_ADD_SIMULATION",
1273
- "type": "STEP",
1274
- "component": "MPbConfigurationsImport",
1275
- "slots": {
1276
- "beforeContent": {
1277
- "display": true,
1278
- "component": "MPbProgress",
1279
- "totalStep": 21,
1280
- "currentStep": 16,
1281
- "sizeXlWidth": true,
1282
- "label": "Votre projet jardin"
1283
- }
1284
- },
1285
- "payload": {
1286
- "viewModel": {
1287
- "label": "Ajouter un plan à partir d’une conception 3D Leroy Merlin",
1288
- "redirectLink": {
1289
- "label": "Télécharger un plan à partir d'un fichier",
1290
- "nextStep": {
1291
- "code": "LMFR_QUESTION_ADD_PLAN"
1292
- }
1293
- },
1294
- "notificationPayload": {
1295
- "viewModel": {
1296
- "successTitle": "Plan 3D ajouté à votre projet",
1297
- "errorTitle": "Le plan 3D n'a pas pu être importé",
1298
- "errorText": "Une erreur est survenue"
1299
- }
1300
- },
1301
- "nextStep": {
1302
- "code": "LMFR_QUESTION_ADD_PICTURE"
1303
- }
1304
- },
1305
- "skippable": [
1306
- {
1307
- "isAnswer": true,
1308
- "label": "Vous ne trouvez pas votre plan",
1309
- "theme": "text-primary",
1310
- "width": "full",
1311
- "widthFromM": "fit",
1312
- "nextStep": {
1313
- "code": "LMFR_QUESTION_WORK_START_DATE"
1314
- }
1315
- }
1316
- ],
1317
- "multiSelect": {
1318
- "actions": {
1319
- "VALIDATE": {
1320
- "label": "Continuer",
1321
- "nextStep": {
1322
- "code": "LMFR_QUESTION_WORK_START_DATE"
1323
- }
1324
- }
1325
- }
1326
- }
1327
- }
1328
- },
1329
1143
  "LMFR_QUESTION_ADD_PICTURE": {
1330
1144
  "code": "LMFR_QUESTION_ADD_PICTURE",
1331
1145
  "type": "STEP",
@@ -1334,8 +1148,8 @@
1334
1148
  "beforeContent": {
1335
1149
  "display": true,
1336
1150
  "component": "MPbProgress",
1337
- "totalStep": 21,
1338
- "currentStep": 17,
1151
+ "totalStep": 19,
1152
+ "currentStep": 15,
1339
1153
  "sizeXlWidth": true,
1340
1154
  "label": "Votre projet jardin"
1341
1155
  }
@@ -1387,8 +1201,8 @@
1387
1201
  "beforeContent": {
1388
1202
  "display": true,
1389
1203
  "component": "MPbProgress",
1390
- "totalStep": 21,
1391
- "currentStep": 18,
1204
+ "totalStep": 19,
1205
+ "currentStep": 16,
1392
1206
  "sizeXlWidth": true,
1393
1207
  "label": "Votre projet jardin"
1394
1208
  }
@@ -1462,8 +1276,8 @@
1462
1276
  "beforeContent": {
1463
1277
  "display": true,
1464
1278
  "component": "MPbProgress",
1465
- "totalStep": 21,
1466
- "currentStep": 19,
1279
+ "totalStep": 19,
1280
+ "currentStep": 17,
1467
1281
  "sizeXlWidth": true,
1468
1282
  "label": "Votre projet jardin"
1469
1283
  }
@@ -1547,8 +1361,8 @@
1547
1361
  "beforeContent": {
1548
1362
  "display": true,
1549
1363
  "component": "MPbProgress",
1550
- "totalStep": 21,
1551
- "currentStep": 20,
1364
+ "totalStep": 19,
1365
+ "currentStep": 18,
1552
1366
  "sizeXlWidth": true,
1553
1367
  "label": "Votre projet jardin"
1554
1368
  }
@@ -1649,18 +1463,18 @@
1649
1463
  "beforeContent": {
1650
1464
  "display": true,
1651
1465
  "component": "MPbProgress",
1652
- "totalStep": 21,
1653
- "currentStep": 21,
1466
+ "totalStep": 19,
1467
+ "currentStep": 19,
1654
1468
  "sizeXlWidth": true,
1655
1469
  "label": "Votre projet jardin"
1656
1470
  }
1657
1471
  },
1658
1472
  "payload": {
1659
1473
  "viewModel": {
1660
- "title": "Pour que vous soyez pleinement satisfait et que votre projet soit réussi : qu'est-ce qui est le plus important pour vous ?",
1474
+ "title": "Y a-t-il une autre information que vous souhaitez nous communiquer ?",
1661
1475
  "content": "<p>Cette question est facultative.</p>",
1662
1476
  "typeForm": {
1663
- "placeholder": "Exemple : la qualité des matériaux, le respect des délais, le prix, le conseil, etc."
1477
+ "placeholder": "Par exemple : une attente ou un besoin particulier."
1664
1478
  },
1665
1479
  "nextStep": {
1666
1480
  "code": "APPOINTMENT_FORM",