mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
refactor(infra): move initEmptyPage (#4135)
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
|
||||||
import { PageNotFoundError } from '@affine/env/constant';
|
import { PageNotFoundError } from '@affine/env/constant';
|
||||||
import type {
|
import type {
|
||||||
WorkspaceFlavour,
|
WorkspaceFlavour,
|
||||||
WorkspaceUISchema,
|
WorkspaceUISchema,
|
||||||
} from '@affine/env/workspace';
|
} from '@affine/env/workspace';
|
||||||
|
import { initEmptyPage } from '@toeverything/infra/blocksuite';
|
||||||
import { lazy, useCallback } from 'react';
|
import { lazy, useCallback } from 'react';
|
||||||
|
|
||||||
import { useIsWorkspaceOwner } from '../../hooks/affine/use-is-workspace-owner';
|
import { useIsWorkspaceOwner } from '../../hooks/affine/use-is-workspace-owner';
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { DebugLogger } from '@affine/debug';
|
import { DebugLogger } from '@affine/debug';
|
||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
|
||||||
import {
|
import {
|
||||||
DEFAULT_HELLO_WORLD_PAGE_ID_SUFFIX,
|
DEFAULT_HELLO_WORLD_PAGE_ID_SUFFIX,
|
||||||
DEFAULT_WORKSPACE_NAME,
|
DEFAULT_WORKSPACE_NAME,
|
||||||
@@ -21,6 +20,7 @@ import { createIndexedDBDownloadProvider } from '@affine/workspace/providers';
|
|||||||
import { nanoid } from '@blocksuite/store';
|
import { nanoid } from '@blocksuite/store';
|
||||||
import { useStaticBlockSuiteWorkspace } from '@toeverything/infra/__internal__/react';
|
import { useStaticBlockSuiteWorkspace } from '@toeverything/infra/__internal__/react';
|
||||||
import { getCurrentStore } from '@toeverything/infra/atom';
|
import { getCurrentStore } from '@toeverything/infra/atom';
|
||||||
|
import { initEmptyPage } from '@toeverything/infra/blocksuite';
|
||||||
import { buildShowcaseWorkspace } from '@toeverything/infra/blocksuite';
|
import { buildShowcaseWorkspace } from '@toeverything/infra/blocksuite';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
|
||||||
import { PageNotFoundError } from '@affine/env/constant';
|
import { PageNotFoundError } from '@affine/env/constant';
|
||||||
import type { WorkspaceFlavour } from '@affine/env/workspace';
|
import type { WorkspaceFlavour } from '@affine/env/workspace';
|
||||||
import { type WorkspaceUISchema } from '@affine/env/workspace';
|
import { type WorkspaceUISchema } from '@affine/env/workspace';
|
||||||
|
import { initEmptyPage } from '@toeverything/infra/blocksuite';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
import { useWorkspace } from '../../hooks/use-workspace';
|
import { useWorkspace } from '../../hooks/use-workspace';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { toast } from '@affine/component';
|
import { toast } from '@affine/component';
|
||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
|
||||||
import { WorkspaceSubPath } from '@affine/env/workspace';
|
import { WorkspaceSubPath } from '@affine/env/workspace';
|
||||||
import { useBlockSuiteWorkspaceHelper } from '@toeverything/hooks/use-block-suite-workspace-helper';
|
import { useBlockSuiteWorkspaceHelper } from '@toeverything/hooks/use-block-suite-workspace-helper';
|
||||||
|
import { initEmptyPage } from '@toeverything/infra/blocksuite';
|
||||||
import { useAtomValue, useSetAtom } from 'jotai';
|
import { useAtomValue, useSetAtom } from 'jotai';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
|
||||||
import { useAFFiNEI18N } from '@affine/i18n/hooks';
|
import { useAFFiNEI18N } from '@affine/i18n/hooks';
|
||||||
import { assertEquals } from '@blocksuite/global/utils';
|
import { assertEquals } from '@blocksuite/global/utils';
|
||||||
import { PlusIcon } from '@blocksuite/icons';
|
import { PlusIcon } from '@blocksuite/icons';
|
||||||
import { nanoid } from '@blocksuite/store';
|
import { nanoid } from '@blocksuite/store';
|
||||||
import { useBlockSuiteWorkspaceHelper } from '@toeverything/hooks/use-block-suite-workspace-helper';
|
import { useBlockSuiteWorkspaceHelper } from '@toeverything/hooks/use-block-suite-workspace-helper';
|
||||||
|
import { initEmptyPage } from '@toeverything/infra/blocksuite';
|
||||||
import { Command } from 'cmdk';
|
import { Command } from 'cmdk';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import { BlockHubWrapper } from '@affine/component/block-hub';
|
import { BlockHubWrapper } from '@affine/component/block-hub';
|
||||||
import { BlockSuiteEditor } from '@affine/component/block-suite-editor';
|
import { BlockSuiteEditor } from '@affine/component/block-suite-editor';
|
||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
|
||||||
import { WorkspaceFlavour } from '@affine/env/workspace';
|
import { WorkspaceFlavour } from '@affine/env/workspace';
|
||||||
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
|
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
|
||||||
import { ImagePreviewModal } from '@affine/image-preview-plugin/src/component';
|
import { ImagePreviewModal } from '@affine/image-preview-plugin/src/component';
|
||||||
import { rootBlockHubAtom } from '@affine/workspace/atom';
|
import { rootBlockHubAtom } from '@affine/workspace/atom';
|
||||||
import { getOrCreateWorkspace } from '@affine/workspace/manager';
|
import { getOrCreateWorkspace } from '@affine/workspace/manager';
|
||||||
import type { Meta } from '@storybook/react';
|
import type { Meta } from '@storybook/react';
|
||||||
|
import { initEmptyPage } from '@toeverything/infra/blocksuite';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
import { createPortal } from 'react-dom';
|
import { createPortal } from 'react-dom';
|
||||||
|
|
||||||
|
|||||||
14
packages/env/src/blocksuite/index.ts
vendored
14
packages/env/src/blocksuite/index.ts
vendored
@@ -1,14 +0,0 @@
|
|||||||
import type { Page } from '@blocksuite/store';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
export async function initEmptyPage(page: Page, title?: string) {
|
|
||||||
await page.waitForLoaded();
|
|
||||||
const pageBlockId = page.addBlock('affine:page', {
|
|
||||||
title: new page.Text(title || ''),
|
|
||||||
});
|
|
||||||
page.addBlock('affine:surface', {}, pageBlockId);
|
|
||||||
const noteBlockId = page.addBlock('affine:note', {}, pageBlockId);
|
|
||||||
page.addBlock('affine:paragraph', {}, noteBlockId);
|
|
||||||
}
|
|
||||||
@@ -3,10 +3,10 @@
|
|||||||
*/
|
*/
|
||||||
import 'fake-indexeddb/auto';
|
import 'fake-indexeddb/auto';
|
||||||
|
|
||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
|
||||||
import { __unstableSchemas, AffineSchemas } from '@blocksuite/blocks/models';
|
import { __unstableSchemas, AffineSchemas } from '@blocksuite/blocks/models';
|
||||||
import { Schema, Workspace } from '@blocksuite/store';
|
import { Schema, Workspace } from '@blocksuite/store';
|
||||||
import { renderHook } from '@testing-library/react';
|
import { renderHook } from '@testing-library/react';
|
||||||
|
import { initEmptyPage } from '@toeverything/infra/blocksuite';
|
||||||
import { beforeEach, describe, expect, test } from 'vitest';
|
import { beforeEach, describe, expect, test } from 'vitest';
|
||||||
|
|
||||||
import { useBlockSuitePageMeta } from '../use-block-suite-page-meta';
|
import { useBlockSuitePageMeta } from '../use-block-suite-page-meta';
|
||||||
|
|||||||
@@ -1,8 +1,26 @@
|
|||||||
import type { PageMeta, Workspace } from '@blocksuite/store';
|
import type { Page, PageMeta, Workspace } from '@blocksuite/store';
|
||||||
import { createIndexeddbStorage } from '@blocksuite/store';
|
import { createIndexeddbStorage } from '@blocksuite/store';
|
||||||
import type { createStore, WritableAtom } from 'jotai/vanilla';
|
import type { createStore, WritableAtom } from 'jotai/vanilla';
|
||||||
import { Array as YArray, Doc as YDoc, Map as YMap } from 'yjs';
|
import { Array as YArray, Doc as YDoc, Map as YMap } from 'yjs';
|
||||||
|
|
||||||
|
export async function initEmptyPage(page: Page, title?: string) {
|
||||||
|
await page.waitForLoaded();
|
||||||
|
const pageBlockId = page.addBlock('affine:page', {
|
||||||
|
title: new page.Text(title ?? ''),
|
||||||
|
});
|
||||||
|
page.addBlock('affine:surface', {}, pageBlockId);
|
||||||
|
const noteBlockId = page.addBlock('affine:note', {}, pageBlockId);
|
||||||
|
page.addBlock('affine:paragraph', {}, noteBlockId);
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function buildEmptyBlockSuite(workspace: Workspace) {
|
||||||
|
const page = workspace.createPage();
|
||||||
|
await initEmptyPage(page);
|
||||||
|
workspace.setPageMeta(page.id, {
|
||||||
|
jumpOnce: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export async function buildShowcaseWorkspace(
|
export async function buildShowcaseWorkspace(
|
||||||
workspace: Workspace,
|
workspace: Workspace,
|
||||||
options: {
|
options: {
|
||||||
|
|||||||
Reference in New Issue
Block a user