From de8db6095c146a635eb5d158ab9e5bc474c5ad21 Mon Sep 17 00:00:00 2001 From: jbpenrath Date: Tue, 23 Dec 2025 17:31:43 +0100 Subject: [PATCH] fix: update CreateLinkButton to be able to toggle popover visibility Resolve #2313 --- .../DefaultButtons/CreateLinkButton.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/react/src/components/FormattingToolbar/DefaultButtons/CreateLinkButton.tsx b/packages/react/src/components/FormattingToolbar/DefaultButtons/CreateLinkButton.tsx index b90ff25bad..8df110a05d 100644 --- a/packages/react/src/components/FormattingToolbar/DefaultButtons/CreateLinkButton.tsx +++ b/packages/react/src/components/FormattingToolbar/DefaultButtons/CreateLinkButton.tsx @@ -19,6 +19,7 @@ import { useEditorState } from "../../../hooks/useEditorState.js"; import { useExtension } from "../../../hooks/useExtension.js"; import { useDictionary } from "../../../i18n/dictionary.js"; import { EditLinkMenuItems } from "../../LinkToolbar/EditLinkMenuItems.js"; +import { useEditorChange } from "../../../hooks/useEditorChange.js"; function checkLinkInSchema( editor: BlockNoteEditor, @@ -53,6 +54,11 @@ export const CreateLinkButton = () => { return () => showSelection(false); }, [showPopover, showSelection]); + useEditorChange(() => { + // Close the popover when the editor is updated after a link has been created + setShowPopover(false); + }, editor); + const state = useEditorState({ editor, selector: ({ editor }) => { @@ -106,7 +112,10 @@ export const CreateLinkButton = () => { } return ( - + {/* TODO: hide tooltip on click */} { dict.generic.ctrl_shortcut, )} icon={} - onClick={() => setShowPopover(true)} + onClick={() => setShowPopover(open => !open)} />