diff --git a/frontend/src/components/visual-editor/BlockDialog.tsx b/frontend/src/components/visual-editor/BlockDialog.tsx index 5088621..25991b5 100644 --- a/frontend/src/components/visual-editor/BlockDialog.tsx +++ b/frontend/src/components/visual-editor/BlockDialog.tsx @@ -35,7 +35,7 @@ import { useTranslate } from "@/hooks/useTranslate"; import { EntityType } from "@/services/types"; import { OutgoingMessageFormat } from "@/types/message.types"; -import { IBlockAttributes, IBlock } from "../../types/block.types"; +import { IBlock, IBlockAttributes } from "../../types/block.types"; import BlockFormProvider from "./form/BlockFormProvider"; import { MessageForm } from "./form/MessageForm"; @@ -69,24 +69,25 @@ const BlockDialog: FC = ({ toast.success(t("message.success_save")); }, }); - const methods = useForm({ - defaultValues: { - name: block?.name || "", - patterns: block?.patterns || [], - trigger_labels: block?.trigger_labels || [], - trigger_channels: block?.trigger_channels || [], - options: block?.options || { - typing: 0, - content: { - display: OutgoingMessageFormat.list, - top_element_style: "compact", - limit: 2, - }, - assignTo: block?.options?.assignTo, + const DEFAULT_VALUES = { + name: block?.name || "", + patterns: block?.patterns || [], + trigger_labels: block?.trigger_labels || [], + trigger_channels: block?.trigger_channels || [], + options: block?.options || { + typing: 0, + content: { + display: OutgoingMessageFormat.list, + top_element_style: "compact", + limit: 2, }, - assign_labels: block?.assign_labels || [], - message: block?.message || [""], + assignTo: block?.options?.assignTo, }, + assign_labels: block?.assign_labels || [], + message: block?.message || [""], + } as IBlockAttributes; + const methods = useForm({ + defaultValues: DEFAULT_VALUES, }); const { reset, @@ -114,10 +115,8 @@ const BlockDialog: FC = ({ }, [open, reset]); useEffect(() => { - if (block) { - reset({ - name: block.name, - }); + if (block && open) { + reset(DEFAULT_VALUES); } else { reset(); }