chore: remove usePageMetaList

This commit is contained in:
QiShaoXuan
2023-01-11 14:55:12 +08:00
parent 65f767e35a
commit 97b8456eac
8 changed files with 14 additions and 70 deletions

View File

@@ -9,7 +9,6 @@ import { useSwitchToConfig } from './config';
import { NoResultSVG } from './NoResultSVG';
import { useTranslation } from '@affine/i18n';
import usePageHelper from '@/hooks/use-page-helper';
import usePageMetaList from '@/hooks/use-page-meta-list';
export const Results = (props: {
query: string;
loading: boolean;
@@ -21,10 +20,9 @@ export const Results = (props: {
const setLoading = props.setLoading;
const setShowCreatePage = props.setShowCreatePage;
const { triggerQuickSearchModal } = useModal();
const pageMetaList = usePageMetaList();
const { openPage } = usePageHelper();
const router = useRouter();
const { currentWorkspaceId } = useAppState();
const { currentWorkspaceId, pageList } = useAppState();
const { search } = usePageHelper();
const List = useSwitchToConfig(currentWorkspaceId);
const [results, setResults] = useState(new Map<string, string | undefined>());
@@ -37,12 +35,12 @@ export const Results = (props: {
}, [query, setResults, setLoading]);
const pageIds = [...results.values()];
const resultsPageMeta = pageMetaList.filter(
const resultsPageMeta = pageList.filter(
page => pageIds.indexOf(page.id) > -1 && !page.trash
);
useEffect(() => {
setShowCreatePage(resultsPageMeta.length ? false : true);
setShowCreatePage(!resultsPageMeta.length);
//Determine whether to display the + New page
}, [resultsPageMeta, setShowCreatePage]);
return loading ? null : (

View File

@@ -5,14 +5,12 @@ import {
StyledLink,
StyledListItem,
StyledListItemForWorkspace,
// StyledListItemForWorkspace,
StyledNewPageButton,
StyledSliderBar,
StyledSliderBarWrapper,
StyledSubListItem,
} from './style';
import { Arrow } from './icons';
// import { WorkspaceSelector } from './WorkspaceSelector';
import Collapse from '@mui/material/Collapse';
import {
ArrowDownIcon,
@@ -30,15 +28,13 @@ import { useModal } from '@/providers/GlobalModalProvider';
import { useAppState } from '@/providers/app-state-provider';
import { IconButton } from '@/ui/button';
import useLocalStorage from '@/hooks/use-local-storage';
import usePageMetaList from '@/hooks/use-page-meta-list';
import { usePageHelper } from '@/hooks/use-page-helper';
// import { WorkspaceSetting } from '@/components/workspace-setting';
import { useTranslation } from '@affine/i18n';
import { WorkspaceSelector } from './WorkspaceSelector/WorkspaceSelector';
const FavoriteList = ({ showList }: { showList: boolean }) => {
const { openPage } = usePageHelper();
const pageList = usePageMetaList();
const { pageList } = useAppState();
const router = useRouter();
const { t } = useTranslation();
const favoriteList = pageList.filter(p => p.favorite && !p.trash);

View File

@@ -1,25 +0,0 @@
import { useEffect, useState } from 'react';
import { PageMeta } from '@/providers/app-state-provider';
import { useAppState } from '@/providers/app-state-provider';
export const usePageMetaList = () => {
const { currentWorkspace } = useAppState();
const [pageList, setPageList] = useState<PageMeta[]>([]);
useEffect(() => {
if (!currentWorkspace) {
return;
}
setPageList(currentWorkspace.meta.pageMetas as PageMeta[]);
const dispose = currentWorkspace.meta.pagesUpdated.on(() => {
setPageList(currentWorkspace.meta.pageMetas as PageMeta[]);
}).dispose;
return () => {
dispose();
};
}, [currentWorkspace]);
return pageList;
};
export default usePageMetaList;

View File

@@ -12,8 +12,7 @@ export const useWorkspaceHelper = () => {
name: name,
});
if (workspaceInfo && workspaceInfo.room) {
const workspace = await dataCenter.loadWorkspace(workspaceInfo.room);
return workspace;
return await dataCenter.loadWorkspace(workspaceInfo.room);
}
return null;
};

View File

@@ -1,18 +1,18 @@
import { PageList } from '@/components/page-list';
import { AllPagesIcon } from '@blocksuite/icons';
import usePageMetaList from '@/hooks/use-page-meta-list';
import { PageListHeader } from '@/components/header';
import { ReactElement } from 'react';
import WorkspaceLayout from '@/components/workspace-layout';
import { useTranslation } from '@affine/i18n';
import { useAppState } from '@/providers/app-state-provider';
const All = () => {
const pageMetaList = usePageMetaList();
const { pageList } = useAppState();
const { t } = useTranslation();
return (
<>
<PageListHeader icon={<AllPagesIcon />}>{t('All pages')}</PageListHeader>
<PageList
pageList={pageMetaList.filter(p => !p.trash)}
pageList={pageList.filter(p => !p.trash)}
showFavoriteTag={true}
/>
</>

View File

@@ -1,19 +1,19 @@
import { PageListHeader } from '@/components/header';
import { PageList } from '@/components/page-list';
import { FavouritesIcon } from '@blocksuite/icons';
import usePageMetaList from '@/hooks/use-page-meta-list';
import { ReactElement } from 'react';
import WorkspaceLayout from '@/components/workspace-layout';
import { useTranslation } from '@affine/i18n';
import { useAppState } from '@/providers/app-state-provider';
export const Favorite = () => {
const pageMetaList = usePageMetaList();
const { pageList } = useAppState();
const { t } = useTranslation();
return (
<>
<PageListHeader icon={<FavouritesIcon />}>
{t('Favourites')}
</PageListHeader>
<PageList pageList={pageMetaList.filter(p => p.favorite && !p.trash)} />
<PageList pageList={pageList.filter(p => p.favorite && !p.trash)} />
</>
);
};

View File

@@ -1,17 +1,17 @@
import { PageListHeader } from '@/components/header';
import { PageList } from '@/components/page-list';
import { TrashIcon } from '@blocksuite/icons';
import usePageMetaList from '@/hooks/use-page-meta-list';
import { ReactElement } from 'react';
import WorkspaceLayout from '@/components/workspace-layout';
import { useTranslation } from '@affine/i18n';
import { useAppState } from '@/providers/app-state-provider';
export const Trash = () => {
const pageMetaList = usePageMetaList();
const { pageList } = useAppState();
const { t } = useTranslation();
return (
<>
<PageListHeader icon={<TrashIcon />}>{t('Trash')}</PageListHeader>
<PageList pageList={pageMetaList.filter(p => p.trash)} isTrash={true} />
<PageList pageList={pageList.filter(p => p.trash)} isTrash={true} />
</>
);
};