diff --git a/apps/client/src/widgets/dialogs/add_link.tsx b/apps/client/src/widgets/dialogs/add_link.tsx index 9d1f5522ff..e61e476190 100644 --- a/apps/client/src/widgets/dialogs/add_link.tsx +++ b/apps/client/src/widgets/dialogs/add_link.tsx @@ -27,6 +27,7 @@ export default function AddLinkDialog() { const [ suggestion, setSuggestion ] = useState(null); const [ bookmarks, setBookmarks ] = useState([]); const [ selectedBookmark, setSelectedBookmark ] = useState(""); + const [ noteTitle, setNoteTitle ] = useState(""); const [ shown, setShown ] = useState(false); const hasSubmittedRef = useRef(false); @@ -44,8 +45,9 @@ export default function AddLinkDialog() { }, [ opts ]); async function setDefaultLinkTitle(noteId: string) { - const noteTitle = await tree.getNoteTitle(noteId); - setLinkTitle(noteTitle); + const title = await tree.getNoteTitle(noteId); + setNoteTitle(title); + setLinkTitle(title); } function resetExternalLink() { @@ -79,6 +81,14 @@ export default function AddLinkDialog() { } }, [suggestion]); + useEffect(() => { + if (selectedBookmark) { + setLinkTitle(`${noteTitle} - ${selectedBookmark}`); + } else { + setLinkTitle(noteTitle); + } + }, [selectedBookmark, noteTitle]); + function onShown() { const $autocompleteEl = refToJQuerySelector(autocompleteRef); if (!opts?.text) { @@ -136,6 +146,7 @@ export default function AddLinkDialog() { setSuggestion(null); setBookmarks([]); setSelectedBookmark(""); + setNoteTitle(""); setShown(false); }} show={shown}