mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-22 12:36:24 +08:00
chore: remove usePagelist
This commit is contained in:
@@ -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
|
||||
);
|
||||
|
||||
|
||||
@@ -103,3 +103,5 @@ export const usePageHelper = (): EditorHandlers => {
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
export default usePageHelper;
|
||||
|
||||
@@ -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 ? (
|
||||
<>
|
||||
<PageListHeader icon={<AllPagesIcon />}>All Page</PageListHeader>
|
||||
<PageList
|
||||
pageList={allPageList.filter(p => !p.trash)}
|
||||
pageList={pageMetaList.filter(p => !p.trash)}
|
||||
showFavoriteTag={true}
|
||||
/>
|
||||
</>
|
||||
|
||||
@@ -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 ? (
|
||||
<>
|
||||
<PageListHeader icon={<FavouritesIcon />}>Favourites</PageListHeader>
|
||||
<PageList pageList={allPageList.filter(p => p.favorite && !p.trash)} />
|
||||
<PageList pageList={pageMetaList.filter(p => p.favorite && !p.trash)} />
|
||||
</>
|
||||
) : null;
|
||||
};
|
||||
|
||||
@@ -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 ? (
|
||||
<>
|
||||
<PageListHeader icon={<TrashIcon />}>Trash</PageListHeader>
|
||||
<PageList pageList={allPageList.filter(p => p.trash)} isTrash={true} />
|
||||
<PageList pageList={pageMetaList.filter(p => p.trash)} isTrash={true} />
|
||||
</>
|
||||
) : 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<PageMeta[]>([]);
|
||||
|
||||
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;
|
||||
};
|
||||
Reference in New Issue
Block a user