project-booster-vue 10.3.0 → 10.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/projects/project-attributes/PbProjectAttributes.vue +0 -4
- package/src/components/projects/project-hub/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-components-projects-pb-project-hub-/360/237/246/240-features-project-attributes-showcase-with-project-attributes-1-snap.png +0 -0
- package/src/components/rework/alert/MPbAlert.vue +17 -13
- package/src/components/rework/cards/MPbCards.vue +17 -8
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-align-horizontal-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-align-text-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-align-vertical-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-degradations-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-disabled-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-flag-theme-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-hero-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-image-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-image-ratio-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-image-title-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-min-card-ratio-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-selectable-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-selected-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-text-1-snap.png +0 -0
- package/src/components/rework/cards/__snapshots__/storyshots-puppeteer-test-puppeteer-ts-image-storyshots-project-booster-rework-cards-m-pb-card-/360/237/247/254-features-title-1-snap.png +0 -0
- package/src/components/rework/question/MPbQuestion.vue +11 -8
- package/src/components/rework/styles/global.scss +8 -0
- package/src/components/rework/types/genericPayload.ts +1 -0
- package/src/components/scenario/scenarii/appointment-qualification-bathroom.json +8 -7
package/package.json
CHANGED
|
@@ -105,10 +105,6 @@
|
|
|
105
105
|
|
|
106
106
|
<ul class="pb-project-attributes__works">
|
|
107
107
|
<template v-for="[attributeId, attribute] of displayedProjectAttributes" :key="attributeId">
|
|
108
|
-
<template v-if="attributeId === 'works'">
|
|
109
|
-
<li v-if="isArray(attribute.value)" v-for="value in JSON.parse(attribute.value)">{{ works[value] }}</li>
|
|
110
|
-
<li v-else>{{ works[attribute.value] }}</li>
|
|
111
|
-
</template>
|
|
112
108
|
<template v-if="attributeId === 'bathroomStyle'">
|
|
113
109
|
<li v-if="isArray(attribute.value)" v-for="value in JSON.parse(attribute.value)">
|
|
114
110
|
Style: {{ bathroomStyle[value] }}
|
|
@@ -103,11 +103,13 @@ const handleCloseModal = () => {
|
|
|
103
103
|
};
|
|
104
104
|
|
|
105
105
|
const handleShowModal = (option: any) => {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
if (props.payload.viewModel.analytics.funnel_name) {
|
|
107
|
+
sendAnalyticEvent(store, EventName.CLICK, {
|
|
108
|
+
button_name: option.viewModel.button.label || '',
|
|
109
|
+
button_location: props.payload.viewModel.analytics.funnel_name,
|
|
110
|
+
button_type: ButtonType.ACTION,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
111
113
|
|
|
112
114
|
if (option.viewModel.button.dialog) {
|
|
113
115
|
showModal.value = true;
|
|
@@ -123,17 +125,19 @@ const handleShowModal = (option: any) => {
|
|
|
123
125
|
* @param action
|
|
124
126
|
*/
|
|
125
127
|
const callAction = (button: PayloadAction) => {
|
|
126
|
-
|
|
127
|
-
button_name: button.label || '',
|
|
128
|
-
button_location: '',
|
|
129
|
-
button_type: ButtonType.ACTION,
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
if (button.code != '__BACK__') {
|
|
128
|
+
if (button.nextStep.code != '__BACK__') {
|
|
133
129
|
emit('step-completed', {
|
|
134
130
|
answers: null,
|
|
135
|
-
nextStep: button,
|
|
131
|
+
nextStep: button.code,
|
|
136
132
|
});
|
|
133
|
+
|
|
134
|
+
if (props.payload.viewModel.analytics.funnel_name) {
|
|
135
|
+
sendAnalyticEvent(store, EventName.CLICK, {
|
|
136
|
+
button_name: button.label || '',
|
|
137
|
+
button_location: props.payload.viewModel.analytics.funnel_name,
|
|
138
|
+
button_type: ButtonType.ACTION,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
137
141
|
} else {
|
|
138
142
|
emit('go-back');
|
|
139
143
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
disabled ? 'pb-card--disabled' : ''
|
|
6
6
|
}${flattened ? 'pb-card--no-pointer-events' : ''} ${
|
|
7
7
|
cardMinRatio && cardMinRatio !== 'auto' ? 'm-ratio-container--' + cardMinRatio : ''
|
|
8
|
-
}${borderTop ? 'pb-card--border-top' : ''} ${selected ? 'select' : ''}`"
|
|
8
|
+
}${borderTop ? 'pb-card--border-top' : ''} ${selected ? 'select' : ''} ${image ? '' : 'no-image'}`"
|
|
9
9
|
:role="!buttonLabel ? 'button' : 'article'"
|
|
10
10
|
:style="`min-height: ${cardMinHeight};`"
|
|
11
11
|
@click="handleCardClick"
|
|
@@ -354,10 +354,14 @@ $responsive-breakpoint: 's';
|
|
|
354
354
|
background-color: white;
|
|
355
355
|
overflow: hidden;
|
|
356
356
|
position: relative;
|
|
357
|
-
border:
|
|
357
|
+
border: 1px solid #bab6bc;
|
|
358
358
|
|
|
359
359
|
&.select {
|
|
360
|
-
|
|
360
|
+
box-shadow: 0 0 0 4px #ebf5de, inset 0 0 0 2px #46a610;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
&.no-image {
|
|
364
|
+
padding-right: $mu250;
|
|
361
365
|
}
|
|
362
366
|
|
|
363
367
|
&--border-top {
|
|
@@ -381,6 +385,16 @@ $responsive-breakpoint: 's';
|
|
|
381
385
|
}
|
|
382
386
|
}
|
|
383
387
|
|
|
388
|
+
&__image-container {
|
|
389
|
+
padding: $mu050 $mu050 0 $mu050;
|
|
390
|
+
position: relative;
|
|
391
|
+
width: 100%;
|
|
392
|
+
|
|
393
|
+
& > div {
|
|
394
|
+
border-radius: 5px;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
384
398
|
&__items-container:empty ~ &__image-container {
|
|
385
399
|
height: 100%;
|
|
386
400
|
|
|
@@ -407,11 +421,6 @@ $responsive-breakpoint: 's';
|
|
|
407
421
|
filter: grayscale(100%);
|
|
408
422
|
}
|
|
409
423
|
|
|
410
|
-
&-container {
|
|
411
|
-
position: relative;
|
|
412
|
-
width: 100%;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
424
|
&-title-container {
|
|
416
425
|
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 41%, rgba(0, 0, 0, 0.7));
|
|
417
426
|
background-position: center;
|
|
@@ -27,12 +27,14 @@
|
|
|
27
27
|
|
|
28
28
|
<m-flexy class="pb-question__answers-container-flexy">
|
|
29
29
|
<transition-group :class="`pb-question__answers`" :name="showMoreAnimation" tag="div">
|
|
30
|
-
<
|
|
30
|
+
<div
|
|
31
31
|
v-for="answer in displayedAnswers"
|
|
32
32
|
:key="`pb-question__answers-${answer.code}`"
|
|
33
|
-
:
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
:class="`
|
|
34
|
+
${payload.viewModel.forceOneCardPerLineOnMobile ? 'column-full' : 'column-1of3'}
|
|
35
|
+
${payload.viewModel.widthFromM ? 'column-' + payload.viewModel.widthFromM : 'column-1of3'}
|
|
36
|
+
${payload.viewModel.widthFromL ? 'column-' + payload.viewModel.widthFromL : 'column-1of4'}
|
|
37
|
+
`"
|
|
36
38
|
>
|
|
37
39
|
<div class="pb-question__answer">
|
|
38
40
|
<component
|
|
@@ -111,7 +113,7 @@
|
|
|
111
113
|
@click="selectAnswer(payload.code, answer)"
|
|
112
114
|
/>
|
|
113
115
|
</div>
|
|
114
|
-
</
|
|
116
|
+
</div>
|
|
115
117
|
</transition-group>
|
|
116
118
|
<m-flex v-if="showMoreButtonDisplayed" class="pb-question__show-more-container" justify-content="center">
|
|
117
119
|
<m-button
|
|
@@ -230,7 +232,7 @@
|
|
|
230
232
|
size-from-l="l"
|
|
231
233
|
icon="ArrowNext48"
|
|
232
234
|
iconPosition="right"
|
|
233
|
-
label="
|
|
235
|
+
label="Étape suivante"
|
|
234
236
|
@click="nextStepHandler"
|
|
235
237
|
:disabled="!hasAnswersSelected"
|
|
236
238
|
/>
|
|
@@ -1092,6 +1094,7 @@ $answers-apparition-duration: '0.5s';
|
|
|
1092
1094
|
margin: 0 auto;
|
|
1093
1095
|
max-width: 1024px;
|
|
1094
1096
|
width: 100%;
|
|
1097
|
+
padding: 0 $mu050;
|
|
1095
1098
|
|
|
1096
1099
|
&--centered {
|
|
1097
1100
|
@include set-from-screen($responsive-breakpoint) {
|
|
@@ -1117,7 +1120,7 @@ $answers-apparition-duration: '0.5s';
|
|
|
1117
1120
|
padding: $mu050;
|
|
1118
1121
|
|
|
1119
1122
|
@include set-from-screen($responsive-breakpoint) {
|
|
1120
|
-
padding: $
|
|
1123
|
+
padding: $mu050;
|
|
1121
1124
|
}
|
|
1122
1125
|
|
|
1123
1126
|
:deep(.pb-question__answer__component) {
|
|
@@ -1193,7 +1196,7 @@ $answers-apparition-duration: '0.5s';
|
|
|
1193
1196
|
}
|
|
1194
1197
|
|
|
1195
1198
|
&__sticky-footer {
|
|
1196
|
-
margin: 0 #{-$mu050};
|
|
1199
|
+
margin: $mu200 #{-$mu050} 0 #{-$mu050};
|
|
1197
1200
|
width: calc(100% + 2 * #{$mu050});
|
|
1198
1201
|
}
|
|
1199
1202
|
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"label": "Que souhaitez-vous installer ou remplacer dans votre salle de bains ?",
|
|
46
46
|
"answersComponent": "MPbCard",
|
|
47
47
|
"progressBar": true,
|
|
48
|
-
"widthFromL": "
|
|
48
|
+
"widthFromL": "auto",
|
|
49
49
|
"widthXlSize": true,
|
|
50
50
|
"hideBackButton": true,
|
|
51
51
|
"forceOneCardPerLineOnMobile": true,
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
"SHOWER": {
|
|
141
141
|
"code": "SHOWER",
|
|
142
142
|
"viewModel": {
|
|
143
|
-
"title": "Douche
|
|
143
|
+
"title": "Douche"
|
|
144
144
|
},
|
|
145
145
|
"meta": {
|
|
146
146
|
"ranking": 2
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"REPLACE_BATHTUB_TO_SHOWER": {
|
|
186
186
|
"code": "REPLACE_BATHTUB_TO_SHOWER",
|
|
187
187
|
"viewModel": {
|
|
188
|
-
"title": "Une douche à la
|
|
188
|
+
"title": "Une douche à la place d’une baignoire"
|
|
189
189
|
},
|
|
190
190
|
"meta": {
|
|
191
191
|
"ranking": 7
|
|
@@ -844,10 +844,11 @@
|
|
|
844
844
|
"progressBar": true,
|
|
845
845
|
"forceOneCardPerLineOnMobile": true,
|
|
846
846
|
"widthXlSize": true,
|
|
847
|
-
"widthFromL": "
|
|
847
|
+
"widthFromL": "auto",
|
|
848
848
|
"label": "Partagez votre plan de salle de bains",
|
|
849
849
|
"subtitle": "Le plan de votre salle de bains est indispensable en amont du RDV. Cela permettra à votre conseiller de préparer au mieux votre projet. Formats acceptés : .jpg .jpeg .pdf .png 56Go max."
|
|
850
850
|
},
|
|
851
|
+
|
|
851
852
|
"answers": {
|
|
852
853
|
"DOWNLOAD_PLAN": {
|
|
853
854
|
"code": "DOWNLOAD_PLAN",
|
|
@@ -1214,7 +1215,7 @@
|
|
|
1214
1215
|
"IN_MORE_THAN_SIX_MONTHS": {
|
|
1215
1216
|
"code": "IN_MORE_THAN_SIX_MONTHS",
|
|
1216
1217
|
"viewModel": {
|
|
1217
|
-
"title": "
|
|
1218
|
+
"title": "Dans plus de 6 mois"
|
|
1218
1219
|
},
|
|
1219
1220
|
"meta": {
|
|
1220
1221
|
"ranking": 2
|
|
@@ -1343,7 +1344,7 @@
|
|
|
1343
1344
|
"widthFromL": "1of3",
|
|
1344
1345
|
"widthXlSize": true,
|
|
1345
1346
|
"label": "Quel budget souhaitez-vous investir dans les travaux ?",
|
|
1346
|
-
"subtitle": "
|
|
1347
|
+
"subtitle": "Il s’agit du coût total de votre projet, y compris les frais de main d’oeuvre et le coût des matériaux. La main d’oeuvre représente pour plus de 60% du budget total."
|
|
1347
1348
|
},
|
|
1348
1349
|
"answers": {
|
|
1349
1350
|
"BETWEEN_5000_AND_7000_EUROS_BY_A_PROFESSIONAL": {
|
|
@@ -1385,7 +1386,7 @@
|
|
|
1385
1386
|
"code": "MORE_THAN_6000_EUROS",
|
|
1386
1387
|
"conditions": ["isAnswerContaining('LMFR_QUESTION_INSTALLATION', 'BY_MYSELF')"],
|
|
1387
1388
|
"viewModel": {
|
|
1388
|
-
"title": "Plus de
|
|
1389
|
+
"title": "Plus de 6 000€"
|
|
1389
1390
|
}
|
|
1390
1391
|
},
|
|
1391
1392
|
"BETWEEN_5000_AND_7000_EUROS_BY_A_LEROYMERLIN_PARTNER": {
|