fix anon mode was altering comment.author

This commit is contained in:
Tom (plebeius.eth)
2024-08-08 17:48:45 +02:00
parent 179a328941
commit 188d7b73b1
3 changed files with 46 additions and 25 deletions
+13 -5
View File
@@ -27,7 +27,8 @@ import useFetchGifFirstFrame from '../../hooks/use-fetch-gif-first-frame';
import useAnonMode from '../../hooks/use-anon-mode';
type SubmitState = {
author: any | undefined;
author?: any | undefined;
displayName?: string | undefined;
signer?: any | undefined;
subplebbitAddress: string | undefined;
title: string | undefined;
@@ -50,10 +51,11 @@ const useSubmitStore = create<SubmitState>((set) => ({
link: undefined,
spoiler: undefined,
publishCommentOptions: {},
setSubmitStore: ({ author, signer, subplebbitAddress, title, content, link, spoiler }) =>
setSubmitStore: ({ author, displayName, signer, subplebbitAddress, title, content, link, spoiler }) =>
set((state) => {
const updatedAuthor = displayName ? { ...author, displayName } : author;
const nextState = { ...state };
if (author !== undefined) nextState.author = author;
if (author !== undefined) nextState.author = updatedAuthor;
if (signer !== undefined) nextState.signer = signer;
if (subplebbitAddress !== undefined) nextState.subplebbitAddress = subplebbitAddress;
if (title !== undefined) nextState.title = title || undefined;
@@ -62,7 +64,6 @@ const useSubmitStore = create<SubmitState>((set) => ({
if (spoiler !== undefined) nextState.spoiler = spoiler || undefined;
const publishCommentOptions: PublishCommentOptions = {
author: nextState.author,
subplebbitAddress: nextState.subplebbitAddress,
title: nextState.title,
content: nextState.content,
@@ -80,6 +81,10 @@ const useSubmitStore = create<SubmitState>((set) => ({
publishCommentOptions.signer = nextState.signer;
}
if (nextState.author) {
publishCommentOptions.author = nextState.author;
}
nextState.publishCommentOptions = publishCommentOptions;
return nextState;
}),
@@ -269,7 +274,10 @@ const PostFormTable = ({ closeForm, postCid }: { closeForm: () => void; postCid:
type='text'
placeholder={!displayName ? _.capitalize(t('anonymous')) : undefined}
defaultValue={displayName || undefined}
onChange={(e) => setAccount({ ...account, author: { ...account?.author, displayName: e.target.value } })}
onChange={(e) => {
setAccount({ ...account, author: { ...account?.author, displayName: e.target.value } });
setSubmitStore({ displayName: e.target.value });
}}
/>
{isInPostView && <button onClick={onPublishReply}>{t('post')}</button>}
</td>