fix toasts

This commit is contained in:
plebeius.eth
2023-06-14 16:24:25 +02:00
parent 2ab9aad63c
commit 965a63a996
10 changed files with 119 additions and 151 deletions
+7 -7
View File
@@ -40,31 +40,31 @@ export default function App() {
const account = useAccount();
const [, setErrorMessage] = useError();
const [, setSuccessMessage] = useSuccess();
const [, setNewErrorMessage] = useError();
const [, setNewSuccessMessage] = useSuccess();
useEffect(() => {
const successToast = localStorage.getItem("successToast");
const errorToast = localStorage.getItem("errorToast");
if (successToast) {
setSuccessMessage(successToast);
setNewSuccessMessage(successToast);
localStorage.removeItem("successToast");
} else if (errorToast) {
setErrorMessage(errorToast);
setNewErrorMessage(errorToast);
localStorage.removeItem("errorToast");
} else {
return;
}
}, [setErrorMessage, setSuccessMessage]);
}, [setNewErrorMessage, setNewSuccessMessage]);
// preload default subs and subscriptions
useBufferedFeeds({
feedsOptions: [
{subplebbitAddresses: defaultSubplebbits.map(
(subplebbit) => subplebbit.address
), sortType: 'new'},
{subplebbitAddresses: account?.subscriptions, sortType: 'new'}
), sortType: 'active'},
{subplebbitAddresses: account?.subscriptions, sortType: 'active'}
]
});
+8 -15
View File
@@ -26,8 +26,8 @@ const ModerationModal = ({ isOpen, closeModal, deletePost }) => {
const [reason, setReason] = useState('');
const [triggerPublishCommentEdit, setTriggerPublishCommentEdit] = useState(false);
const [errorMessage, setErrorMessage] = useError();
const [, setSuccessMessage] = useSuccess();
const [, setNewErrorMessage] = useError();
const [, setNewSuccessMessage] = useSuccess();
useEffect(() => {
@@ -48,9 +48,9 @@ const ModerationModal = ({ isOpen, closeModal, deletePost }) => {
const onChallengeVerification = (challengeVerification) => {
if (challengeVerification.challengeSuccess === true) {
setSuccessMessage('Challenge Success');
setNewSuccessMessage('Challenge Success');
} else if (challengeVerification.challengeSuccess === false) {
setErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
setNewErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
}
};
@@ -63,7 +63,7 @@ const ModerationModal = ({ isOpen, closeModal, deletePost }) => {
challengeAnswers = await getChallengeAnswersFromUser(challenges)
}
catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
if (challengeAnswers) {
await comment.publishChallengeAnswers(challengeAnswers)
@@ -100,7 +100,7 @@ const ModerationModal = ({ isOpen, closeModal, deletePost }) => {
};
challengeImg.onerror = () => {
reject(setErrorMessage('Could not load challenges'));
reject(setNewErrorMessage('Could not load challenges'));
};
});
};
@@ -113,19 +113,12 @@ const ModerationModal = ({ isOpen, closeModal, deletePost }) => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
useEffect(() => {
if (error && error !== errorMessage) {
setErrorMessage(error);
}
}, [error, setErrorMessage, errorMessage]);
const { publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
useEffect(() => {
+6 -6
View File
@@ -23,7 +23,7 @@ const ReplyModal = ({ isOpen, closeModal }) => {
const account = useAccount();
const [, setErrorMessage] = useError();
const [, setNewErrorMessage] = useError();
const nodeRef = useRef(null);
const nameRef = useRef();
@@ -73,7 +73,7 @@ const ReplyModal = ({ isOpen, closeModal }) => {
console.log('challenge success');
}
else if (challengeVerification.challengeSuccess === false) {
setErrorMessage('challenge failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
setNewErrorMessage('challenge failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
}
};
@@ -86,7 +86,7 @@ const ReplyModal = ({ isOpen, closeModal }) => {
challengeAnswers = await getChallengeAnswersFromUser(challenges)
}
catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
if (challengeAnswers) {
await comment.publishChallengeAnswers(challengeAnswers)
@@ -107,7 +107,7 @@ const ReplyModal = ({ isOpen, closeModal }) => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
@@ -141,7 +141,7 @@ const ReplyModal = ({ isOpen, closeModal }) => {
commentRef.current.value === "" &&
linkRef.current.value === ""
) {
setErrorMessage("Please enter a comment or link.");
setNewErrorMessage("Please enter a comment or link.");
return;
}
@@ -200,7 +200,7 @@ const ReplyModal = ({ isOpen, closeModal }) => {
};
challengeImg.onerror = () => {
reject(setErrorMessage('Could not load challenges'));
reject(setNewErrorMessage('Could not load challenges'));
};
});
};
+20 -28
View File
@@ -63,8 +63,8 @@ const All = () => {
const account = useAccount();
const navigate = useNavigate();
const [errorMessage, setErrorMessage] = useError();
const [, setSuccessMessage] = useSuccess();
const [, setNewErrorMessage] = useError();
const [, setNewSuccessMessage] = useSuccess();
const threadMenuRefs = useRef({});
const replyMenuRefs = useRef({});
@@ -81,7 +81,6 @@ const All = () => {
const [prevScrollPos, setPrevScrollPos] = useState(0);
const [visible, setVisible] = useState(true);
const [isImageSearchOpen, setIsImageSearchOpen] = useState(false);
const [isModerator, setIsModerator] = useState(false);
const [commentCid, setCommentCid] = useState(null);
const [menuPosition, setMenuPosition] = useState({top: 0, left: 0});
const [triggerPublishCommentEdit, setTriggerPublishCommentEdit] = useState(false);
@@ -93,8 +92,8 @@ const All = () => {
const [moderatorPermissions, setModeratorPermissions] = useState({});
const addresses = defaultSubplebbits.map(subplebbit => subplebbit.address);
const { feed, hasMore, loadMore } = useFeed({subplebbitAddresses: addresses, sortType: 'new'});
const {subplebbits} = useSubplebbits({subplebbitAddresses: addresses, sortType: 'new'});
const { feed, hasMore, loadMore } = useFeed({subplebbitAddresses: addresses, sortType: 'active'});
const {subplebbits} = useSubplebbits({subplebbitAddresses: addresses, sortType: 'active'});
const [selectedFeed, setSelectedFeed] = useState(feed.sort((a, b) => b.timestamp - a.timestamp));
const stateString = useFeedStateString(subplebbits);
@@ -102,11 +101,11 @@ const All = () => {
useEffect(() => {
let permissions = {};
selectedFeed.forEach(thread => {
const subplebbit = subplebbits.find(s => s.address === thread.subplebbitAddress);
if (subplebbit && subplebbit.roles !== undefined) {
const subplebbit = subplebbits.find(s => s && s.address === thread.subplebbitAddress);
if (subplebbit && subplebbit.roles) {
const role = subplebbit.roles[account?.author.address]?.role;
if (role === 'moderator' || role === 'admin' || role === 'owner') {
@@ -116,9 +115,9 @@ const All = () => {
}
}
});
setModeratorPermissions(permissions);
}, [account?.author.address, selectedFeed, subplebbits]);
}, [account?.author.address, selectedFeed, subplebbits]);
const handleOptionClick = () => {
@@ -160,11 +159,10 @@ const All = () => {
}, [subplebbits])
useEffect(() => {
if (errorString && errorString !== errorMessage) {
setErrorMessage(errorString);
if (errorString) {
setNewErrorMessage(errorString);
}
}, [errorString, setErrorMessage, errorMessage]);
}, [errorString, setNewErrorMessage]);
useEffect(() => {
setSelectedFeed(feed.sort((a, b) => b.timestamp - a.timestamp));
@@ -247,10 +245,10 @@ const All = () => {
const onChallengeVerification = (challengeVerification) => {
if (challengeVerification.challengeSuccess === true) {
setSuccessMessage('Challenge Success');
setNewSuccessMessage('Challenge Success');
}
else if (challengeVerification.challengeSuccess === false) {
setErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
setNewErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
}
};
@@ -261,7 +259,7 @@ const All = () => {
challengeAnswers = await getChallengeAnswersFromUser(challenges)
}
catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
if (challengeAnswers) {
await comment.publishChallengeAnswers(challengeAnswers)
@@ -298,7 +296,7 @@ const All = () => {
};
challengeImg.onerror = () => {
reject(setErrorMessage('Could not load challenges'));
reject(setNewErrorMessage('Could not load challenges'));
};
});
};
@@ -310,18 +308,12 @@ const All = () => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
useEffect(() => {
if (error && error !== errorMessage) {
setErrorMessage(error);
}
}, [error, setErrorMessage, errorMessage]);
const { publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
const handleAuthorDeleteClick = (commentCid) => {
@@ -569,7 +561,7 @@ const All = () => {
const { displayedReplies, omittedCount } = filteredRepliesByThread[thread.cid] || {};
const commentMediaInfo = getCommentMediaInfo(thread);
const fallbackImgUrl = "assets/filedeleted-res.gif";
setIsModerator(moderatorPermissions[thread.subplebbitAddress]);
const isModerator = moderatorPermissions[thread.subplebbitAddress];
return (
<Fragment key={`fr-${index}`}>
<div key={`t-${index}`} className="thread">
+14 -20
View File
@@ -69,8 +69,8 @@ const Board = () => {
const navigate = useNavigate();
const { subplebbitAddress } = useParams();
const [errorMessage, setErrorMessage] = useError();
const [, setSuccessMessage] = useSuccess();
const [, setNewErrorMessage] = useError();
const [, setNewSuccessMessage] = useSuccess();
const nameRef = useRef();
const subjectRef = useRef();
@@ -159,10 +159,10 @@ const Board = () => {
useEffect(() => {
if (errorString && errorString !== errorMessage) {
setErrorMessage(errorString);
if (errorString) {
setNewErrorMessage(errorString);
}
}, [errorString, setErrorMessage, errorMessage]);
}, [errorString, setNewErrorMessage]);
const flattenedRepliesByThread = useMemo(() => {
@@ -261,11 +261,11 @@ const Board = () => {
navigate(`/p/${subplebbitAddress}/c/${challengeVerification.publication?.cid}`);
console.log('challenge success');
} else {
setSuccessMessage('Challenge Success');
setNewSuccessMessage('Challenge Success');
}
}
else if (challengeVerification.challengeSuccess === false) {
setErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
setNewErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
}
};
@@ -278,7 +278,7 @@ const Board = () => {
challengeAnswers = await getChallengeAnswersFromUser(challenges)
}
catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
if (challengeAnswers) {
await comment.publishChallengeAnswers(challengeAnswers)
@@ -299,7 +299,7 @@ const Board = () => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
@@ -334,7 +334,7 @@ const Board = () => {
event.preventDefault();
if (subjectRef.current.value === "") {
setErrorMessage('Subject field is mandatory');
setNewErrorMessage('Subject field is mandatory');
return;
}
@@ -392,7 +392,7 @@ const Board = () => {
};
challengeImg.onerror = () => {
reject(setErrorMessage('Could not load challenges'));
reject(setNewErrorMessage('Could not load challenges'));
};
});
};
@@ -405,18 +405,12 @@ const Board = () => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
useEffect(() => {
if (error && error !== errorMessage) {
setErrorMessage(error);
}
}, [error, setErrorMessage, errorMessage]);
const { publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
const handleAuthorDeleteClick = (commentCid) => {
@@ -526,7 +520,7 @@ const Board = () => {
await unsubscribe(selectedAddress);
}
} catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
};
+14 -20
View File
@@ -60,8 +60,8 @@ const Catalog = () => {
const navigate = useNavigate();
const [errorMessage, setErrorMessage] = useError();
const [, setSuccessMessage] = useSuccess();
const [, setNewErrorMessage] = useError();
const [, setNewSuccessMessage] = useSuccess();
const [triggerPublishComment, setTriggerPublishComment] = useState(false);
const [prevScrollPos, setPrevScrollPos] = useState(0);
@@ -140,10 +140,10 @@ const Catalog = () => {
useEffect(() => {
if (errorString && errorString !== errorMessage) {
setErrorMessage(errorString);
if (errorString) {
setNewErrorMessage(errorString);
}
}, [errorString, setErrorMessage, errorMessage]);
}, [errorString, setNewErrorMessage]);
const { subscribed, subscribe, unsubscribe } = useSubscribe({subplebbitAddress: selectedAddress});
@@ -184,11 +184,11 @@ const Catalog = () => {
navigate(`/p/${subplebbitAddress}/c/${challengeVerification.publication?.cid}`);
console.log('challenge success');
} else {
setSuccessMessage('Challenge Success');
setNewSuccessMessage('Challenge Success');
}
}
else if (challengeVerification.challengeSuccess === false) {
setErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
setNewErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
}
};
@@ -201,7 +201,7 @@ const Catalog = () => {
challengeAnswers = await getChallengeAnswersFromUser(challenges)
}
catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
if (challengeAnswers) {
await comment.publishChallengeAnswers(challengeAnswers)
@@ -222,7 +222,7 @@ const Catalog = () => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
@@ -257,7 +257,7 @@ const Catalog = () => {
event.preventDefault();
if (subjectRef.current.value === "") {
setErrorMessage('Subject field is mandatory');
setNewErrorMessage('Subject field is mandatory');
return;
}
@@ -315,7 +315,7 @@ const Catalog = () => {
};
challengeImg.onerror = () => {
reject(setErrorMessage('Could not load challenges'));
reject(setNewErrorMessage('Could not load challenges'));
};
});
};
@@ -328,18 +328,12 @@ const Catalog = () => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
useEffect(() => {
if (error && error !== errorMessage) {
setErrorMessage(error);
}
}, [error, setErrorMessage, errorMessage]);
const { publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
const handleAuthorDeleteClick = (commentCid) => {
@@ -438,7 +432,7 @@ const Catalog = () => {
await unsubscribe(selectedAddress);
}
} catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
};
+4 -4
View File
@@ -34,7 +34,7 @@ const Pending = () => {
const account = useAccount();
const comment = useAccountComment({commentIndex: index});
const [errorMessage, setErrorMessage] = useError();
const [, setNewErrorMessage] = useError();
useEffect(() => {
setSelectedAddress(comment?.subplebbitAddress);
@@ -53,10 +53,10 @@ const Pending = () => {
}, [comment?.state, comment?.error, index])
useEffect(() => {
if (errorString && errorString !== errorMessage) {
setErrorMessage(errorString);
if (errorString) {
setNewErrorMessage(errorString);
}
}, [errorString, setErrorMessage, errorMessage]);
}, [errorString, setNewErrorMessage]);
const [visible] = useState(true);
+20 -27
View File
@@ -63,8 +63,8 @@ const Subscriptions = () => {
const account = useAccount();
const navigate = useNavigate();
const [errorMessage, setErrorMessage] = useError();
const [, setSuccessMessage] = useSuccess();
const [, setNewErrorMessage] = useError();
const [, setNewSuccessMessage] = useSuccess();
const threadMenuRefs = useRef({});
const replyMenuRefs = useRef({});
@@ -81,7 +81,6 @@ const Subscriptions = () => {
const [prevScrollPos, setPrevScrollPos] = useState(0);
const [visible, setVisible] = useState(true);
const [isImageSearchOpen, setIsImageSearchOpen] = useState(false);
const [isModerator, setIsModerator] = useState(false);
const [commentCid, setCommentCid] = useState(null);
const [menuPosition, setMenuPosition] = useState({top: 0, left: 0});
const [triggerPublishCommentEdit, setTriggerPublishCommentEdit] = useState(false);
@@ -92,20 +91,20 @@ const Subscriptions = () => {
const [deletePost, setDeletePost] = useState(false);
const [moderatorPermissions, setModeratorPermissions] = useState({});
const { feed, hasMore, loadMore } = useFeed({subplebbitAddresses: account?.subscriptions, sortType: 'new'});
const { feed, hasMore, loadMore } = useFeed({subplebbitAddresses: account?.subscriptions, sortType: 'active'});
const [selectedFeed, setSelectedFeed] = useState(feed.sort((a, b) => b.timestamp - a.timestamp));
const {subplebbits} = useSubplebbits({subplebbitAddresses: account?.subscriptions, sortType: 'new'});
const {subplebbits} = useSubplebbits({subplebbitAddresses: account?.subscriptions, sortType: 'active'});
const stateString = useFeedStateString(subplebbits);
useEffect(() => {
let permissions = {};
selectedFeed.forEach(thread => {
const subplebbit = subplebbits.find(s => s.address === thread.subplebbitAddress);
if (subplebbit && subplebbit.roles !== undefined) {
const subplebbit = subplebbits.find(s => s && s.address === thread.subplebbitAddress);
if (subplebbit && subplebbit.roles) {
const role = subplebbit.roles[account?.author.address]?.role;
if (role === 'moderator' || role === 'admin' || role === 'owner') {
@@ -115,9 +114,9 @@ const Subscriptions = () => {
}
}
});
setModeratorPermissions(permissions);
}, [account?.author.address, selectedFeed, subplebbits]);
}, [account?.author.address, selectedFeed, subplebbits]);
const handleOptionClick = () => {
@@ -159,10 +158,10 @@ const Subscriptions = () => {
}, [subplebbits])
useEffect(() => {
if (errorString && errorString !== errorMessage) {
setErrorMessage(errorString);
if (errorString) {
setNewErrorMessage(errorString);
}
}, [errorString, setErrorMessage, errorMessage]);
}, [errorString, setNewErrorMessage]);
useEffect(() => {
@@ -247,10 +246,10 @@ const Subscriptions = () => {
const onChallengeVerification = (challengeVerification) => {
if (challengeVerification.challengeSuccess === true) {
setSuccessMessage('Challenge Success');
setNewSuccessMessage('Challenge Success');
}
else if (challengeVerification.challengeSuccess === false) {
setErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
setNewErrorMessage('Challenge Failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
}
};
@@ -261,7 +260,7 @@ const Subscriptions = () => {
challengeAnswers = await getChallengeAnswersFromUser(challenges)
}
catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
if (challengeAnswers) {
await comment.publishChallengeAnswers(challengeAnswers)
@@ -298,7 +297,7 @@ const Subscriptions = () => {
};
challengeImg.onerror = () => {
reject(setErrorMessage('Could not load challenges'));
reject(setNewErrorMessage('Could not load challenges'));
};
});
};
@@ -311,18 +310,12 @@ const Subscriptions = () => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
useEffect(() => {
if (error && error !== errorMessage) {
setErrorMessage(error);
}
}, [error, setErrorMessage, errorMessage]);
const { publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
const handleAuthorDeleteClick = (commentCid) => {
@@ -579,7 +572,7 @@ const Subscriptions = () => {
const { displayedReplies, omittedCount } = filteredRepliesByThread[thread.cid] || {};
const commentMediaInfo = getCommentMediaInfo(thread);
const fallbackImgUrl = "assets/filedeleted-res.gif";
setIsModerator(moderatorPermissions[thread.subplebbitAddress]);
const isModerator = moderatorPermissions[thread.subplebbitAddress];
return (
<Fragment key={`fr-${index}`}>
<div key={`t-${index}`} className="thread">
+15 -23
View File
@@ -68,8 +68,8 @@ const Thread = () => {
const navigate = useNavigate();
const handleClickForm = useClickForm();
const [errorMessage, setErrorMessage] = useError();
const [, setSuccessMessage] = useSuccess();
const [, setNewErrorMessage] = useError();
const [, setNewSuccessMessage] = useSuccess();
const nameRef = useRef();
const commentRef = useRef();
@@ -173,10 +173,10 @@ const Thread = () => {
useEffect(() => {
if (errorString && errorString !== errorMessage) {
setErrorMessage(errorString);
if (errorString) {
setNewErrorMessage(errorString);
}
}, [errorString, setErrorMessage, errorMessage]);
}, [errorString, setNewErrorMessage]);
const flattenedReplies = useMemo(() =>
@@ -232,12 +232,12 @@ const Thread = () => {
const onChallengeVerification = (challengeVerification) => {
if (challengeVerification.challengeSuccess === true) {
if (challengeVerification.publication?.cid !== undefined) {
console.log('challenge success');
return;
} else {
setSuccessMessage('Challenge Success');
setNewSuccessMessage('Challenge Success');
}
} else if (challengeVerification.challengeSuccess === false) {
setErrorMessage('challenge failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
setNewErrorMessage('challenge failed', {reason: challengeVerification.reason, errors: challengeVerification.errors});
}
};
@@ -250,7 +250,7 @@ const Thread = () => {
challengeAnswers = await getChallengeAnswersFromUser(challenges)
}
catch (error) {
setErrorMessage(error);
setNewErrorMessage(error);
}
if (challengeAnswers) {
await comment.publishChallengeAnswers(challengeAnswers)
@@ -271,7 +271,7 @@ const Thread = () => {
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
@@ -306,7 +306,7 @@ const Thread = () => {
commentRef.current.value === "" &&
linkRef.current.value === ""
) {
setErrorMessage("Please enter a comment or link.");
setNewErrorMessage("Please enter a comment or link.");
return;
}
@@ -365,7 +365,7 @@ const Thread = () => {
};
challengeImg.onerror = () => {
reject(setErrorMessage('Could not load challenges'));
reject(setNewErrorMessage('Could not load challenges'));
};
});
};
@@ -374,23 +374,16 @@ const Thread = () => {
const [publishCommentEditOptions, setPublishCommentEditOptions] = useState({
commentCid: commentCid,
content: editedComment || undefined,
subplebbitAddress: selectedAddress || subplebbitAddress,
subplebbitAddress: selectedAddress,
onChallenge,
onChallengeVerification,
onError: (error) => {
setErrorMessage(error);
setNewErrorMessage(error);
},
});
const {error, publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
useEffect(() => {
if (error && error !== errorMessage) {
setErrorMessage(error);
}
}, [error, setErrorMessage, errorMessage]);
const { publishCommentEdit } = usePublishCommentEdit(publishCommentEditOptions);
const handleAuthorDeleteClick = (commentCid) => {
@@ -462,7 +455,6 @@ const Thread = () => {
}
}, [publishCommentEditOptions, triggerPublishCommentEdit, publishCommentEdit]);
// mobile navbar board select functionality
const handleSelectChange = (event) => {
const selected = event.target.value;
+11 -1
View File
@@ -32,10 +32,20 @@ const useError = () => {
}
}, [errorMessage, renderCount]);
const setNewErrorMessage = (message) => {
const setNewErrorMessage = (error) => {
let message;
if (typeof error === 'string') {
message = error;
} else if (error instanceof Error) {
message = error.message;
} else {
message = JSON.stringify(error);
}
setErrorMessage(message);
setRenderCount(prevCount => prevCount + 1);
};
return [errorMessage, setNewErrorMessage];
};