mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-25 06:18:45 +08:00
fix(core): unexpected editable state after trash page refresh (#6433)
close TOV-772
This commit is contained in:
@@ -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<Doc | null>(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 <PageNotFound />;
|
||||
|
||||
Reference in New Issue
Block a user