From a633fb6dead237e6afa982c7623c939ab07fffc4 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Tue, 26 Sep 2023 09:53:01 -0500 Subject: [PATCH] fix: current page atom (#4515) --- packages/sdk/src/entry.ts | 2 +- plugins/outline/src/app.tsx | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/sdk/src/entry.ts b/packages/sdk/src/entry.ts index 2ec3ad7e17..5288cb3260 100644 --- a/packages/sdk/src/entry.ts +++ b/packages/sdk/src/entry.ts @@ -60,6 +60,6 @@ export declare const pushLayoutAtom: WritableAtom< void >; export declare const deleteLayoutAtom: WritableAtom; -export declare const currentPageAtom: Atom>; +export declare const currentPageIdAtom: Atom; export declare const currentWorkspaceAtom: Atom>; export declare const rootStore: ReturnType; diff --git a/plugins/outline/src/app.tsx b/plugins/outline/src/app.tsx index 1c117d37a8..1f54ad30be 100644 --- a/plugins/outline/src/app.tsx +++ b/plugins/outline/src/app.tsx @@ -1,5 +1,6 @@ import { - currentPageAtom, + currentPageIdAtom, + currentWorkspaceAtom, deleteLayoutAtom, pushLayoutAtom, } from '@affine/sdk/entry'; @@ -15,7 +16,11 @@ import { createRoot } from 'react-dom/client'; const Outline = () => { const tocPanelRef = useRef(null); - const currentPage = useAtomValue(currentPageAtom); + const currentPageId = useAtomValue(currentPageIdAtom); + assertExists(currentPageId, 'current page id'); + const currentWorkspace = useAtomValue(currentWorkspaceAtom); + const currentPage = currentWorkspace.getPage(currentPageId); + assertExists(currentPage, 'current page'); if (!tocPanelRef.current) { tocPanelRef.current = new TOCNotesPanel();