From 9d46b358d481ed90edc741500ba7b19be596be9e Mon Sep 17 00:00:00 2001 From: Himself65 Date: Thu, 2 Mar 2023 15:11:37 -0600 Subject: [PATCH] feat: add list skeleton in public workspace (#1278) --- .../pages/public-workspace/[workspaceId].tsx | 18 ++++++++++++++++-- .../component/src/components/ListSkeleton.tsx | 13 +++++++++++++ packages/component/src/index.ts | 1 + 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 packages/component/src/components/ListSkeleton.tsx diff --git a/apps/web/src/pages/public-workspace/[workspaceId].tsx b/apps/web/src/pages/public-workspace/[workspaceId].tsx index 62d47676ae..3ce7f9fe5a 100644 --- a/apps/web/src/pages/public-workspace/[workspaceId].tsx +++ b/apps/web/src/pages/public-workspace/[workspaceId].tsx @@ -1,4 +1,6 @@ +import { ListSkeleton } from '@affine/component'; import { useAtomValue, useSetAtom } from 'jotai'; +import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import React, { Suspense, useCallback, useEffect } from 'react'; @@ -8,11 +10,17 @@ import { publicWorkspaceIdAtom, } from '../../atoms/public-workspace'; import { QueryParamError } from '../../components/affine/affine-error-eoundary'; -import { BlockSuitePublicPageList } from '../../components/blocksuite/block-suite-page-list'; +import { StyledTableContainer } from '../../components/blocksuite/block-suite-page-list/page-list/styles'; import { PageLoading } from '../../components/pure/loading'; import { WorkspaceLayout } from '../../layouts'; import { NextPageWithLayout } from '../../shared'; +const BlockSuitePublicPageList = dynamic( + async () => + (await import('../../components/blocksuite/block-suite-page-list')) + .BlockSuitePublicPageList +); + const ListPageInner: React.FC<{ workspaceId: string; }> = ({ workspaceId }) => { @@ -64,7 +72,13 @@ const ListPage: NextPageWithLayout = () => { throw new QueryParamError('workspaceId', workspaceId); } return ( - }> + + + + } + > ); diff --git a/packages/component/src/components/ListSkeleton.tsx b/packages/component/src/components/ListSkeleton.tsx new file mode 100644 index 0000000000..9d24d8b5a6 --- /dev/null +++ b/packages/component/src/components/ListSkeleton.tsx @@ -0,0 +1,13 @@ +import { Skeleton } from '@mui/material'; +import { memo } from 'react'; + +export const ListSkeleton = memo(function ListItemSkeleton() { + return ( + <> + + + + + + ); +}); diff --git a/packages/component/src/index.ts b/packages/component/src/index.ts index f372317228..5e46892cec 100644 --- a/packages/component/src/index.ts +++ b/packages/component/src/index.ts @@ -1,4 +1,5 @@ // export * from './components/BlockSuiteEditor'; +export * from './components/ListSkeleton'; export * from './styles'; export * from './ui/breadcrumbs'; export * from './ui/button';