project-booster-vue 9.51.0 → 9.51.2

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": "9.51.0",
3
+ "version": "9.51.2",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -1002,7 +1002,7 @@ $answers-apparition-duration: '0.5s';
1002
1002
  align-items: stretch;
1003
1003
  display: flex;
1004
1004
  flex-wrap: wrap;
1005
- justify-content: flex-start;
1005
+ justify-content: center;
1006
1006
  margin: 0 auto $mu100;
1007
1007
  max-width: 1024px;
1008
1008
  width: 100%;
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="pb-products">
3
- <div class="pb-products__back-button-container">
3
+ <div class="pb-products__back-button-container" v-if="payload.viewModel.backLabel">
4
4
  <m-link
5
5
  icon="ArrowArrowLeft48"
6
6
  :class="{
@@ -196,7 +196,7 @@ $responsive-breakpoint: 'm';
196
196
  }
197
197
 
198
198
  &__body {
199
- margin: auto;
199
+ margin: $mu250 auto 0 auto;
200
200
 
201
201
  @include set-from-screen($responsive-breakpoint) {
202
202
  width: 591px;
@@ -995,9 +995,13 @@ $answers-apparition-duration: '0.5s';
995
995
  margin: 0 auto;
996
996
 
997
997
  &-label {
998
- margin: $mu200 0 0 0;
998
+ margin: $mu200 $mu050 0 $mu050;
999
999
  @include set-font-face('semi-bold');
1000
1000
  @include set-font-scale('06', 'l');
1001
+
1002
+ @include set-from-screen($responsive-breakpoint) {
1003
+ margin: $mu200 0 0 0;
1004
+ }
1001
1005
  }
1002
1006
  }
1003
1007
  }
@@ -13,7 +13,6 @@
13
13
  />
14
14
  </m-flex>
15
15
  <div class="pb-city-search__form">
16
- <m-pb-progress :min="0" :max="20"></m-pb-progress>
17
16
  <div class="pb-city-search__title">
18
17
  {{ computedPayload.viewModel.label }}
19
18
  </div>
@@ -107,7 +106,6 @@ import MFlex from '../../../mozaic/flex/MFlex.vue';
107
106
  import MButton from '../../../mozaic/buttons/MButton.vue';
108
107
  import MLink from '../../../mozaic/link/MLink.vue';
109
108
  import MTextInput from '../../../mozaic/text-input/MTextInput.vue';
110
- import MPbProgress from '../../ui/progress/MPbProgress.vue';
111
109
  import DEFAULT_PAYLOAD from './default-payload.json';
112
110
  import { DebouncedFunc } from 'lodash-es';
113
111
  import { decorate } from '@/services/decorate';
@@ -124,7 +122,6 @@ export default defineComponent({
124
122
  MButton,
125
123
  MLink,
126
124
  MTextInput,
127
- MPbProgress,
128
125
  },
129
126
 
130
127
  props: {
@@ -414,8 +411,13 @@ $responsive-breakpoint: 'm';
414
411
  flex-direction: column;
415
412
  flex-grow: 1;
416
413
  margin: 0 auto;
417
- position: relative;
418
- width: calc(100% - #{$mu050} - #{$mu050});
414
+ width: calc(100% - #{$mu250});
415
+ padding-top: $mu200;
416
+
417
+ @include set-from-screen($responsive-breakpoint) {
418
+ width: calc(100% - #{$mu050} - #{$mu050});
419
+ padding-top: 0;
420
+ }
419
421
 
420
422
  &__back-button-container {
421
423
  position: absolute;
@@ -451,13 +453,16 @@ $responsive-breakpoint: 'm';
451
453
  flex-direction: column;
452
454
  flex-grow: 1;
453
455
  max-width: 100%;
454
- width: 591px;
455
- margin-top: $mu250;
456
+ width: 100%;
457
+
458
+ @include set-from-screen($responsive-breakpoint) {
459
+ width: 565px;
460
+ }
456
461
  }
457
462
 
458
463
  &__title {
459
464
  @include set-font-face('semi-bold');
460
- @include set-font-scale('07', 's');
465
+ @include set-font-scale('06', 's');
461
466
 
462
467
  max-width: 100%;
463
468
  padding: 0 0 $mu100 0;
@@ -3,6 +3,7 @@
3
3
  "hero": "The question hero",
4
4
  "label": "The question title",
5
5
  "subtitle": "The question subtitle",
6
+ "forceOneCardPerLineOnMobile": true,
6
7
  "answersComponent": "PbCard",
7
8
  "videoBlock": {
8
9
  "buttonLabel": "Voir le guide en vidéo (1min)",
@@ -18,8 +18,6 @@
18
18
  ref="pbDimensionsInputFormContainerObserver"
19
19
  @submit.prevent="handleFormSubmit"
20
20
  >
21
- <m-pb-progress :min="0" :max="20" class="pb-incremental-amount-input__progress"></m-pb-progress>
22
-
23
21
  <div class="pb-incremental-amount-input__title">
24
22
  {{ computedPayload.viewModel.label }}
25
23
  </div>
@@ -60,7 +58,6 @@ import { ScenarioStepAnswer } from '@/types/pb/Scenario';
60
58
  import { decorate } from '@/services/decorate';
61
59
  import MQuantitySelector from '../../../mozaic/quantityselector/MQuantitySelector.vue';
62
60
  import { IncrementalAmountPayload } from '@/components/question/incremental-amount-input/IncrementalAmount';
63
- import MPbProgress from '../../ui/progress/MPbProgress.vue';
64
61
 
65
62
  const BACK_ICON =
66
63
  'https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -101,7 +98,6 @@ export default defineComponent({
101
98
  MLink,
102
99
  MButton,
103
100
  MQuantitySelector,
104
- MPbProgress,
105
101
  },
106
102
 
107
103
  props: {
@@ -217,12 +213,20 @@ $responsive-breakpoint: 'm';
217
213
  flex-grow: 1;
218
214
  margin: 0 auto;
219
215
  width: calc(100% - #{$mu050} - #{$mu050});
216
+ padding-top: $mu200;
217
+
218
+ @include set-from-screen($responsive-breakpoint) {
219
+ padding-top: 0;
220
+ }
220
221
 
221
222
  &__back-button-container {
222
223
  align-self: flex-start;
223
224
  }
224
225
 
225
226
  &__back-button {
227
+ position: absolute;
228
+ top: 0;
229
+ left: 0;
226
230
  opacity: 1;
227
231
  padding: $mu100 0 $mu100 $mu025;
228
232
  transition: opacity 0.15s 0.5s;
@@ -276,10 +280,10 @@ $responsive-breakpoint: 'm';
276
280
  display: flex;
277
281
  flex-direction: column;
278
282
  flex-grow: 1;
283
+ padding: 0 $mu050;
279
284
 
280
285
  @include set-from-screen($responsive-breakpoint) {
281
- // width: calc(100% - #{$mu050} - #{$mu050});
282
- width: 591px;
286
+ width: 565px;
283
287
  }
284
288
  }
285
289
 
@@ -291,7 +295,7 @@ $responsive-breakpoint: 'm';
291
295
 
292
296
  &__title {
293
297
  @include set-font-face('semi-bold');
294
- @include set-font-scale('07', 's');
298
+ @include set-font-scale('06', 's');
295
299
 
296
300
  margin-bottom: 10px;
297
301
  max-width: 100%;
@@ -74,6 +74,13 @@ const props = defineProps({
74
74
  $responsive-breakpoint: 'm';
75
75
 
76
76
  .progress-step {
77
+ width: calc(100% - 2.5rem);
78
+ margin: 0 auto;
79
+
80
+ @include set-from-screen($responsive-breakpoint) {
81
+ width: 100%;
82
+ }
83
+
77
84
  &__number {
78
85
  color: $color-primary-01-500;
79
86
  @include set-font-face('semi-bold');
@@ -16,16 +16,34 @@
16
16
  "FLOOR_INSULATION": {
17
17
  "code": "FLOOR_INSULATION",
18
18
  "type": "SCENARIO",
19
- "stepCode": "LMFR_FLOOR_INSULATION_QUESTION_SITUATION"
19
+ "stepCode": "LMFR_FLOOR_INSULATION_DISPLAY_PRODUCT"
20
20
  },
21
21
 
22
+ "LMFR_FLOOR_INSULATION_DISPLAY_PRODUCT": {
23
+ "code": "LMFR_FLOOR_INSULATION_DISPLAY_PRODUCT",
24
+ "type": "STEP",
25
+ "component": "MPbProducts",
26
+ "payload": {
27
+ "viewModel": {
28
+ "label": "Estimer vos aides pour votre projet",
29
+ "defaultProduct": {
30
+ "designation": "Isolation du sol de votre rez-de-chaussée"
31
+ }
32
+ },
33
+ "callToActions": [
34
+ {
35
+ "type": "button",
36
+ "label": "Commencer",
37
+ "action": {
38
+ "type": "STEP",
39
+ "code": "LMFR_FLOOR_INSULATION_QUESTION_SITUATION"
40
+ },
41
+ "bordered": false
42
+ }
43
+ ]
44
+ }
45
+ },
22
46
  "LMFR_FLOOR_INSULATION_QUESTION_SITUATION": {
23
- "slots": {
24
- "beforeContent": {
25
- "display": true,
26
- "component": "MPbProgress"
27
- }
28
- },
29
47
  "code": "LMFR_FLOOR_INSULATION_QUESTION_SITUATION",
30
48
  "type": "STEP",
31
49
  "component": "MPbQuestion",
@@ -34,26 +52,27 @@
34
52
  "label": "Dans ce logement, vous êtes ?",
35
53
  "answersComponent": "MPbCard",
36
54
  "progressBar": true,
37
- "widthFromL": true
55
+ "widthFromL": true,
56
+ "forceOneCardPerLineOnMobile": true
38
57
  },
39
58
  "answers": {
40
59
  "OWNER": {
41
60
  "code": "OWNER",
42
61
  "viewModel": {
43
62
  "title": "Propriétaire"
44
- },
45
- "notification": {
46
- "type": "warning",
47
- "title": "Le calcul des aides se base sur les revenus de votre propriétaire La plupart des aides sont destinées aux propriétaires.",
48
- "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c’est lui qui pourra monter le dossier d’obtention des aides pour votre projet.",
49
- "buttonText": "Voir d’autres solutions pour faire des économies de chauffage",
50
- "buttonHref": "https://google.fr/"
51
63
  }
52
64
  },
53
65
  "LESSEE": {
54
66
  "code": "LESSEE",
55
67
  "viewModel": {
56
68
  "title": "Locataire"
69
+ },
70
+ "notification": {
71
+ "type": "warning",
72
+ "title": "Le calcul des aides se base sur les revenus de votre propriétaire La plupart des aides sont destinées aux propriétaires.",
73
+ "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c'est lui qui pourra monter le dossier d'obtention des aides pour votre projet.",
74
+ "buttonText": "Voir d'autres solutions pour faire des économies de chauffage",
75
+ "buttonHref": "https://google.fr/"
57
76
  }
58
77
  }
59
78
  }
@@ -65,48 +84,16 @@
65
84
  "nextStep": {
66
85
  "code": "LMFR_FLOOR_INSULATION_QUESTION_HOUSING_TYPE"
67
86
  }
68
- },
69
- {
70
- "conditions": ["isAnswerMatching('LMFR_FLOOR_INSULATION_QUESTION_SITUATION', 'LESSEE')"],
71
- "nextStep": {
72
- "code": "LMFR_FLOOR_INSULATION_DISPLAY_WARNING_FOR_LESSEE"
73
- }
74
- }
75
- ]
76
- }
77
- },
78
- "LMFR_FLOOR_INSULATION_DISPLAY_WARNING_FOR_LESSEE": {
79
- "code": "LMFR_FLOOR_INSULATION_DISPLAY_WARNING_FOR_LESSEE",
80
- "type": "STEP",
81
- "component": "PbWarningMessage",
82
- "payload": {
83
- "viewModel": {
84
- "actionLabel": "Terminer",
85
- "backLabel": "Question précédente",
86
- "label": "Vous êtes locataire",
87
- "subtitle": "Le calcul des aides se base sur les revenus de votre propriétaire. La plupart des aides sont destinées aux propriétaires.",
88
- "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c’est lui qui pourra monter le dossier d’obtention des aides pour votre projet."
89
- },
90
- "callToActions": [
91
- {
92
- "type": "button",
93
- "label": "Ok, poursuivre l'estimation",
94
- "action": {
95
- "type": "STEP",
96
- "code": "LMFR_FLOOR_INSULATION_QUESTION_HOUSING_TYPE"
97
- },
98
- "bordered": false
99
- },
100
- {
101
- "type": "button",
102
- "label": "Quitter l'estimation",
103
- "action": {
104
- "type": "STEP",
105
- "code": "LMFR_FLOOR_INSULATION_ADVICE_FOR_LESSEE"
106
- },
107
- "bordered": true
108
87
  }
109
88
  ]
89
+ },
90
+ "slots": {
91
+ "beforeContent": {
92
+ "display": true,
93
+ "component": "MPbProgress",
94
+ "totalStep": 11,
95
+ "currentStep": 1
96
+ }
110
97
  }
111
98
  },
112
99
  "LMFR_FLOOR_INSULATION_QUESTION_HOUSING_TYPE": {
@@ -118,7 +105,8 @@
118
105
  "label": "Dans quel type de logement habitez-vous ?",
119
106
  "answersComponent": "MPbCard",
120
107
  "progressBar": true,
121
- "widthFromL": true
108
+ "widthFromL": true,
109
+ "forceOneCardPerLineOnMobile": true
122
110
  },
123
111
  "answers": {
124
112
  "HOUSE": {
@@ -132,26 +120,20 @@
132
120
  "code": "APARTMENT",
133
121
  "viewModel": {
134
122
  "title": "Un appartement",
135
- "image": "https://storage.googleapis.com/project-booster-media/energyrenovation/apartement.jpg",
136
- "notification": {
137
- "type": "warning",
138
- "title": "Le calcul des aides se base sur les revenus de votre propriétaire La plupart des aides sont destinées aux propriétaires.",
139
- "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c’est lui qui pourra monter le dossier d’obtention des aides pour votre projet.",
140
- "buttonText": "Voir d’autres solutions pour faire des économies de chauffage",
141
- "buttonHref": "https://google.fr/"
142
- }
123
+ "image": "https://storage.googleapis.com/project-booster-media/energyrenovation/apartement.jpg"
124
+ },
125
+ "notification": {
126
+ "type": "warning",
127
+ "title": "Le calcul des aides se base sur les revenus de votre propriétaire La plupart des aides sont destinées aux propriétaires.",
128
+ "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c'est lui qui pourra monter le dossier d'obtention des aides pour votre projet.",
129
+ "buttonText": "Voir d'autres solutions pour faire des économies de chauffage",
130
+ "buttonHref": "https://google.fr/"
143
131
  }
144
132
  }
145
133
  }
146
134
  },
147
135
  "nextStep": {
148
136
  "conditionals": [
149
- {
150
- "conditions": ["isAnswerMatching('LMFR_FLOOR_INSULATION_QUESTION_HOUSING_TYPE', 'APARTMENT')"],
151
- "nextStep": {
152
- "code": "LMFR_FLOOR_INSULATION_DISPLAY_WARNING_FOR_APARTMENT"
153
- }
154
- },
155
137
  {
156
138
  "conditions": ["isAnswerMatching('LMFR_FLOOR_INSULATION_QUESTION_HOUSING_TYPE', 'HOUSE')"],
157
139
  "nextStep": {
@@ -164,55 +146,11 @@
164
146
  "beforeContent": {
165
147
  "display": true,
166
148
  "component": "MPbProgress",
167
- "totalStep": 14,
149
+ "totalStep": 11,
168
150
  "currentStep": 2
169
151
  }
170
152
  }
171
153
  },
172
- "LMFR_FLOOR_INSULATION_DISPLAY_WARNING_FOR_APARTMENT": {
173
- "code": "LMFR_FLOOR_INSULATION_DISPLAY_WARNING_FOR_APARTMENT",
174
- "type": "STEP",
175
- "component": "PbWarningMessage",
176
- "payload": {
177
- "viewModel": {
178
- "actionLabel": "Terminer",
179
- "backLabel": "Question précédente",
180
- "label": "Vos travaux dans un appartement",
181
- "subtitle": "Nous attirons votre attention !",
182
- "content": "Faire des travaux d’isolation dans un appartement nécessite certaines précautions.",
183
- "explainLink": {
184
- "type": "link",
185
- "label": "Voir les précautions pour isoler son appartement",
186
- "action": {
187
- "viewModelDialog": {
188
- "headerTitle": "Avant d’isoler votre appartement, voici quelques précautions à prendre :",
189
- "contentHtml": "<ul><li>Informez-vous sur les modes d'isolation possible pour votre sol.</li><li>Informez la copropriété de votre projet, et notamment du bruit que peuvent générer les travaux.</li></ul>"
190
- }
191
- }
192
- }
193
- },
194
- "callToActions": [
195
- {
196
- "type": "button",
197
- "label": "Ok, poursuivre l'estimation",
198
- "action": {
199
- "type": "STEP",
200
- "code": "LMFR_FLOOR_INSULATION_QUESTION_CONSTRUCTION_AGE"
201
- },
202
- "bordered": false
203
- },
204
- {
205
- "type": "button",
206
- "label": "Quitter l'estimation",
207
- "action": {
208
- "type": "STEP",
209
- "code": "LMFR_FLOOR_INSULATION_ADVICE"
210
- },
211
- "bordered": true
212
- }
213
- ]
214
- }
215
- },
216
154
  "LMFR_FLOOR_INSULATION_QUESTION_CONSTRUCTION_AGE": {
217
155
  "code": "LMFR_FLOOR_INSULATION_QUESTION_CONSTRUCTION_AGE",
218
156
  "type": "STEP",
@@ -222,7 +160,8 @@
222
160
  "label": "De quand date votre logement ?",
223
161
  "answersComponent": "MPbCard",
224
162
  "progressBar": true,
225
- "widthFromL": true
163
+ "widthFromL": true,
164
+ "forceOneCardPerLineOnMobile": true
226
165
  },
227
166
  "answers": {
228
167
  "NEW": {
@@ -252,7 +191,9 @@
252
191
  "slots": {
253
192
  "beforeContent": {
254
193
  "display": true,
255
- "component": "MPbProgress"
194
+ "component": "MPbProgress",
195
+ "totalStep": 11,
196
+ "currentStep": 3
256
197
  }
257
198
  }
258
199
  },
@@ -265,7 +206,8 @@
265
206
  "label": "Quel est le type de résidence ?",
266
207
  "answersComponent": "MPbCard",
267
208
  "progressBar": true,
268
- "widthFromL": true
209
+ "widthFromL": true,
210
+ "forceOneCardPerLineOnMobile": true
269
211
  },
270
212
  "answers": {
271
213
  "MAIN": {
@@ -294,7 +236,9 @@
294
236
  "slots": {
295
237
  "beforeContent": {
296
238
  "display": true,
297
- "component": "MPbProgress"
239
+ "component": "MPbProgress",
240
+ "totalStep": 11,
241
+ "currentStep": 4
298
242
  }
299
243
  }
300
244
  },
@@ -315,12 +259,19 @@
315
259
  "backLabel": "Question précédente",
316
260
  "label": "Dans quelle ville aura lieu les travaux ?",
317
261
  "placeholder": "Code postal, Ville",
318
- "image": "https://storage.googleapis.com/project-booster-media/new-house/Estimation%20Construction%20Neuve%20-%20Localisation.png",
319
262
  "actionLabel": "Continuer"
320
263
  }
321
264
  },
322
265
  "nextStep": {
323
266
  "code": "LMFR_FLOOR_INSULATION_QUESTION_INHABITANTS_COUNT"
267
+ },
268
+ "slots": {
269
+ "beforeContent": {
270
+ "display": true,
271
+ "component": "MPbProgress",
272
+ "totalStep": 11,
273
+ "currentStep": 5
274
+ }
324
275
  }
325
276
  },
326
277
  "LMFR_FLOOR_INSULATION_QUESTION_INHABITANTS_COUNT": {
@@ -348,7 +299,9 @@
348
299
  "slots": {
349
300
  "beforeContent": {
350
301
  "display": true,
351
- "component": "MPbProgress"
302
+ "component": "MPbProgress",
303
+ "totalStep": 11,
304
+ "currentStep": 6
352
305
  }
353
306
  }
354
307
  },
@@ -362,7 +315,8 @@
362
315
  "subtitle": "Le revenu fiscal de référence du foyer concerne la somme des revenus des conjoints. Cette information est utile pour le calcul des aides.",
363
316
  "answersComponent": "MPbCard",
364
317
  "progressBar": true,
365
- "widthFromL": true
318
+ "widthFromL": true,
319
+ "forceOneCardPerLineOnMobile": true
366
320
  },
367
321
  "answers": {
368
322
  "LOW_IDF_1": {
@@ -1983,19 +1937,29 @@
1983
1937
  },
1984
1938
  "nextStep": {
1985
1939
  "code": "LMFR_FLOOR_INSULATION_QUESTION_SURFACE_AREA"
1940
+ },
1941
+ "slots": {
1942
+ "beforeContent": {
1943
+ "display": true,
1944
+ "component": "MPbProgress",
1945
+ "totalStep": 11,
1946
+ "currentStep": 7
1947
+ }
1986
1948
  }
1987
1949
  },
1988
1950
  "LMFR_FLOOR_INSULATION_QUESTION_SURFACE_AREA": {
1989
1951
  "code": "LMFR_FLOOR_INSULATION_QUESTION_SURFACE_AREA",
1990
1952
  "type": "STEP",
1991
- "component": "MPbSpaceInput",
1953
+ "component": "PbSpaceInput",
1992
1954
  "slots": {
1993
1955
  "stickyBottom": {
1994
- "display": false
1995
- },
1996
- "beforeContent": {
1997
- "display": true,
1998
- "component": "MPbProgress"
1956
+ "display": false,
1957
+ "beforeContent": {
1958
+ "display": true,
1959
+ "component": "MPbProgress",
1960
+ "totalStep": 11,
1961
+ "currentStep": 8
1962
+ }
1999
1963
  }
2000
1964
  },
2001
1965
  "payload": {
@@ -2026,9 +1990,7 @@
2026
1990
  "type": "MODAL",
2027
1991
  "dialogViewModel": {
2028
1992
  "headerTitle": "Pour calculer la surface de vos planchers bas à isoler c'est facile.",
2029
- "htmlContent": "<p>Vous devrez simplement connaître la longueur et la largeur au sol de votre cave, garage ou sous sol à isoler. Il suffit ensuite de multiplier la longueur par la largeur de la façon suivante :<br/><b>Surface de la pièce à isoler = Longueur x Largeur</b></p>",
2030
- "linkText": "Accéder à mon espace impot.gouv",
2031
- "hrefLink": "https://www.impot.gouv"
1993
+ "htmlContent": "<p>Vous devrez simplement connaître la longueur et la largeur au sol de votre cave, garage ou sous sol à isoler. Il suffit ensuite de multiplier la longueur par la largeur de la façon suivante :<br/><b>Surface de la pièce à isoler = Longueur x Largeur</b></p>"
2032
1994
  }
2033
1995
  }
2034
1996
  }
@@ -2046,8 +2008,7 @@
2046
2008
  "viewModel": {
2047
2009
  "label": "Quelles pièces souhaitez-vous isoler ?",
2048
2010
  "answersComponent": "MPbCard",
2049
- "progressBar": true,
2050
- "widthFromL": true
2011
+ "forceOneCardPerLineOnMobile": true
2051
2012
  },
2052
2013
  "answers": {
2053
2014
  "CELLAR": {
@@ -2079,7 +2040,9 @@
2079
2040
  "slots": {
2080
2041
  "beforeContent": {
2081
2042
  "display": true,
2082
- "component": "MPbProgress"
2043
+ "component": "MPbProgress",
2044
+ "totalStep": 11,
2045
+ "currentStep": 9
2083
2046
  }
2084
2047
  }
2085
2048
  },
@@ -2087,13 +2050,12 @@
2087
2050
  "LMFR_FLOOR_INSULATION_ADVICE": {
2088
2051
  "code": "LMFR_FLOOR_INSULATION_ADVICE",
2089
2052
  "type": "STEP",
2090
- "component": "PbQuestion",
2053
+ "component": "MPbQuestion",
2091
2054
  "payload": {
2092
2055
  "viewModel": {
2093
2056
  "label": "Pour aller plus loin dans votre projet",
2094
2057
  "answersComponent": "MPbCard",
2095
- "progressBar": true,
2096
- "widthFromL": true
2058
+ "forceOneCardPerLineOnMobile": true
2097
2059
  },
2098
2060
  "answers": {
2099
2061
  "DISCOVER_OUR_HEATERS": {
@@ -2113,18 +2075,25 @@
2113
2075
  }
2114
2076
  }
2115
2077
  }
2078
+ },
2079
+ "slots": {
2080
+ "beforeContent": {
2081
+ "display": true,
2082
+ "component": "MPbProgress",
2083
+ "totalStep": 11,
2084
+ "currentStep": 10
2085
+ }
2116
2086
  }
2117
2087
  },
2118
2088
  "LMFR_FLOOR_INSULATION_ADVICE_FOR_LESSEE": {
2119
2089
  "code": "LMFR_FLOOR_INSULATION_ADVICE_FOR_LESSEE",
2120
2090
  "type": "STEP",
2121
- "component": "PbQuestion",
2091
+ "component": "MPbQuestion",
2122
2092
  "payload": {
2123
2093
  "viewModel": {
2124
2094
  "label": "Pour aller plus loin dans votre projet",
2125
2095
  "answersComponent": "MPbCard",
2126
- "progressBar": true,
2127
- "widthFromL": true
2096
+ "forceOneCardPerLineOnMobile": true
2128
2097
  },
2129
2098
  "answers": {
2130
2099
  "DISCOVER_OUR_HEATERS": {
@@ -2152,6 +2121,14 @@
2152
2121
  }
2153
2122
  }
2154
2123
  }
2124
+ },
2125
+ "slots": {
2126
+ "beforeContent": {
2127
+ "display": true,
2128
+ "component": "MPbProgress",
2129
+ "totalStep": 11,
2130
+ "currentStep": 11
2131
+ }
2155
2132
  }
2156
2133
  },
2157
2134
 
@@ -2243,11 +2220,11 @@
2243
2220
  "LMFR_FLOOR_INSULATION_QUESTION_CONTACT": {
2244
2221
  "code": "LMFR_FLOOR_INSULATION_QUESTION_CONTACT",
2245
2222
  "type": "STEP",
2246
- "component": "PbQuestion",
2223
+ "component": "MPbQuestion",
2247
2224
  "payload": {
2248
2225
  "viewModel": {
2249
2226
  "label": "Vous souhaitez être rappelé pour :",
2250
- "answersComponent": "PbCard"
2227
+ "answersComponent": "MPbCard"
2251
2228
  },
2252
2229
  "answers": {
2253
2230
  "PHONE_CALL": {
@@ -2367,7 +2344,22 @@
2367
2344
  "label": "Envoyer",
2368
2345
  "action": {
2369
2346
  "type": "STEP",
2370
- "code": "LMFR_FLOOR_INSULATION_LEAD_CREATED"
2347
+ "conditionals": [
2348
+ {
2349
+ "conditions": [
2350
+ "isAnswerValue('LMFR_FLOOR_INSULATION_LEAD_FORM', 'status', 'LEAD_CREATED_SUCCESSFULLY')"
2351
+ ],
2352
+ "nextStep": {
2353
+ "code": "LMFR_FLOOR_INSULATION_LEAD_CREATED"
2354
+ }
2355
+ },
2356
+ {
2357
+ "conditions": ["true"],
2358
+ "nextStep": {
2359
+ "code": "LMFR_FLOOR_INSULATION_LEAD_CREATION_FAILED"
2360
+ }
2361
+ }
2362
+ ]
2371
2363
  },
2372
2364
  "bordered": false
2373
2365
  }
@@ -2379,7 +2371,6 @@
2379
2371
  "type": "STEP",
2380
2372
  "component": "PbPedagogy",
2381
2373
  "payload": {
2382
- "code": "LMFR_FLOOR_INSULATION_LEAD_CREATED",
2383
2374
  "viewModel": {
2384
2375
  "title": "Merci, votre demande a été prise en compte",
2385
2376
  "icon": "https://storage.googleapis.com/project-booster-media/vad/fin-de-parcours/check_80.svg",
@@ -2390,23 +2381,55 @@
2390
2381
  }
2391
2382
  ]
2392
2383
  },
2393
- "multiSelect": {
2394
- "actions": {
2395
- "VALIDATE": {
2396
- "isAnswer": false,
2397
- "label": "Retourner à l’estimation",
2398
- "nextStep": {
2399
- "code": "SUMMARY"
2400
- }
2384
+ "callToActions": [
2385
+ {
2386
+ "isAnswer": false,
2387
+ "label": "Retourner à l’estimation",
2388
+ "nextStep": {
2389
+ "code": "SUMMARY"
2401
2390
  }
2402
2391
  }
2403
- }
2392
+ ]
2393
+ }
2394
+ },
2395
+ "LMFR_FLOOR_INSULATION_LEAD_CREATION_FAILED": {
2396
+ "code": "LMFR_FLOOR_INSULATION_LEAD_CREATION_FAILED",
2397
+ "type": "STEP",
2398
+ "component": "PbPedagogy",
2399
+ "payload": {
2400
+ "viewModel": {
2401
+ "title": "Désolé, votre région n'est pas prise en charge pour le moment",
2402
+ "description": [
2403
+ {
2404
+ "label": "Veuillez vous rendre dans votre magasin Leroy Merlin le plus proche",
2405
+ "icon": "https://storage.googleapis.com/project-booster-media/vad/fin-de-parcours/picto_plan_pour-espace-projet-compte.png"
2406
+ }
2407
+ ]
2408
+ },
2409
+ "callToActions": [
2410
+ {
2411
+ "isAnswer": false,
2412
+ "label": "Retourner à l’estimation",
2413
+ "bordered": false,
2414
+ "nextStep": {
2415
+ "code": "SUMMARY"
2416
+ }
2417
+ },
2418
+ {
2419
+ "isAnswer": false,
2420
+ "label": "Quitter l'estimation",
2421
+ "bordered": true,
2422
+ "nextStep": {
2423
+ "code": "LMFR_FLOOR_INSULATION_ADVICE"
2424
+ }
2425
+ }
2426
+ ]
2404
2427
  }
2405
2428
  },
2406
2429
  "__END__": {
2407
2430
  "code": "__END__",
2408
2431
  "type": "END",
2409
- "component": "PbQuestion",
2432
+ "component": "MPbQuestion",
2410
2433
  "payload": {
2411
2434
  "viewModel": {
2412
2435
  "label": "End"
@@ -16,8 +16,9 @@
16
16
  "PELLET_BOILER": {
17
17
  "code": "PELLET_BOILER",
18
18
  "type": "SCENARIO",
19
- "stepCode": "LMFR_PELLET_BOILER_QUESTION_INCOME"
19
+ "stepCode": "LMFR_PELLET_BOILER_DISPLAY_PRODUCT"
20
20
  },
21
+
21
22
  "LMFR_PELLET_BOILER_DISPLAY_PRODUCT": {
22
23
  "code": "LMFR_PELLET_BOILER_DISPLAY_PRODUCT",
23
24
  "type": "STEP",
@@ -51,7 +52,8 @@
51
52
  "label": "Dans ce logement, vous êtes ?",
52
53
  "answersComponent": "MPbCard",
53
54
  "progressBar": true,
54
- "widthFromL": true
55
+ "widthFromL": true,
56
+ "forceOneCardPerLineOnMobile": true
55
57
  },
56
58
  "answers": {
57
59
  "OWNER": {
@@ -64,6 +66,13 @@
64
66
  "code": "LESSEE",
65
67
  "viewModel": {
66
68
  "title": "Locataire"
69
+ },
70
+ "notification": {
71
+ "type": "warning",
72
+ "title": "Le calcul des aides se base sur les revenus de votre propriétaire La plupart des aides sont destinées aux propriétaires.",
73
+ "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c’est lui qui pourra monter le dossier d’obtention des aides pour votre projet.",
74
+ "buttonText": "Voir d’autres solutions pour faire des économies de chauffage",
75
+ "buttonHref": "https://google.fr/"
67
76
  }
68
77
  }
69
78
  }
@@ -75,48 +84,16 @@
75
84
  "nextStep": {
76
85
  "code": "LMFR_PELLET_BOILER_QUESTION_HOUSING_TYPE"
77
86
  }
78
- },
79
- {
80
- "conditions": ["isAnswerMatching('LMFR_PELLET_BOILER_QUESTION_SITUATION', 'LESSEE')"],
81
- "nextStep": {
82
- "code": "LMFR_PELLET_BOILER_DISPLAY_WARNING_FOR_LESSEE"
83
- }
84
- }
85
- ]
86
- }
87
- },
88
- "LMFR_PELLET_BOILER_DISPLAY_WARNING_FOR_LESSEE": {
89
- "code": "LMFR_PELLET_BOILER_DISPLAY_WARNING_FOR_LESSEE",
90
- "type": "STEP",
91
- "component": "PbWarningMessage",
92
- "payload": {
93
- "viewModel": {
94
- "actionLabel": "Terminer",
95
- "backLabel": "Question précédente",
96
- "label": "Vous êtes locataire",
97
- "subtitle": "Le calcul des aides se base sur les revenus de votre propriétaire. La plupart des aides sont destinées aux propriétaires.",
98
- "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c’est lui qui pourra monter le dossier d’obtention des aides pour votre projet."
99
- },
100
- "callToActions": [
101
- {
102
- "type": "button",
103
- "label": "Ok, poursuivre l'estimation",
104
- "action": {
105
- "type": "STEP",
106
- "code": "LMFR_PELLET_BOILER_QUESTION_HOUSING_TYPE"
107
- },
108
- "bordered": false
109
- },
110
- {
111
- "type": "button",
112
- "label": "Quitter l'estimation",
113
- "action": {
114
- "type": "STEP",
115
- "code": "LMFR_PELLET_BOILER_ADVICE_FOR_LESSEE"
116
- },
117
- "bordered": true
118
87
  }
119
88
  ]
89
+ },
90
+ "slots": {
91
+ "beforeContent": {
92
+ "display": true,
93
+ "component": "MPbProgress",
94
+ "totalStep": 11,
95
+ "currentStep": 1
96
+ }
120
97
  }
121
98
  },
122
99
  "LMFR_PELLET_BOILER_QUESTION_HOUSING_TYPE": {
@@ -127,37 +104,36 @@
127
104
  "viewModel": {
128
105
  "label": "Dans quel type de logement habitez-vous ?",
129
106
  "answersComponent": "MPbCard",
130
- "widthFromL": true,
131
107
  "progressBar": true,
132
- "showNotification": false
108
+ "widthFromL": true,
109
+ "forceOneCardPerLineOnMobile": true
133
110
  },
134
111
  "answers": {
135
112
  "HOUSE": {
136
113
  "code": "HOUSE",
137
114
  "viewModel": {
138
- "title": "Maison",
139
- "image": "https://storage.googleapis.com/project-booster-media/energyrenovation/house.png",
140
- "cardMinRatio": "auto"
115
+ "title": "Une maison",
116
+ "image": "https://storage.googleapis.com/project-booster-media/energyrenovation/house.png"
141
117
  }
142
118
  },
143
119
  "APARTMENT": {
144
120
  "code": "APARTMENT",
145
121
  "viewModel": {
146
- "title": "Appartement",
147
- "image": "https://storage.googleapis.com/project-booster-media/energyrenovation/apartement.jpg",
148
- "cardMinRatio": "auto"
122
+ "title": "Un appartement",
123
+ "image": "https://storage.googleapis.com/project-booster-media/energyrenovation/apartement.jpg"
124
+ },
125
+ "notification": {
126
+ "type": "warning",
127
+ "title": "Le calcul des aides se base sur les revenus de votre propriétaire La plupart des aides sont destinées aux propriétaires.",
128
+ "content": "Nous vous conseillons donc de vous rapprocher de votre propriétaire, c'est lui qui pourra monter le dossier d'obtention des aides pour votre projet.",
129
+ "buttonText": "Voir d'autres solutions pour faire des économies de chauffage",
130
+ "buttonHref": "https://google.fr/"
149
131
  }
150
132
  }
151
133
  }
152
134
  },
153
135
  "nextStep": {
154
136
  "conditionals": [
155
- {
156
- "conditions": ["isAnswerMatching('LMFR_PELLET_BOILER_QUESTION_HOUSING_TYPE', 'APARTMENT')"],
157
- "nextStep": {
158
- "code": "LMFR_PELLET_BOILER_DISPLAY_WARNING_FOR_APARTMENT"
159
- }
160
- },
161
137
  {
162
138
  "conditions": ["isAnswerMatching('LMFR_PELLET_BOILER_QUESTION_HOUSING_TYPE', 'HOUSE')"],
163
139
  "nextStep": {
@@ -165,40 +141,14 @@
165
141
  }
166
142
  }
167
143
  ]
168
- }
169
- },
170
- "LMFR_PELLET_BOILER_DISPLAY_WARNING_FOR_APARTMENT": {
171
- "code": "LMFR_PELLET_BOILER_DISPLAY_WARNING_FOR_APARTMENT",
172
- "type": "STEP",
173
- "component": "PbWarningMessage",
174
- "payload": {
175
- "viewModel": {
176
- "actionLabel": "Terminer",
177
- "backLabel": "Question précédente",
178
- "label": "Vos travaux dans un appartement",
179
- "subtitle": "Nous attirons votre attention !",
180
- "content": "Nous ne realisons pas de projets de chaudière à pellet dans les appartements. Nous vous invitons à vous rapporcher de votre copropriété pour poursuivre les démarches."
181
- },
182
- "callToActions": [
183
- {
184
- "type": "button",
185
- "label": "Ok, poursuivre l'estimation",
186
- "action": {
187
- "type": "STEP",
188
- "code": "LMFR_PELLET_BOILER_QUESTION_CONSTRUCTION_AGE"
189
- },
190
- "bordered": false
191
- },
192
- {
193
- "type": "button",
194
- "label": "Quitter l'estimation",
195
- "action": {
196
- "type": "STEP",
197
- "code": "LMFR_PELLET_BOILER_ADVICE"
198
- },
199
- "bordered": true
200
- }
201
- ]
144
+ },
145
+ "slots": {
146
+ "beforeContent": {
147
+ "display": true,
148
+ "component": "MPbProgress",
149
+ "totalStep": 11,
150
+ "currentStep": 2
151
+ }
202
152
  }
203
153
  },
204
154
  "LMFR_PELLET_BOILER_QUESTION_CONSTRUCTION_AGE": {
@@ -209,15 +159,16 @@
209
159
  "viewModel": {
210
160
  "label": "De quand date votre logement ?",
211
161
  "answersComponent": "MPbCard",
212
- "widthFromL": true,
213
162
  "progressBar": true,
214
- "showNotification": false
163
+ "widthFromL": true,
164
+ "forceOneCardPerLineOnMobile": true
215
165
  },
216
166
  "answers": {
217
167
  "NEW": {
218
168
  "code": "NEW",
219
169
  "viewModel": {
220
- "title": "Moins de 2 ans"
170
+ "title": "Moins de 2 ans",
171
+ "text": "Si votre logement à moins de 2 ans, vous ne serez pas éligible aux aides"
221
172
  }
222
173
  },
223
174
  "RECENT": {
@@ -236,6 +187,14 @@
236
187
  },
237
188
  "nextStep": {
238
189
  "code": "LMFR_PELLET_BOILER_QUESTION_CONSTRUCTION_MAIN_RESIDENCE"
190
+ },
191
+ "slots": {
192
+ "beforeContent": {
193
+ "display": true,
194
+ "component": "MPbProgress",
195
+ "totalStep": 11,
196
+ "currentStep": 3
197
+ }
239
198
  }
240
199
  },
241
200
  "LMFR_PELLET_BOILER_QUESTION_CONSTRUCTION_MAIN_RESIDENCE": {
@@ -246,9 +205,9 @@
246
205
  "viewModel": {
247
206
  "label": "Quel est le type de résidence ?",
248
207
  "answersComponent": "MPbCard",
249
- "widthFromL": true,
250
208
  "progressBar": true,
251
- "showNotification": false
209
+ "widthFromL": true,
210
+ "forceOneCardPerLineOnMobile": true
252
211
  },
253
212
  "answers": {
254
213
  "MAIN": {
@@ -272,7 +231,15 @@
272
231
  }
273
232
  },
274
233
  "nextStep": {
275
- "code": "LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT"
234
+ "code": "LMFR_PELLET_BOILER_QUESTION_LOCATION"
235
+ },
236
+ "slots": {
237
+ "beforeContent": {
238
+ "display": true,
239
+ "component": "MPbProgress",
240
+ "totalStep": 11,
241
+ "currentStep": 4
242
+ }
276
243
  }
277
244
  },
278
245
  "LMFR_PELLET_BOILER_QUESTION_LOCATION": {
@@ -297,6 +264,14 @@
297
264
  },
298
265
  "nextStep": {
299
266
  "code": "LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT"
267
+ },
268
+ "slots": {
269
+ "beforeContent": {
270
+ "display": true,
271
+ "component": "MPbProgress",
272
+ "totalStep": 11,
273
+ "currentStep": 5
274
+ }
300
275
  }
301
276
  },
302
277
  "LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT": {
@@ -320,6 +295,14 @@
320
295
  },
321
296
  "nextStep": {
322
297
  "code": "LMFR_PELLET_BOILER_QUESTION_INCOME"
298
+ },
299
+ "slots": {
300
+ "beforeContent": {
301
+ "display": true,
302
+ "component": "MPbProgress",
303
+ "totalStep": 11,
304
+ "currentStep": 6
305
+ }
323
306
  }
324
307
  },
325
308
  "LMFR_PELLET_BOILER_QUESTION_INCOME": {
@@ -331,9 +314,9 @@
331
314
  "label": "Quel est votre revenu fiscal de référénce ?",
332
315
  "subtitle": "Le revenu fiscal de référence du foyer concerne la somme des revenus des conjoints. Cette information est utile pour le calcul des aides.",
333
316
  "answersComponent": "MPbCard",
334
- "widthFromL": true,
335
317
  "progressBar": true,
336
- "showNotification": false
318
+ "widthFromL": true,
319
+ "forceOneCardPerLineOnMobile": true
337
320
  },
338
321
  "answers": {
339
322
  "LOW_IDF_1": {
@@ -342,7 +325,8 @@
342
325
  "isAnswerValue('LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT', 'value', 1) && isAnswerValue('LMFR_PELLET_BOILER_QUESTION_LOCATION', 'city.region', 'IDF')"
343
326
  ],
344
327
  "viewModel": {
345
- "title": "0 - 20 593 €"
328
+ "title": "0 - 20 593 €",
329
+ "borderColor": "#0FB5FC"
346
330
  }
347
331
  },
348
332
  "MIDDLE_IDF_1": {
@@ -351,7 +335,8 @@
351
335
  "isAnswerValue('LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT', 'value', 1) && isAnswerValue('LMFR_PELLET_BOILER_QUESTION_LOCATION', 'city.region', 'IDF')"
352
336
  ],
353
337
  "viewModel": {
354
- "title": "20 593 - 25 068 €"
338
+ "title": "20 593 - 25 068 €",
339
+ "borderColor": "#FFDD2D"
355
340
  }
356
341
  },
357
342
  "HIGH_IDF_1": {
@@ -360,7 +345,8 @@
360
345
  "isAnswerValue('LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT', 'value', 1) && isAnswerValue('LMFR_PELLET_BOILER_QUESTION_LOCATION', 'city.region', 'IDF')"
361
346
  ],
362
347
  "viewModel": {
363
- "title": "25 068 - 38 184 €"
348
+ "title": "25 068 - 38 184 €",
349
+ "borderColor": "#B073FF"
364
350
  }
365
351
  },
366
352
  "VERY-HIGH_IDF_1": {
@@ -369,7 +355,8 @@
369
355
  "isAnswerValue('LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT', 'value', 1) && isAnswerValue('LMFR_PELLET_BOILER_QUESTION_LOCATION', 'city.region', 'IDF')"
370
356
  ],
371
357
  "viewModel": {
372
- "title": "Plus de 38 184 €"
358
+ "title": "Plus de 38 184 €",
359
+ "borderColor": "#FF8CF4"
373
360
  }
374
361
  },
375
362
  "LOW_IDF_2": {
@@ -378,7 +365,8 @@
378
365
  "isAnswerValue('LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT', 'value', 2) && isAnswerValue('LMFR_PELLET_BOILER_QUESTION_LOCATION', 'city.region', 'IDF')"
379
366
  ],
380
367
  "viewModel": {
381
- "title": "0 - 30 225 €"
368
+ "title": "0 - 30 225 €",
369
+ "borderColor": "#0FB5FC"
382
370
  }
383
371
  },
384
372
  "MIDDLE_IDF_2": {
@@ -387,7 +375,8 @@
387
375
  "isAnswerValue('LMFR_PELLET_BOILER_QUESTION_INHABITANTS_COUNT', 'value', 2) && isAnswerValue('LMFR_PELLET_BOILER_QUESTION_LOCATION', 'city.region', 'IDF')"
388
376
  ],
389
377
  "viewModel": {
390
- "title": "30 225 - 36 792 €"
378
+ "title": "30 225 - 36 792 €",
379
+ "borderColor": "#FFDD2D"
391
380
  }
392
381
  },
393
382
  "HIGH_IDF_2": {
@@ -1940,9 +1929,7 @@
1940
1929
  "viewModelDialog": {
1941
1930
  "headerTitle": "Ou trouver votre revenu fiscal de référence ?",
1942
1931
  "subTitle": "Pour trouver votre revenu fiscal de référence consultez votre dernière fiche d’imposition.",
1943
- "imgUrl": "https://storage.googleapis.com/project-booster-media/energyrenovation/reference_tax_income.png",
1944
- "linkText": "test",
1945
- "hrefLink": "https://storage.googleapis.com/project-booster-media/energyrenovation/reference_tax_income.png"
1932
+ "imgUrl": "https://storage.googleapis.com/project-booster-media/energyrenovation/reference_tax_income.png"
1946
1933
  }
1947
1934
  }
1948
1935
  }
@@ -1963,6 +1950,14 @@
1963
1950
  }
1964
1951
  }
1965
1952
  ]
1953
+ },
1954
+ "slots": {
1955
+ "beforeContent": {
1956
+ "display": true,
1957
+ "component": "MPbProgress",
1958
+ "totalStep": 11,
1959
+ "currentStep": 7
1960
+ }
1966
1961
  }
1967
1962
  },
1968
1963
  "LMFR_PELLET_BOILER_QUESTION_PRICE_RANGE": {
@@ -1972,7 +1967,10 @@
1972
1967
  "payload": {
1973
1968
  "viewModel": {
1974
1969
  "label": "Quelle gamme de prix pour votre chaudière à pellet ?",
1975
- "answersComponent": "PbCard"
1970
+ "answersComponent": "MPbCard",
1971
+ "progressBar": true,
1972
+ "widthFromL": true,
1973
+ "forceOneCardPerLineOnMobile": true
1976
1974
  },
1977
1975
  "answers": {
1978
1976
  "LOW": {
@@ -2000,6 +1998,14 @@
2000
1998
  },
2001
1999
  "nextStep": {
2002
2000
  "code": "LMFR_PELLET_BOILER_QUESTION_REPLACEMENT"
2001
+ },
2002
+ "slots": {
2003
+ "beforeContent": {
2004
+ "display": true,
2005
+ "component": "MPbProgress",
2006
+ "totalStep": 11,
2007
+ "currentStep": 8
2008
+ }
2003
2009
  }
2004
2010
  },
2005
2011
  "LMFR_PELLET_BOILER_QUESTION_REPLACEMENT": {
@@ -2010,9 +2016,9 @@
2010
2016
  "viewModel": {
2011
2017
  "label": "Quel type de chauffage souhaitez-vous remplacer par la chaudière à pellets ?",
2012
2018
  "answersComponent": "MPbCard",
2013
- "widthFromL": true,
2014
2019
  "progressBar": true,
2015
- "showNotification": false
2020
+ "widthFromL": true,
2021
+ "forceOneCardPerLineOnMobile": true
2016
2022
  },
2017
2023
  "answers": {
2018
2024
  "GAZ_HEATER": {
@@ -2094,6 +2100,14 @@
2094
2100
  }
2095
2101
  }
2096
2102
  ]
2103
+ },
2104
+ "slots": {
2105
+ "beforeContent": {
2106
+ "display": true,
2107
+ "component": "MPbProgress",
2108
+ "totalStep": 11,
2109
+ "currentStep": 9
2110
+ }
2097
2111
  }
2098
2112
  },
2099
2113
  "LMFR_PELLET_BOILER_QUESTION_INSTALLATION_TYPE": {
@@ -2104,9 +2118,9 @@
2104
2118
  "viewModel": {
2105
2119
  "label": "Quel est le type d’installation pour votre chaudière à pellet ?",
2106
2120
  "answersComponent": "MPbCard",
2107
- "widthFromL": true,
2108
2121
  "progressBar": true,
2109
- "showNotification": false
2122
+ "widthFromL": true,
2123
+ "forceOneCardPerLineOnMobile": true
2110
2124
  },
2111
2125
  "answers": {
2112
2126
  "INSTALL_AND_REPLACE_IN_SAME_PLACE": {
@@ -2143,6 +2157,14 @@
2143
2157
  },
2144
2158
  "nextStep": {
2145
2159
  "code": "SUMMARY"
2160
+ },
2161
+ "slots": {
2162
+ "beforeContent": {
2163
+ "display": true,
2164
+ "component": "MPbProgress",
2165
+ "totalStep": 11,
2166
+ "currentStep": 10
2167
+ }
2146
2168
  }
2147
2169
  },
2148
2170
 
@@ -2154,9 +2176,8 @@
2154
2176
  "viewModel": {
2155
2177
  "label": "Pour aller plus loin dans votre projet",
2156
2178
  "answersComponent": "MPbCard",
2157
- "widthFromL": true,
2158
2179
  "progressBar": true,
2159
- "showNotification": false
2180
+ "widthFromL": true
2160
2181
  },
2161
2182
  "answers": {
2162
2183
  "DISCOVER_OUR_HEATERS": {
@@ -2186,9 +2207,8 @@
2186
2207
  "viewModel": {
2187
2208
  "label": "Pour aller plus loin dans votre projet",
2188
2209
  "answersComponent": "MPbCard",
2189
- "widthFromL": true,
2190
2210
  "progressBar": true,
2191
- "showNotification": false
2211
+ "widthFromL": true
2192
2212
  },
2193
2213
  "answers": {
2194
2214
  "DISCOVER_OUR_HEATERS": {
@@ -2216,6 +2236,14 @@
2216
2236
  }
2217
2237
  }
2218
2238
  }
2239
+ },
2240
+ "slots": {
2241
+ "beforeContent": {
2242
+ "display": true,
2243
+ "component": "MPbProgress",
2244
+ "totalStep": 11,
2245
+ "currentStep": 11
2246
+ }
2219
2247
  }
2220
2248
  },
2221
2249
 
@@ -2311,7 +2339,7 @@
2311
2339
  "payload": {
2312
2340
  "viewModel": {
2313
2341
  "label": "Vous souhaitez être rappelé pour :",
2314
- "answersComponent": "PbCard"
2342
+ "answersComponent": "MPbCard"
2315
2343
  },
2316
2344
  "answers": {
2317
2345
  "PHONE_CALL": {
@@ -2425,7 +2453,20 @@
2425
2453
  "label": "Envoyer",
2426
2454
  "action": {
2427
2455
  "type": "STEP",
2428
- "code": "LMFR_PELLET_BOILER_LEAD_CREATED"
2456
+ "conditionals": [
2457
+ {
2458
+ "conditions": ["isAnswerValue('LMFR_PELLET_BOILER_LEAD_FORM', 'status', 'LEAD_CREATED_SUCCESSFULLY')"],
2459
+ "nextStep": {
2460
+ "code": "LMFR_PELLET_BOILER_LEAD_CREATED"
2461
+ }
2462
+ },
2463
+ {
2464
+ "conditions": ["true"],
2465
+ "nextStep": {
2466
+ "code": "LMFR_PELLET_BOILER_LEAD_CREATION_FAILED"
2467
+ }
2468
+ }
2469
+ ]
2429
2470
  },
2430
2471
  "bordered": false
2431
2472
  }
@@ -2437,7 +2478,6 @@
2437
2478
  "type": "STEP",
2438
2479
  "component": "PbPedagogy",
2439
2480
  "payload": {
2440
- "code": "LMFR_PELLET_BOILER_LEAD_CREATED",
2441
2481
  "viewModel": {
2442
2482
  "title": "Merci, votre demande a été prise en compte",
2443
2483
  "icon": "https://storage.googleapis.com/project-booster-media/vad/fin-de-parcours/check_80.svg",
@@ -2448,17 +2488,49 @@
2448
2488
  }
2449
2489
  ]
2450
2490
  },
2451
- "multiSelect": {
2452
- "actions": {
2453
- "VALIDATE": {
2454
- "isAnswer": false,
2455
- "label": "Retourner à l’estimation",
2456
- "nextStep": {
2457
- "code": "SUMMARY"
2458
- }
2491
+ "callToActions": [
2492
+ {
2493
+ "isAnswer": false,
2494
+ "label": "Retourner à l’estimation",
2495
+ "nextStep": {
2496
+ "code": "SUMMARY"
2459
2497
  }
2460
2498
  }
2461
- }
2499
+ ]
2500
+ }
2501
+ },
2502
+ "LMFR_PELLET_BOILER_LEAD_CREATION_FAILED": {
2503
+ "code": "LMFR_PELLET_BOILER_LEAD_CREATION_FAILED",
2504
+ "type": "STEP",
2505
+ "component": "PbPedagogy",
2506
+ "payload": {
2507
+ "viewModel": {
2508
+ "title": "Désolé, votre région n'est pas prise en charge pour le moment",
2509
+ "description": [
2510
+ {
2511
+ "label": "Veuillez vous rendre dans votre magasin Leroy Merlin le plus proche",
2512
+ "icon": "https://storage.googleapis.com/project-booster-media/vad/fin-de-parcours/picto_plan_pour-espace-projet-compte.png"
2513
+ }
2514
+ ]
2515
+ },
2516
+ "callToActions": [
2517
+ {
2518
+ "isAnswer": false,
2519
+ "label": "Retourner à l’estimation",
2520
+ "bordered": false,
2521
+ "nextStep": {
2522
+ "code": "SUMMARY"
2523
+ }
2524
+ },
2525
+ {
2526
+ "isAnswer": false,
2527
+ "label": "Quitter l'estimation",
2528
+ "bordered": true,
2529
+ "nextStep": {
2530
+ "code": "LMFR_PELLET_BOILER_ADVICE"
2531
+ }
2532
+ }
2533
+ ]
2462
2534
  }
2463
2535
  },
2464
2536
  "__END__": {