From 627aeb779feb549a4aab40db333a88761c74bb1f Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 30 Apr 2023 15:22:44 +0200 Subject: [PATCH] implement selection to greentext in ReplyModal --- src/components/ReplyModal.jsx | 36 ++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/components/ReplyModal.jsx b/src/components/ReplyModal.jsx index 6777ff4c..f11df31f 100644 --- a/src/components/ReplyModal.jsx +++ b/src/components/ReplyModal.jsx @@ -29,12 +29,36 @@ const ReplyModal = ({ isOpen, closeModal }) => { const linkRef = useRef(); const [errorMessage, setErrorMessage] = useState(null); - useError(errorMessage, [errorMessage]); - const [triggerPublishComment, setTriggerPublishComment] = useState(false); + const [selectedText, setSelectedText] = useState(''); + + useError(errorMessage, [errorMessage]); const location = useLocation(); + + const onModalOpen = () => { + if (commentRef.current) { + commentRef.current.focus(); + } + }; + + + const getSelectedText = useCallback(() => { + const text = document.getSelection().toString(); + setSelectedText(text ? `>${text}\n` : ''); + }, []); + + + useEffect(() => { + if (isOpen) { + getSelectedText(); + } else { + setSelectedText(''); + } + }, [isOpen, getSelectedText]); + + const onChallengeVerification = (challengeVerification) => { if (challengeVerification.challengeSuccess === true) { console.log('challenge success'); @@ -168,6 +192,7 @@ const ReplyModal = ({ isOpen, closeModal }) => { return ( {
{`c/${selectedShortCid}`} -