From cf4119baf6917a4e859d68902e4b17f5e51b619b Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Wed, 5 Nov 2025 19:12:12 +0530 Subject: [PATCH] fix: update issue in welcome card (#6779) --- .../editor/components/edit-welcome-card.tsx | 9 ------- .../editor/components/toolbar-plugin.tsx | 25 +++++++++++-------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/apps/web/modules/survey/editor/components/edit-welcome-card.tsx b/apps/web/modules/survey/editor/components/edit-welcome-card.tsx index a232bae92b..c47591ba99 100644 --- a/apps/web/modules/survey/editor/components/edit-welcome-card.tsx +++ b/apps/web/modules/survey/editor/components/edit-welcome-card.tsx @@ -3,7 +3,6 @@ import * as Collapsible from "@radix-ui/react-collapsible"; import { Hand } from "lucide-react"; import { usePathname } from "next/navigation"; -import { useState } from "react"; import { useTranslation } from "react-i18next"; import { TSurvey, TSurveyQuestionId, TSurveyWelcomeCard } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; @@ -38,8 +37,6 @@ export const EditWelcomeCard = ({ }: EditWelcomeCardProps) => { const { t } = useTranslation(); - const [firstRender, setFirstRender] = useState(true); - const path = usePathname(); const environmentId = path?.split("/environments/")[1]?.split("/")[0]; @@ -138,8 +135,6 @@ export const EditWelcomeCard = ({ setSelectedLanguageCode={setSelectedLanguageCode} locale={locale} isStorageConfigured={isStorageConfigured} - firstRender={firstRender} - setFirstRender={setFirstRender} />
@@ -155,8 +150,6 @@ export const EditWelcomeCard = ({ setSelectedLanguageCode={setSelectedLanguageCode} locale={locale} isStorageConfigured={isStorageConfigured} - firstRender={firstRender} - setFirstRender={setFirstRender} />
@@ -177,8 +170,6 @@ export const EditWelcomeCard = ({ label={t("environments.surveys.edit.next_button_label")} locale={locale} isStorageConfigured={isStorageConfigured} - firstRender={firstRender} - setFirstRender={setFirstRender} /> diff --git a/apps/web/modules/ui/components/editor/components/toolbar-plugin.tsx b/apps/web/modules/ui/components/editor/components/toolbar-plugin.tsx index 2411d5d6b2..49f4b7746b 100644 --- a/apps/web/modules/ui/components/editor/components/toolbar-plugin.tsx +++ b/apps/web/modules/ui/components/editor/components/toolbar-plugin.tsx @@ -262,22 +262,27 @@ export const ToolbarPlugin = ( const root = $getRoot(); root.clear(); root.append(...nodes); - - editor.registerUpdateListener(({ editorState }) => { - editorState.read(() => { - const textInHtml = $generateHtmlFromNodes(editor) - .replace(/</g, "<") - .replace(/>/g, ">") - .replace(/white-space:\s*pre-wrap;?/g, ""); - setText.current(textInHtml); - }); - }); }); } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + // Register text-saving update listener - always active for each editor instance + useEffect(() => { + const unregister = editor.registerUpdateListener(({ editorState }) => { + editorState.read(() => { + const textInHtml = $generateHtmlFromNodes(editor) + .replace(/</g, "<") + .replace(/>/g, ">") + .replace(/white-space:\s*pre-wrap;?/g, ""); + setText.current(textInHtml); + }); + }); + + return unregister; + }, [editor]); + useEffect(() => { return mergeRegister( editor.registerUpdateListener(({ editorState }) => {