Skip to content

Commit

Permalink
feat: block d'alert pour revenir plus tard en cas d'erreur d'envoi SM…
Browse files Browse the repository at this point in the history
…S/email + refacto en composant à part (#4744)
  • Loading branch information
Shamzic authored Dec 12, 2024
1 parent 35a813d commit 8722176
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 10 deletions.
14 changes: 14 additions & 0 deletions src/components/alert-revenir-plus-tard.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<template>
<div class="fr-alert fr-alert--info" role="alert">
<p>
Pour ne pas perdre les données que vous avez déclarées, vous pouvez
<router-link
:to="{ name: 'revenirPlusTard' }"
data-testid="come-back-later-link"
>sauvegarder votre simulation</router-link
>
ou garder cet onglet ouvert, puis actualiser la page une fois que le
problème sera résolu.
</p>
</div>
</template>
12 changes: 2 additions & 10 deletions src/components/error-block.vue
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,6 @@
en joignant si possible une capture d'écran. Nous vous répondrons au plus
vite et corrigerons le problème dès que possible.
</p>
<p>
Pour ne pas perdre les données que vous avez déclarées, vous pouvez
<router-link
:to="{ name: 'revenirPlusTard' }"
data-testid="come-back-later-link"
>sauvegarder votre simulation</router-link
>
ou garder cet onglet ouvert, puis actualiser la page une fois que le
problème sera résolu.
</p>
<div>
<button
class="fr-btn fr-btn--tertiary-no-outline fr-btn--sm fr-mt-2w"
Expand All @@ -52,6 +42,7 @@ import { sendError } from "@/plugins/mails.js"
import { useStore } from "@/stores/index.js"
import { useResultsStore } from "@/stores/results.js"
import { EventAction, EventCategory } from "@lib/enums/event.js"
import AlertRevenirPlusTard from "@/components/alert-revenir-plus-tard.vue"
export default {
name: "ErrorBlock",
Expand All @@ -63,6 +54,7 @@ export default {
},
data() {
return {
alertRevenirPlusTard: AlertRevenirPlusTard,
showDetails: false,
issueTrackingEvent: {
action: EventAction.Support,
Expand Down
11 changes: 11 additions & 0 deletions src/components/modals/errors-email-and-sms-modal.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<script setup lang="ts">
import { computed } from "vue"
import { useStore } from "@/stores/index.js"
import AlertRevenirPlusTard from "@/components/alert-revenir-plus-tard.vue"
const store = useStore()
Expand Down Expand Up @@ -35,6 +36,16 @@ const recapEmailState = computed(() => store.recapEmailState)
numéro valide ou utiliser l'envoi par email seulement.
</p>
</div>
<div
v-if="
recapPhoneState === 'error' ||
recapEmailState === 'error' ||
recapPhoneState === 'invalid-address'
"
class="fr-mt-2w"
>
<AlertRevenirPlusTard />
</div>
<div
v-if="recapPhoneState === 'ok' && recapEmailState === 'ok'"
class="fr-alert fr-alert--success"
Expand Down
2 changes: 2 additions & 0 deletions src/views/simulation/resultats/resultats.vue
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

<ErrorBlock v-if="error" />
<ErrorSaveBlock v-if="hasErrorSave" />
<AlertRevenirPlusTard v-if="hasErrorSave || error" class="fr-mb-2w" />
<div v-show="shouldDisplayResults">
<div v-if="!isEmpty(benefits)">
<p class="fr-text--lg">
Expand Down Expand Up @@ -80,6 +81,7 @@
</template>

<script setup lang="ts">
import AlertRevenirPlusTard from "@/components/alert-revenir-plus-tard.vue"
import BenefitsList from "@/components/benefits-list.vue"
import ErrorBlock from "@/components/error-block.vue"
import ErrorSaveBlock from "@/components/error-save-block.vue"
Expand Down

0 comments on commit 8722176

Please sign in to comment.