diff --git a/wax-prosemirror-components/src/components/comments/ConnectedComment.js b/wax-prosemirror-components/src/components/comments/ConnectedComment.js index c1aff20501a827cd428be0f1b296b826af6c36d9..b14179c86f219fe2a3238821d03aa8a31eb46d49 100644 --- a/wax-prosemirror-components/src/components/comments/ConnectedComment.js +++ b/wax-prosemirror-components/src/components/comments/ConnectedComment.js @@ -52,7 +52,11 @@ export default ({ comment, top, commentId, recalculateTops }) => { const onClickPost = content => { // TODO find out why on enter comment posts twice. - if (last(comment.attrs.conversation).content === content) return; + if ( + comment.attrs.conversation.length !== 0 && + last(comment.attrs.conversation).content === content + ) + return; const { tr } = state; diff --git a/wax-prosemirror-components/src/components/link/LinkComponent.js b/wax-prosemirror-components/src/components/link/LinkComponent.js index c9c44e1220a3d21bea79d72b73be79f92ed5fc3e..b22d7b8f72564a3a234567d87e021bf05bf10f69 100644 --- a/wax-prosemirror-components/src/components/link/LinkComponent.js +++ b/wax-prosemirror-components/src/components/link/LinkComponent.js @@ -159,7 +159,24 @@ const LinkComponent = ({ mark, setPosition, position }) => { return false; }; - return mark ? ( + const selectionContainsLink = () => { + const { + selection: { from, to }, + } = state; + const markFound = DocumentHelpers.findMark( + state, + activeView.state.schema.marks.link, + true, + ); + + if (markFound.length >= 1) { + if (from < markFound[0].from || to > markFound[0].to) return true; + } + + return false; + }; + + return !selectionContainsLink() && mark ? ( <Wrapper> <LinkWrapper ref={ref}> {editable && (