revert: loadWorkspace unexpected behavior (#1172)

This commit is contained in:
Himself65
2023-02-21 20:44:18 -06:00
committed by GitHub
parent 86346b284e
commit 0b072da346
49 changed files with 1225 additions and 2198 deletions

View File

@@ -2,7 +2,6 @@ import { displayFlex, styled } from '@affine/component';
import { Breadcrumbs } from '@affine/component';
import { IconButton } from '@affine/component';
import { useTranslation } from '@affine/i18n';
import { useDataCenterPublicWorkspace } from '@affine/store';
import { PaperIcon, SearchIcon } from '@blocksuite/icons';
import dynamic from 'next/dynamic';
import NextLink from 'next/link';
@@ -11,6 +10,7 @@ import { ReactElement, useEffect, useMemo } from 'react';
import { PageLoading } from '@/components/loading';
import { WorkspaceUnitAvatar } from '@/components/workspace-avatar';
import { useLoadPublicWorkspace } from '@/hooks/use-load-public-workspace';
import { useModal } from '@/store/globalModal';
import type { NextPageWithLayout } from '../..//_app';
@@ -21,17 +21,13 @@ const DynamicBlocksuite = dynamic(() => import('@/components/editor'), {
const Page: NextPageWithLayout = () => {
const router = useRouter();
const { workspaceId, pageId } = router.query;
const { error, workspace: workspaceUnit } = useDataCenterPublicWorkspace(
typeof workspaceId === 'string' ? workspaceId : null
);
const { workspaceId, pageId } = router.query as Record<string, string>;
const { status, workspace: workspaceUnit } =
useLoadPublicWorkspace(workspaceId);
const { triggerQuickSearchModal } = useModal();
const { t } = useTranslation();
const page = useMemo(() => {
if (typeof pageId !== 'string') {
return null;
}
if (workspaceUnit?.blocksuiteWorkspace) {
return workspaceUnit.blocksuiteWorkspace.getPage(pageId);
}
@@ -50,15 +46,18 @@ const Page: NextPageWithLayout = () => {
}, [workspace, router, pageId]);
useEffect(() => {
if (error) {
if (status === 'error') {
router.push('/404');
}
}, [router, error]);
}, [router, status]);
if (!workspace) {
if (status === 'loading') {
return <PageLoading />;
}
if (status === 'error') {
return null;
}
return (
<PageContainer>
<NavContainer>
@@ -87,7 +86,7 @@ const Page: NextPageWithLayout = () => {
</SearchButton>
</NavContainer>
{page && (
{workspace && page && (
<DynamicBlocksuite
page={page}
workspace={workspace}

View File

@@ -1,5 +1,4 @@
import { Breadcrumbs } from '@affine/component';
import { PageMeta, useDataCenterPublicWorkspace } from '@affine/store';
import { SearchIcon } from '@blocksuite/icons';
import { useRouter } from 'next/router';
import { ReactElement, useEffect, useMemo } from 'react';
@@ -7,6 +6,8 @@ import { ReactElement, useEffect, useMemo } from 'react';
import { PageLoading } from '@/components/loading';
import { PageList } from '@/components/page-list';
import { WorkspaceUnitAvatar } from '@/components/workspace-avatar';
import { useLoadPublicWorkspace } from '@/hooks/use-load-public-workspace';
import { PageMeta } from '@/providers/app-state-provider';
import { useModal } from '@/store/globalModal';
import {
@@ -19,10 +20,8 @@ import {
const All = () => {
const router = useRouter();
const { triggerQuickSearchModal } = useModal();
const { workspace, error } = useDataCenterPublicWorkspace(
typeof router.query.workspaceId === 'string'
? router.query.workspaceId
: null
const { status, workspace } = useLoadPublicWorkspace(
router.query.workspaceId as string
);
const pageList = useMemo(() => {
@@ -32,15 +31,19 @@ const All = () => {
const workspaceName = workspace?.blocksuiteWorkspace?.meta.name;
useEffect(() => {
if (error) {
if (status === 'error') {
router.push('/404');
}
}, [router, error]);
}, [router, status]);
if (!workspace) {
if (status === 'loading') {
return <PageLoading />;
}
if (status === 'error') {
return null;
}
return (
<PageContainer>
<NavContainer>