From 97b8456eacb0e68535cbc02fbfc18f1f3f2a821f Mon Sep 17 00:00:00 2001 From: QiShaoXuan Date: Wed, 11 Jan 2023 14:55:12 +0800 Subject: [PATCH] chore: remove usePageMetaList --- .../src/components/quick-search/Results.tsx | 8 +++--- .../components/workspace-slider-bar/index.tsx | 6 +---- packages/app/src/hooks/use-page-meta-list.ts | 25 ------------------- .../app/src/hooks/use-workspace-helper.ts | 3 +-- .../src/pages/workspace/[workspaceId]/all.tsx | 6 ++--- .../workspace/[workspaceId]/favorite.tsx | 6 ++--- .../pages/workspace/[workspaceId]/trash.tsx | 6 ++--- pnpm-lock.yaml | 24 ------------------ 8 files changed, 14 insertions(+), 70 deletions(-) delete mode 100644 packages/app/src/hooks/use-page-meta-list.ts diff --git a/packages/app/src/components/quick-search/Results.tsx b/packages/app/src/components/quick-search/Results.tsx index a11206f339..c0949ae803 100644 --- a/packages/app/src/components/quick-search/Results.tsx +++ b/packages/app/src/components/quick-search/Results.tsx @@ -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()); @@ -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 : ( diff --git a/packages/app/src/components/workspace-slider-bar/index.tsx b/packages/app/src/components/workspace-slider-bar/index.tsx index 31c4f9b4b9..232c744b52 100644 --- a/packages/app/src/components/workspace-slider-bar/index.tsx +++ b/packages/app/src/components/workspace-slider-bar/index.tsx @@ -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); diff --git a/packages/app/src/hooks/use-page-meta-list.ts b/packages/app/src/hooks/use-page-meta-list.ts deleted file mode 100644 index b500cca7ba..0000000000 --- a/packages/app/src/hooks/use-page-meta-list.ts +++ /dev/null @@ -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([]); - - 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; diff --git a/packages/app/src/hooks/use-workspace-helper.ts b/packages/app/src/hooks/use-workspace-helper.ts index af5fb5ad71..fd96f7f2e2 100644 --- a/packages/app/src/hooks/use-workspace-helper.ts +++ b/packages/app/src/hooks/use-workspace-helper.ts @@ -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; }; diff --git a/packages/app/src/pages/workspace/[workspaceId]/all.tsx b/packages/app/src/pages/workspace/[workspaceId]/all.tsx index 155a4303e5..27718d02ef 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/all.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/all.tsx @@ -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 ( <> }>{t('All pages')} !p.trash)} + pageList={pageList.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 bc64db309a..5e9e9ad752 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/favorite.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/favorite.tsx @@ -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 ( <> }> {t('Favourites')} - p.favorite && !p.trash)} /> + p.favorite && !p.trash)} /> ); }; diff --git a/packages/app/src/pages/workspace/[workspaceId]/trash.tsx b/packages/app/src/pages/workspace/[workspaceId]/trash.tsx index 07fa7ea1f4..bbcc742a63 100644 --- a/packages/app/src/pages/workspace/[workspaceId]/trash.tsx +++ b/packages/app/src/pages/workspace/[workspaceId]/trash.tsx @@ -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 ( <> }>{t('Trash')} - p.trash)} isTrash={true} /> + p.trash)} isTrash={true} /> ); }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 28fb228859..e824b01217 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2967,7 +2967,6 @@ packages: /@next/env/13.1.0: resolution: {integrity: sha512-6iNixFzCndH+Bl4FetQzOMjxCJqg8fs0LAlZviig1K6mIjOWH2m2oPcHcOg1Ta5VCe7Bx5KG1Hs+NrWDUkBt9A==} - dev: false /@next/eslint-plugin-next/12.3.1: resolution: {integrity: sha512-sw+lTf6r6P0j+g/n9y4qdWWI2syPqZx+uc0+B/fRENqfR3KpSid6MIKqc9gNwGhJASazEQ5b3w8h4cAET213jw==} @@ -2990,7 +2989,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: false optional: true /@next/swc-android-arm64/12.3.1: @@ -3008,7 +3006,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: false optional: true /@next/swc-darwin-arm64/12.3.1: @@ -3026,7 +3023,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@next/swc-darwin-x64/12.3.1: @@ -3044,7 +3040,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false optional: true /@next/swc-freebsd-x64/12.3.1: @@ -3062,7 +3057,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: false optional: true /@next/swc-linux-arm-gnueabihf/12.3.1: @@ -3080,7 +3074,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-linux-arm64-gnu/12.3.1: @@ -3098,7 +3091,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-linux-arm64-musl/12.3.1: @@ -3116,7 +3108,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-linux-x64-gnu/12.3.1: @@ -3134,7 +3125,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-linux-x64-musl/12.3.1: @@ -3152,7 +3142,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-win32-arm64-msvc/12.3.1: @@ -3170,7 +3159,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: false optional: true /@next/swc-win32-ia32-msvc/12.3.1: @@ -3188,7 +3176,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: false optional: true /@next/swc-win32-x64-msvc/12.3.1: @@ -3206,7 +3193,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false optional: true /@nodelib/fs.scandir/2.1.5: @@ -3569,7 +3555,6 @@ packages: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: tslib: 2.4.0 - dev: false /@szmarczak/http-timer/5.0.1: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -4536,7 +4521,6 @@ packages: /client-only/0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false /cliui/6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} @@ -7468,7 +7452,6 @@ packages: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: false /natural-compare-lite/1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -7591,7 +7574,6 @@ packages: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - dev: false /node-domexception/1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} @@ -7942,7 +7924,6 @@ packages: nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: false /preferred-pm/3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} @@ -8112,7 +8093,6 @@ packages: loose-envify: 1.4.0 react: 18.2.0 scheduler: 0.23.0 - dev: false /react-i18next/11.18.6_i18next@21.10.0: resolution: {integrity: sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==} @@ -8209,7 +8189,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 - dev: false /read-pkg-up/7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -8487,7 +8466,6 @@ packages: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 - dev: false /schema-utils/2.7.1: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} @@ -8646,7 +8624,6 @@ packages: /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: false /source-map-support/0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} @@ -8895,7 +8872,6 @@ packages: dependencies: client-only: 0.0.1 react: 18.2.0 - dev: false /stylis/4.0.13: resolution: {integrity: sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==}