From 90693c6f75fae87436413319d39be827135582fb Mon Sep 17 00:00:00 2001 From: "plebeius.eth" Date: Thu, 8 Jun 2023 21:11:28 +0200 Subject: [PATCH] fix toasts --- src/components/modals/ModerationModal.jsx | 9 +++++---- src/components/views/All.jsx | 8 ++++---- src/components/views/Board.jsx | 12 ++++++------ src/components/views/Catalog.jsx | 12 ++++++------ src/components/views/Pending.jsx | 6 +++--- src/components/views/Subscriptions.jsx | 8 ++++---- src/components/views/Thread.jsx | 13 +++++++------ src/hooks/useError.js | 2 +- src/hooks/useSuccess.js | 2 +- 9 files changed, 37 insertions(+), 35 deletions(-) diff --git a/src/components/modals/ModerationModal.jsx b/src/components/modals/ModerationModal.jsx index 62cc0f42..5c1d5f23 100755 --- a/src/components/modals/ModerationModal.jsx +++ b/src/components/modals/ModerationModal.jsx @@ -26,7 +26,7 @@ const ModerationModal = ({ isOpen, closeModal, deletePost }) => { const [reason, setReason] = useState(''); const [triggerPublishCommentEdit, setTriggerPublishCommentEdit] = useState(false); - const setErrorMessage = useError(); + const [errorMessage, setErrorMessage] = useError(); const setSuccessMessage = useSuccess(); @@ -120,11 +120,12 @@ const ModerationModal = ({ isOpen, closeModal, deletePost }) => { const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions); + useEffect(() => { - if (error) { - setErrorMessage(error); + if (error && error !== errorMessage) { + setErrorMessage(error); } - }, [error, setErrorMessage]); + }, [error, setErrorMessage, errorMessage]); useEffect(() => { diff --git a/src/components/views/All.jsx b/src/components/views/All.jsx index d4667c86..d64365d5 100755 --- a/src/components/views/All.jsx +++ b/src/components/views/All.jsx @@ -46,7 +46,7 @@ const All = () => { const account = useAccount(); const navigate = useNavigate(); - const setErrorMessage = useError(); + const [errorMessage, setErrorMessage] = useError(); const threadMenuRefs = useRef({}); const replyMenuRefs = useRef({}); @@ -85,10 +85,10 @@ const All = () => { }, [subplebbits]) useEffect(() => { - if (errorString) { - setErrorMessage(errorString) + if (errorString && errorString !== errorMessage) { + setErrorMessage(errorString); } - }, [errorString, setErrorMessage]) + }, [errorString, setErrorMessage, errorMessage]); useEffect(() => { diff --git a/src/components/views/Board.jsx b/src/components/views/Board.jsx index 45bc6f84..0daa01d7 100755 --- a/src/components/views/Board.jsx +++ b/src/components/views/Board.jsx @@ -69,7 +69,7 @@ const Board = () => { const navigate = useNavigate(); const { subplebbitAddress } = useParams(); - const setErrorMessage = useError(); + const [errorMessage, setErrorMessage] = useError(); const setSuccessMessage = useSuccess(); const nameRef = useRef(); @@ -157,10 +157,10 @@ const Board = () => { useEffect(() => { - if (errorString) { + if (errorString && errorString !== errorMessage) { setErrorMessage(errorString); } - }, [errorString, setErrorMessage]); + }, [errorString, setErrorMessage, errorMessage]); const flattenedRepliesByThread = useMemo(() => { @@ -411,10 +411,10 @@ const Board = () => { const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions); useEffect(() => { - if (error) { - setErrorMessage(error); + if (error && error !== errorMessage) { + setErrorMessage(error); } - }, [error, setErrorMessage]); + }, [error, setErrorMessage, errorMessage]); const handleAuthorDeleteClick = (commentCid) => { diff --git a/src/components/views/Catalog.jsx b/src/components/views/Catalog.jsx index 0b7be8d8..50ca385e 100755 --- a/src/components/views/Catalog.jsx +++ b/src/components/views/Catalog.jsx @@ -60,7 +60,7 @@ const Catalog = () => { const navigate = useNavigate(); - const setErrorMessage = useError(); + const [errorMessage, setErrorMessage] = useError(); const setSuccessMessage = useSuccess(); const [triggerPublishComment, setTriggerPublishComment] = useState(false); @@ -140,10 +140,10 @@ const Catalog = () => { useEffect(() => { - if (errorString) { + if (errorString && errorString !== errorMessage) { setErrorMessage(errorString); } - }, [errorString, setErrorMessage]); + }, [errorString, setErrorMessage, errorMessage]); const { subscribed, subscribe, unsubscribe } = useSubscribe({subplebbitAddress: selectedAddress}); @@ -336,10 +336,10 @@ const Catalog = () => { const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions); useEffect(() => { - if (error) { - setErrorMessage(error); + if (error && error !== errorMessage) { + setErrorMessage(error); } - }, [error, setErrorMessage]); + }, [error, setErrorMessage, errorMessage]); const handleAuthorDeleteClick = (commentCid) => { diff --git a/src/components/views/Pending.jsx b/src/components/views/Pending.jsx index 6777c196..a5557db5 100755 --- a/src/components/views/Pending.jsx +++ b/src/components/views/Pending.jsx @@ -34,7 +34,7 @@ const Pending = () => { const account = useAccount(); const comment = useAccountComment({commentIndex: index}); - const setErrorMessage = useError(); + const [errorMessage, setErrorMessage] = useError(); useEffect(() => { setSelectedAddress(comment?.subplebbitAddress); @@ -53,10 +53,10 @@ const Pending = () => { }, [comment?.state, comment?.error, index]) useEffect(() => { - if (errorString) { + if (errorString && errorString !== errorMessage) { setErrorMessage(errorString); } - }, [errorString, setErrorMessage]); + }, [errorString, setErrorMessage, errorMessage]); const [visible] = useState(true); diff --git a/src/components/views/Subscriptions.jsx b/src/components/views/Subscriptions.jsx index cbeff154..4c813753 100755 --- a/src/components/views/Subscriptions.jsx +++ b/src/components/views/Subscriptions.jsx @@ -47,7 +47,7 @@ const Subscriptions = () => { const account = useAccount(); const navigate = useNavigate(); - const setErrorMessage = useError(); + const [errorMessage, setErrorMessage] = useError(); const threadMenuRefs = useRef({}); const replyMenuRefs = useRef({}); @@ -84,10 +84,10 @@ const Subscriptions = () => { }, [subplebbits]) useEffect(() => { - if (errorString) { - setErrorMessage(errorString) + if (errorString && errorString !== errorMessage) { + setErrorMessage(errorString); } - }, [errorString, setErrorMessage]) + }, [errorString, setErrorMessage, errorMessage]); useEffect(() => { diff --git a/src/components/views/Thread.jsx b/src/components/views/Thread.jsx index 9db177d5..4fc3533c 100755 --- a/src/components/views/Thread.jsx +++ b/src/components/views/Thread.jsx @@ -68,7 +68,7 @@ const Thread = () => { const navigate = useNavigate(); const handleClickForm = useClickForm(); - const setErrorMessage = useError(); + const [errorMessage, setErrorMessage] = useError(); const setSuccessMessage = useSuccess(); const nameRef = useRef(); @@ -171,10 +171,10 @@ const Thread = () => { useEffect(() => { - if (errorString) { + if (errorString && errorString !== errorMessage) { setErrorMessage(errorString); } - }, [errorString, setErrorMessage]); + }, [errorString, setErrorMessage, errorMessage]); const flattenedReplies = useMemo(() => @@ -384,10 +384,11 @@ const Thread = () => { const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions); useEffect(() => { - if (error) { - setErrorMessage(error); + if (error && error !== errorMessage) { + setErrorMessage(error); } - }, [error, setErrorMessage]); + }, [error, setErrorMessage, errorMessage]); + const handleAuthorDeleteClick = (commentCid) => { diff --git a/src/hooks/useError.js b/src/hooks/useError.js index aa90c163..7b27ef47 100755 --- a/src/hooks/useError.js +++ b/src/hooks/useError.js @@ -37,7 +37,7 @@ const useError = () => { setRenderCount(prevCount => prevCount + 1); }; - return setNewErrorMessage; + return [errorMessage, setNewErrorMessage]; }; export default useError; \ No newline at end of file diff --git a/src/hooks/useSuccess.js b/src/hooks/useSuccess.js index 23b465bd..9382506c 100755 --- a/src/hooks/useSuccess.js +++ b/src/hooks/useSuccess.js @@ -37,7 +37,7 @@ const useSuccess = () => { setRenderCount(prevCount => prevCount + 1); }; - return setNewSuccessMessage; + return [successMessage, setNewSuccessMessage]; }; export default useSuccess; \ No newline at end of file