fix rerender

This commit is contained in:
plebeius.eth
2023-06-29 18:10:27 +02:00
parent 54c120793a
commit b4057e1cfe
4 changed files with 116 additions and 92 deletions
+29 -23
View File
@@ -188,43 +188,49 @@ const ReplyModal = ({ isOpen, closeModal }) => {
}; };
useEffect(() => { const updateSigner = useCallback(async () => {
const updateSigner = async () => { if (anonymousMode) {
if (anonymousMode) { setExecuteAnonMode(true);
setExecuteAnonMode(true);
let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {}; let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {};
let signer; let signer;
if (!storedSigners[selectedParentCid]) { if (!storedSigners[selectedParentCid]) {
signer = await account?.plebbit.createSigner(); signer = await account?.plebbit.createSigner();
storedSigners[selectedParentCid] = { privateKey: signer?.privateKey, address: signer?.address }; storedSigners[selectedParentCid] = { privateKey: signer?.privateKey, address: signer?.address };
localStorage.setItem('storedSigners', JSON.stringify(storedSigners)); localStorage.setItem('storedSigners', JSON.stringify(storedSigners));
} else {
const signerPrivateKey = storedSigners[selectedParentCid].privateKey;
} else { try {
const signerPrivateKey = storedSigners[selectedParentCid].privateKey; signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
try { console.log(error);
signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
console.log(error);
}
} }
}
setPublishCommentOptions((prevPublishCommentOptions) => ({ setPublishCommentOptions(prevPublishCommentOptions => {
const newPublishCommentOptions = {
...prevPublishCommentOptions, ...prevPublishCommentOptions,
signer, signer,
author: { author: {
...prevPublishCommentOptions.author, ...prevPublishCommentOptions.author,
address: signer?.address address: signer?.address
}, },
})); };
} if (JSON.stringify(prevPublishCommentOptions) !== JSON.stringify(newPublishCommentOptions)) {
}; return newPublishCommentOptions;
}
return prevPublishCommentOptions;
});
}
}, [selectedParentCid, anonymousMode, account]);
useEffect(() => {
updateSigner(); updateSigner();
}, [selectedParentCid, anonymousMode, account, setNewErrorMessage]); }, [updateSigner]);
useEffect(() => { useEffect(() => {
+29 -23
View File
@@ -383,43 +383,49 @@ const Board = () => {
}; };
useEffect(() => { const updateSigner = useCallback(async () => {
const updateSigner = async () => { if (anonymousMode) {
if (anonymousMode) { setExecuteAnonMode(true);
setExecuteAnonMode(true);
let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {}; let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {};
let signer; let signer;
if (!storedSigners[selectedThreadCidRef]) { if (!storedSigners[selectedThreadCidRef]) {
signer = await account?.plebbit.createSigner(); signer = await account?.plebbit.createSigner();
storedSigners[selectedThreadCidRef] = { privateKey: signer?.privateKey, address: signer?.address }; storedSigners[selectedThreadCidRef] = { privateKey: signer?.privateKey, address: signer?.address };
localStorage.setItem('storedSigners', JSON.stringify(storedSigners)); localStorage.setItem('storedSigners', JSON.stringify(storedSigners));
} else {
const signerPrivateKey = storedSigners[selectedThreadCidRef].privateKey;
} else { try {
const signerPrivateKey = storedSigners[selectedThreadCidRef].privateKey; signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
try { console.log(error);
signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
console.log(error);
}
} }
}
setPublishCommentOptions((prevPublishCommentOptions) => ({ setPublishCommentOptions(prevPublishCommentOptions => {
const newPublishCommentOptions = {
...prevPublishCommentOptions, ...prevPublishCommentOptions,
signer, signer,
author: { author: {
...prevPublishCommentOptions.author, ...prevPublishCommentOptions.author,
address: signer?.address address: signer?.address
}, },
})); };
} if (JSON.stringify(prevPublishCommentOptions) !== JSON.stringify(newPublishCommentOptions)) {
}; return newPublishCommentOptions;
}
return prevPublishCommentOptions;
});
}
}, [selectedThreadCidRef, anonymousMode, account]);
useEffect(() => {
updateSigner(); updateSigner();
}, [selectedThreadCidRef, anonymousMode, account, setNewErrorMessage]); }, [updateSigner]);
+29 -23
View File
@@ -282,43 +282,49 @@ const Catalog = () => {
}; };
useEffect(() => { const updateSigner = useCallback(async () => {
const updateSigner = async () => { if (anonymousMode) {
if (anonymousMode) { setExecuteAnonMode(true);
setExecuteAnonMode(true);
let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {}; let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {};
let signer; let signer;
if (!storedSigners[selectedThreadCidRef]) { if (!storedSigners[selectedThreadCidRef]) {
signer = await account?.plebbit.createSigner(); signer = await account?.plebbit.createSigner();
storedSigners[selectedThreadCidRef] = { privateKey: signer?.privateKey, address: signer?.address }; storedSigners[selectedThreadCidRef] = { privateKey: signer?.privateKey, address: signer?.address };
localStorage.setItem('storedSigners', JSON.stringify(storedSigners)); localStorage.setItem('storedSigners', JSON.stringify(storedSigners));
} else {
const signerPrivateKey = storedSigners[selectedThreadCidRef].privateKey;
} else { try {
const signerPrivateKey = storedSigners[selectedThreadCidRef].privateKey; signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
try { console.log(error);
signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
console.log(error);
}
} }
}
setPublishCommentOptions((prevPublishCommentOptions) => ({ setPublishCommentOptions(prevPublishCommentOptions => {
const newPublishCommentOptions = {
...prevPublishCommentOptions, ...prevPublishCommentOptions,
signer, signer,
author: { author: {
...prevPublishCommentOptions.author, ...prevPublishCommentOptions.author,
address: signer?.address address: signer?.address
}, },
})); };
} if (JSON.stringify(prevPublishCommentOptions) !== JSON.stringify(newPublishCommentOptions)) {
}; return newPublishCommentOptions;
}
return prevPublishCommentOptions;
});
}
}, [selectedThreadCidRef, anonymousMode, account]);
useEffect(() => {
updateSigner(); updateSigner();
}, [selectedThreadCidRef, anonymousMode, account, setNewErrorMessage]); }, [updateSigner]);
useEffect(() => { useEffect(() => {
+29 -23
View File
@@ -347,43 +347,49 @@ const Thread = () => {
}; };
useEffect(() => { const updateSigner = useCallback(async () => {
const updateSigner = async () => { if (anonymousMode) {
if (anonymousMode) { setExecuteAnonMode(true);
setExecuteAnonMode(true);
let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {}; let storedSigners = JSON.parse(localStorage.getItem('storedSigners')) || {};
let signer; let signer;
if (!storedSigners[selectedThread]) { if (!storedSigners[selectedThread]) {
signer = await account?.plebbit.createSigner(); signer = await account?.plebbit.createSigner();
storedSigners[selectedThread] = { privateKey: signer?.privateKey, address: signer?.address }; storedSigners[selectedThread] = { privateKey: signer?.privateKey, address: signer?.address };
localStorage.setItem('storedSigners', JSON.stringify(storedSigners)); localStorage.setItem('storedSigners', JSON.stringify(storedSigners));
} else {
const signerPrivateKey = storedSigners[selectedThread].privateKey;
} else { try {
const signerPrivateKey = storedSigners[selectedThread].privateKey; signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
try { console.log(error);
signer = await account?.plebbit.createSigner({type: 'ed25519', privateKey: signerPrivateKey});
} catch (error) {
console.log(error);
}
} }
}
setPublishCommentOptions((prevPublishCommentOptions) => ({ setPublishCommentOptions(prevPublishCommentOptions => {
const newPublishCommentOptions = {
...prevPublishCommentOptions, ...prevPublishCommentOptions,
signer, signer,
author: { author: {
...prevPublishCommentOptions.author, ...prevPublishCommentOptions.author,
address: signer?.address address: signer?.address
}, },
})); };
} if (JSON.stringify(prevPublishCommentOptions) !== JSON.stringify(newPublishCommentOptions)) {
}; return newPublishCommentOptions;
}
return prevPublishCommentOptions;
});
}
}, [selectedThread, anonymousMode, account]);
useEffect(() => {
updateSigner(); updateSigner();
}, [selectedThread, anonymousMode, account, setNewErrorMessage]); }, [updateSigner]);
useEffect(() => { useEffect(() => {