From 9280388c31bb9d233e86e066911563709b265f94 Mon Sep 17 00:00:00 2001 From: QiShaoXuan Date: Wed, 21 Dec 2022 17:09:30 +0800 Subject: [PATCH] chore: remove usePagelist --- .../src/components/quick-search/results.tsx | 10 ++++----- packages/app/src/hooks/use-page-helper.ts | 2 ++ .../src/pages/workspace/[workspaceId]/all.tsx | 8 +++---- .../workspace/[workspaceId]/favorite.tsx | 6 ++--- .../pages/workspace/[workspaceId]/trash.tsx | 7 +++--- .../app-state-provider/usePageList.ts | 22 ------------------- 6 files changed, 17 insertions(+), 38 deletions(-) delete mode 100644 packages/app/src/providers/app-state-provider/usePageList.ts diff --git a/packages/app/src/components/quick-search/results.tsx b/packages/app/src/components/quick-search/results.tsx index c9a5a56706..bd10cc335a 100644 --- a/packages/app/src/components/quick-search/results.tsx +++ b/packages/app/src/components/quick-search/results.tsx @@ -6,10 +6,9 @@ import { Dispatch, SetStateAction, useEffect, useState } from 'react'; import { useAppState } from '@/providers/app-state-provider/context'; import { useRouter } from 'next/router'; import { config } from './config'; -import { usePageList } from '@/providers/app-state-provider/usePageList'; -import { useLoadWorkspace } from '@/providers/app-state-provider/hooks'; import { NoResultSVG } from './noResultSVG'; -import { usePageHelper } from '@/hooks/use-page-helper'; +import usePageHelper from '@/hooks/use-page-helper'; +import usePageMetaList from '@/hooks/use-page-meta-list'; export const Results = (props: { query: string; loading: boolean; @@ -21,8 +20,7 @@ export const Results = (props: { const setLoading = props.setLoading; const setShowCreatePage = props.setShowCreatePage; const { triggerQuickSearchModal } = useModal(); - const workspace = useLoadWorkspace(); - const pageList = usePageList(workspace); + const pageMetaList = usePageMetaList(); const { openPage } = usePageHelper(); const router = useRouter(); const { currentWorkspaceId } = useAppState(); @@ -36,7 +34,7 @@ export const Results = (props: { }, [query, search, setLoading]); const pageIds = [...results.values()]; - const resultsPageMeta = pageList.filter( + const resultsPageMeta = pageMetaList.filter( page => pageIds.indexOf(page.id) > -1 && !page.trash ); diff --git a/packages/app/src/hooks/use-page-helper.ts b/packages/app/src/hooks/use-page-helper.ts index e5a30e43fa..b1b4c4ae6e 100644 --- a/packages/app/src/hooks/use-page-helper.ts +++ b/packages/app/src/hooks/use-page-helper.ts @@ -103,3 +103,5 @@ export const usePageHelper = (): EditorHandlers => { }, }; }; + +export default usePageHelper; diff --git a/packages/app/src/pages/workspace/[workspaceId]/all.tsx b/packages/app/src/pages/workspace/[workspaceId]/all.tsx index 878e6d4eac..59b25448f1 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/all.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/all.tsx @@ -1,18 +1,18 @@ -import { usePageList } from '@/providers/app-state-provider/usePageList'; import { useLoadWorkspace } from '@/providers/app-state-provider/hooks'; import { PageList } from '@/components/page-list'; import { AllPagesIcon } from '@blocksuite/icons'; - +import usePageMetaList from '@/hooks/use-page-meta-list'; import { PageListHeader } from '@/components/header'; const All = () => { const workspace = useLoadWorkspace(); - const allPageList = usePageList(workspace); + const pageMetaList = usePageMetaList(); + return workspace ? ( <> }>All Page !p.trash)} + pageList={pageMetaList.filter(p => !p.trash)} showFavoriteTag={true} /> diff --git a/packages/app/src/pages/workspace/[workspaceId]/favorite.tsx b/packages/app/src/pages/workspace/[workspaceId]/favorite.tsx index 51b3ea03bc..1202fdd9bd 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/favorite.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/favorite.tsx @@ -1,16 +1,16 @@ -import { usePageList } from '@/providers/app-state-provider/usePageList'; import { useLoadWorkspace } from '@/providers/app-state-provider/hooks'; import { PageListHeader } from '@/components/header'; import { PageList } from '@/components/page-list'; import { FavouritesIcon } from '@blocksuite/icons'; +import usePageMetaList from '@/hooks/use-page-meta-list'; export const Favorite = () => { const workspace = useLoadWorkspace(); - const allPageList = usePageList(workspace); + const pageMetaList = usePageMetaList(); return workspace ? ( <> }>Favourites - p.favorite && !p.trash)} /> + p.favorite && !p.trash)} /> ) : null; }; diff --git a/packages/app/src/pages/workspace/[workspaceId]/trash.tsx b/packages/app/src/pages/workspace/[workspaceId]/trash.tsx index 54a45a92ba..73cbec8432 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/trash.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/trash.tsx @@ -1,15 +1,16 @@ -import { usePageList } from '@/providers/app-state-provider/usePageList'; import { useLoadWorkspace } from '@/providers/app-state-provider/hooks'; import { PageListHeader } from '@/components/header'; import { PageList } from '@/components/page-list'; import { TrashIcon } from '@blocksuite/icons'; +import usePageMetaList from '@/hooks/use-page-meta-list'; + export const Trash = () => { const workspace = useLoadWorkspace(); - const allPageList = usePageList(workspace); + const pageMetaList = usePageMetaList(); return workspace ? ( <> }>Trash - p.trash)} isTrash={true} /> + p.trash)} isTrash={true} /> ) : null; }; diff --git a/packages/app/src/providers/app-state-provider/usePageList.ts b/packages/app/src/providers/app-state-provider/usePageList.ts deleted file mode 100644 index e39f5f1b18..0000000000 --- a/packages/app/src/providers/app-state-provider/usePageList.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { useState, useEffect } from 'react'; -import type { Workspace } from '@blocksuite/store'; -import { PageMeta } from './interface'; - -export const usePageList = (workspace: Workspace | null) => { - const [pageList, setPageList] = useState([]); - - useEffect(() => { - if (!workspace) { - return; - } - setPageList(workspace.meta.pageMetas as PageMeta[]); - const dispose = workspace.meta.pagesUpdated.on(res => { - setPageList(workspace.meta.pageMetas as PageMeta[]); - }).dispose; - return () => { - dispose(); - }; - }, [workspace]); - - return pageList; -};