Skip to content

Commit

Permalink
1525 ajouter un message en debut de sondage pour inciter a la reponse (
Browse files Browse the repository at this point in the history
…#4083)

* feat: Ajoute la réponse sur l'utilité de la simulation dans la réponse

* feat: Changer le message en fonction de la réponse de l'usager

Note: c'est la réponse au sondage dans l'émail sur l'utilité de la simulation
  • Loading branch information
baptou12 authored Dec 4, 2023
1 parent 0f03553 commit 7d3b979
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 7 deletions.
9 changes: 9 additions & 0 deletions backend/controllers/followups.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,20 @@ export async function persist(req: Request, res: Response) {
}

export function getFollowupDataForSurvey(req: Request, res: Response) {
const usefullnessSurvey = req.followup.surveys.find(
(survey) => survey.type === SurveyType.TrackClickOnSimulationUsefulnessEmail
)

const simulationWasUseful =
usefullnessSurvey?.answers.find((answer) => answer.id === "wasUseful")
?.value ?? true // La simulation est utile par défaut

res.send({
createdAt: req.followup.createdAt,
benefits: req.followup.benefits.filter(
(benefit) => benefit.id in Benefits.benefitsMap
),
simulationWasUseful,
} as FetchSurvey)
}

Expand Down
1 change: 1 addition & 0 deletions lib/types/survey.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ interface FetchSurvey {
id: string
amount: number | boolean
}[]
simulationWasUseful: boolean
}
3 changes: 3 additions & 0 deletions src/composables/use-followup-survey-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { useStore } from "@/stores/index.js"
export function useFollowupSurveyData(token: string) {
const followupCreatedAt = ref<string>("")
const benefitsWithChoice = ref<BenefitWithChoice[]>([])
const simulationWasUseful = ref<boolean>(false)
const loading = ref<boolean>(true)
const store = useStore()
const router = useRouter()
Expand All @@ -24,6 +25,7 @@ export function useFollowupSurveyData(token: string) {
followupCreatedAt.value = dayjs(followupSurveyData.createdAt).format(
"DD MMMM YYYY"
)
simulationWasUseful.value = followupSurveyData.simulationWasUseful
const benefits: StandardBenefit[] = followupSurveyData.benefits.map(
(benefit) => ({
...getBenefit(benefit.id),
Expand Down Expand Up @@ -52,6 +54,7 @@ export function useFollowupSurveyData(token: string) {
return {
followupCreatedAt,
benefitsWithChoice,
simulationWasUseful,
loading,
}
}
29 changes: 22 additions & 7 deletions src/views/suivi.vue
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,27 @@
<strong>{{ followupCreatedAt }}</strong
>.
</p>
<div class="fr-alert fr-alert--info fr-mb-4w">
<p>
Aidez-nous à améliorer la pertinence des résultats en répondant à ce
questionnaire :
</p>
<p class="fr-text--bold"> Ça ne prend pas plus de 2 minutes ! </p>
<div class="fr-mb-4w">
<div v-if="simulationWasUseful" class="fr-alert fr-alert--success">
<h3 class="fr-alert__title"> Merci pour votre réponse </h3>
<p>
Aidez-nous à améliorer la pertinence des résultats en répondant à
ce questionnaire :
</p>
<p class="fr-text--bold"> Ça ne prend pas plus de 2 minutes ! </p>
</div>
<div v-else class="fr-alert fr-alert--warning">
<h3 class="fr-alert__title">
Merci, nous sommes désolés que le simulateur ne vous ait pas été
utile
</h3>
<p
>À la fin de ce questionnaire vous aurez la possibilité de prendre
un RDV téléphonique avec une personne de l'équipe pour poser vos
questions sur les aides et les démarches.
</p>
<p class="fr-text--bold"> Ça ne prend pas plus de 2 minutes ! </p>
</div>
</div>
<div
v-for="droit in benefitsWithChoice"
Expand Down Expand Up @@ -141,7 +156,7 @@ function isNegative(value) {
const route = useRoute()
const submitted = ref(false)
const { followupCreatedAt, benefitsWithChoice, loading } =
const { followupCreatedAt, benefitsWithChoice, simulationWasUseful, loading } =
useFollowupSurveyData(route.query.token as string)
const isComplete = computed(() => {
Expand Down

0 comments on commit 7d3b979

Please sign in to comment.