From 014ab9339ad5b46df850f97ab1c76aabfbb0a940 Mon Sep 17 00:00:00 2001 From: Kariamos Date: Tue, 17 Feb 2026 15:19:55 +0100 Subject: [PATCH] fix(FormProvider): strip HTML from goal field to ensure clean input --- .../campaigns/components/campaignForm/FormProvider.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/campaigns/components/campaignForm/FormProvider.tsx b/src/pages/campaigns/components/campaignForm/FormProvider.tsx index 81000be7..1901613d 100644 --- a/src/pages/campaigns/components/campaignForm/FormProvider.tsx +++ b/src/pages/campaigns/components/campaignForm/FormProvider.tsx @@ -2,6 +2,7 @@ import { Formik } from "@appquality/appquality-design-system"; import { useMemo } from "react"; import { useHistory } from "react-router-dom"; import { addMessage } from "src/redux/siteWideMessages/actionCreators"; + import { GetDossiersByCampaignApiResponse, PostDossiersApiArg, @@ -68,6 +69,11 @@ export interface NewCampaignValues { autoApprove?: boolean; } +const stripHtml = (html: string): string => { + const doc = new DOMParser().parseFromString(html, "text/html"); + return doc.body.textContent ?? ""; +}; + const useGetInitialCufCriteria = ({ dossier, }: { @@ -167,7 +173,7 @@ const FormProvider = ({ languages: dossier?.languages?.map((lang) => lang.name) || [], description: dossier?.description || "", productLink: dossier?.productLink || "", - goal: dossier?.goal || "", + goal: dossier?.goal ? stripHtml(dossier.goal).trim() : "", outOfScope: dossier?.outOfScope || "", deviceRequirements: dossier?.deviceRequirements || "", targetNotes: dossier?.target?.notes || "",