From 62d9b0c959e08645b082998fad1476113d0c929e Mon Sep 17 00:00:00 2001 From: JimmFly <447268514@qq.com> Date: Mon, 1 Apr 2024 08:16:17 +0000 Subject: [PATCH] fix(core): unexpected editable state after trash page refresh (#6433) close TOV-772 --- .../pages/workspace/detail-page/detail-page.tsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx index 17e81f22cdcc..7982f4ed74f5 100644 --- a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx +++ b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx @@ -277,7 +277,6 @@ const DetailPageImpl = memo(function DetailPageImpl() { export const DetailPage = ({ pageId }: { pageId: string }): ReactElement => { const currentWorkspace = useService(Workspace); const pageRecordList = useService(PageRecordList); - const pageListReady = useLiveData(pageRecordList.isReady$); const pageRecords = useLiveData(pageRecordList.records$); @@ -286,7 +285,6 @@ export const DetailPage = ({ pageId }: { pageId: string }): ReactElement => { () => pageRecords.find(page => page.id === pageId), [pageRecords, pageId] ); - const pageManager = useService(PageManager); const [page, setPage] = useState(null); @@ -318,6 +316,19 @@ export const DetailPage = ({ pageId }: { pageId: string }): ReactElement => { } }, [jumpOnce, pageRecord]); + useEffect(() => { + if (page && pageRecord?.meta?.trash) { + currentWorkspace.docCollection.awarenessStore.setReadonly( + page.blockSuiteDoc, + true + ); + } + }, [ + currentWorkspace.docCollection.awarenessStore, + page, + pageRecord?.meta?.trash, + ]); + // if sync engine has been synced and the page is null, show 404 page. if (pageListReady && !page) { return ;