From dddcc85d995563076c42cdf7761a9484f2aa3367 Mon Sep 17 00:00:00 2001 From: "Tom (plebeius.eth)" Date: Thu, 15 Aug 2024 16:43:35 +0200 Subject: [PATCH] fix anon mode bug with post form for posts --- src/components/post-form/post-form.tsx | 35 +++++++++++++++++++++----- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/components/post-form/post-form.tsx b/src/components/post-form/post-form.tsx index ab38d5d0..8172181c 100644 --- a/src/components/post-form/post-form.tsx +++ b/src/components/post-form/post-form.tsx @@ -44,6 +44,7 @@ const { addChallenge } = useChallengesStore.getState(); const useSubmitStore = create((set) => ({ author: undefined, + displayName: undefined, signer: undefined, subplebbitAddress: undefined, title: undefined, @@ -91,6 +92,7 @@ const useSubmitStore = create((set) => ({ resetSubmitStore: () => set({ author: undefined, + displayName: undefined, signer: undefined, subplebbitAddress: undefined, title: undefined, @@ -154,17 +156,28 @@ const PostFormTable = ({ closeForm, postCid }: { closeForm: () => void; postCid: const hasCalledAnonAddressRef = useRef(false); const getAnonAddressForPost = useCallback(async () => { - if (anonMode && !hasCalledAnonAddressRef.current) { - hasCalledAnonAddressRef.current = true; - const newSigner = (await getNewSigner()) || {}; + if (anonMode) { + if (!hasCalledAnonAddressRef.current) { + hasCalledAnonAddressRef.current = true; + const newSigner = (await getNewSigner()) || {}; + setSubmitStore({ + signer: newSigner, + author: { + address: newSigner.address, + displayName: account?.author?.displayName, + }, + }); + } + } else { setSubmitStore({ - signer: newSigner, + signer: undefined, author: { - address: newSigner.address, + address: account?.author?.address, + displayName: account?.author?.displayName, }, }); } - }, [anonMode, getNewSigner, setSubmitStore]); + }, [anonMode, getNewSigner, account, setSubmitStore]); const onPublishPost = async () => { if (!title && !content && !link) { @@ -176,6 +189,16 @@ const PostFormTable = ({ closeForm, postCid }: { closeForm: () => void; postCid: return; } + if (!anonMode) { + setSubmitStore({ + signer: undefined, + author: { + address: account?.author?.address, + displayName: account?.author?.displayName, + }, + }); + } + publishComment(); };