feat: add preloading template (#2655)

Co-authored-by: Himself65 <himself65@outlook.com>
This commit is contained in:
Flrande
2023-06-07 17:31:54 +08:00
committed by GitHub
parent c4c4ec6a67
commit 35fb10c95b
67 changed files with 6761 additions and 287 deletions

View File

@@ -1,5 +1,4 @@
import { AppContainer, MainContainer } from '@affine/component/workspace';
import { initPage } from '@affine/env/blocksuite';
import { useRouter } from 'next/router';
import { lazy, Suspense } from 'react';
@@ -16,17 +15,12 @@ const InitPagePage: NextPageWithLayout = () => {
if (!router.isReady) {
return <>loading...</>;
}
let testType: 'empty' | 'importMarkdown' = 'empty';
if (router.query.type === 'importMarkdown') {
testType = 'importMarkdown';
} else if (router.query.type === 'empty') {
testType = 'empty';
}
return (
<AppContainer>
<MainContainer>
<Suspense>
<Editor onInit={initPage} testType={testType} />
<Editor />
</Suspense>
<div id="toolWrapper" />
</MainContainer>

View File

@@ -1,5 +1,5 @@
import { Breadcrumbs, displayFlex, styled } from '@affine/component';
import { initPage } from '@affine/env/blocksuite';
import { initEmptyPage } from '@affine/env/blocksuite';
import { useAFFiNEI18N } from '@affine/i18n/hooks';
import { PageIcon } from '@blocksuite/icons';
import { assertExists } from '@blocksuite/store';
@@ -107,7 +107,7 @@ const PublicWorkspaceDetailPageInner = (): ReactElement => {
dispose.dispose();
};
}}
onInit={initPage}
onInit={initEmptyPage}
/>
</>
);

View File

@@ -1,6 +1,4 @@
import { PageDetailSkeleton } from '@affine/component/page-detail-skeleton';
import type { BlockSuiteFeatureFlags } from '@affine/env';
import { config } from '@affine/env';
import { rootCurrentPageIdAtom } from '@affine/workspace/atom';
import type { EditorContainer } from '@blocksuite/editor';
import type { Page } from '@blocksuite/store';
@@ -9,7 +7,7 @@ import { useBlockSuiteWorkspacePage } from '@toeverything/hooks/use-block-suite-
import { useAtomValue } from 'jotai';
import { useRouter } from 'next/router';
import type React from 'react';
import { useCallback, useEffect } from 'react';
import { useCallback } from 'react';
import { getUIAdapter } from '../../../adapters/workspace';
import { rootCurrentWorkspaceAtom } from '../../../atoms/root';
@@ -17,16 +15,7 @@ import { useCurrentWorkspace } from '../../../hooks/current/use-current-workspac
import { useSyncRecentViewsWithRouter } from '../../../hooks/use-recent-views';
import { useRouterHelper } from '../../../hooks/use-router-helper';
import { WorkspaceLayout } from '../../../layouts/workspace-layout';
import type { BlockSuiteWorkspace, NextPageWithLayout } from '../../../shared';
function setEditorFlags(blockSuiteWorkspace: BlockSuiteWorkspace) {
Object.entries(config.editorFlags).forEach(([key, value]) => {
blockSuiteWorkspace.awarenessStore.setFlag(
key as keyof BlockSuiteFeatureFlags,
value
);
});
}
import type { NextPageWithLayout } from '../../../shared';
const WorkspaceDetail: React.FC = () => {
const router = useRouter();
@@ -50,12 +39,6 @@ const WorkspaceDetail: React.FC = () => {
[blockSuiteWorkspace.id, openPage]
);
useEffect(() => {
if (currentWorkspace) {
setEditorFlags(currentWorkspace.blockSuiteWorkspace);
}
}, [currentWorkspace]);
const { PageDetail, Header } = getUIAdapter(currentWorkspace.flavour);
return (
<>