From 77d3853f7329028d78165794d9602f4afaee04d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Krau=C3=9F?= Date: Wed, 28 May 2025 16:18:41 +0200 Subject: [PATCH] fix: inherits memo visibility for default comment visibility (#4728) --- web/src/components/MemoEditor/index.tsx | 10 ++++++---- web/src/pages/MemoDetail.tsx | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/web/src/components/MemoEditor/index.tsx b/web/src/components/MemoEditor/index.tsx index 42c6fe0c4..b18301cd5 100644 --- a/web/src/components/MemoEditor/index.tsx +++ b/web/src/components/MemoEditor/index.tsx @@ -40,6 +40,8 @@ export interface Props { memoName?: string; // The name of the parent memo if the memo is a comment. parentMemoName?: string; + // The visibility of the parent memo for preset when commenting + parentMemoVisibility?: Visibility; autoFocus?: boolean; onConfirm?: (memoName: string) => void; onCancel?: () => void; @@ -57,12 +59,12 @@ interface State { } const MemoEditor = observer((props: Props) => { - const { className, cacheKey, memoName, parentMemoName, autoFocus, onConfirm, onCancel } = props; + const { className, cacheKey, memoName, parentMemoName, parentMemoVisibility, autoFocus, onConfirm, onCancel } = props; const t = useTranslate(); const { i18n } = useTranslation(); const currentUser = useCurrentUser(); const [state, setState] = useState({ - memoVisibility: Visibility.PRIVATE, + memoVisibility: parentMemoVisibility ?? Visibility.PRIVATE, resourceList: [], relationList: [], location: undefined, @@ -96,7 +98,7 @@ const MemoEditor = observer((props: Props) => { }, [autoFocus]); useEffect(() => { - let visibility = userSetting.memoVisibility; + let visibility = parentMemoVisibility ?? userSetting.memoVisibility; if (workspaceMemoRelatedSetting.disallowPublicVisibility && visibility === "PUBLIC") { visibility = "PRIVATE"; } @@ -104,7 +106,7 @@ const MemoEditor = observer((props: Props) => { ...prevState, memoVisibility: convertVisibilityFromString(visibility), })); - }, [userSetting.memoVisibility, workspaceMemoRelatedSetting.disallowPublicVisibility]); + }, [parentMemoVisibility, userSetting.memoVisibility, workspaceMemoRelatedSetting.disallowPublicVisibility]); useAsyncEffect(async () => { if (!memoName) { diff --git a/web/src/pages/MemoDetail.tsx b/web/src/pages/MemoDetail.tsx index e3c665bfe..ba8526e81 100644 --- a/web/src/pages/MemoDetail.tsx +++ b/web/src/pages/MemoDetail.tsx @@ -160,6 +160,7 @@ const MemoDetail = observer(() => { cacheKey={`${memo.name}-${memo.updateTime}-comment`} placeholder={t("editor.add-your-comment-here")} parentMemoName={memo.name} + parentMemoVisibility={memo.visibility} autoFocus onConfirm={handleCommentCreated} onCancel={() => setShowCommentEditor(false)}