fix(core): center peek doc view circular deps (#10253)

This commit is contained in:
pengx17
2025-02-19 02:23:53 +00:00
parent 5a7ab880c1
commit 29f8a627b6
8 changed files with 75 additions and 87 deletions

View File

@@ -2,10 +2,6 @@ import { Scrollable } from '@affine/component';
import { PageDetailSkeleton } from '@affine/component/page-detail-skeleton';
import { AIProvider } from '@affine/core/blocksuite/presets/ai';
import { AffineErrorBoundary } from '@affine/core/components/affine/affine-error-boundary';
import {
BlockSuiteEditor,
CustomEditorWrapper,
} from '@affine/core/components/blocksuite/block-suite-editor';
import { EditorOutlineViewer } from '@affine/core/components/blocksuite/outline-viewer';
import { PageNotFound } from '@affine/core/desktop/pages/404';
import { EditorService } from '@affine/core/modules/editor';
@@ -26,7 +22,7 @@ import {
useServices,
} from '@toeverything/infra';
import clsx from 'clsx';
import { useCallback, useEffect } from 'react';
import { lazy, Suspense, useCallback, useEffect } from 'react';
import { WorkbenchService } from '../../../workbench';
import type { DocReferenceInfo } from '../../entities/peek-view';
@@ -36,6 +32,15 @@ import * as styles from './doc-peek-view.css';
const logger = new DebugLogger('doc-peek-view');
// Lazy load BlockSuiteEditor to break circular dependency
const BlockSuiteEditor = lazy(() =>
import('@affine/core/components/blocksuite/block-suite-editor').then(
module => ({
default: module.BlockSuiteEditor,
})
)
);
function fitViewport(
editor: AffineEditorContainer,
xywh?: `[${number},${number},${number},${number}]`
@@ -159,7 +164,7 @@ function DocPeekPreviewEditor({
<Scrollable.Viewport
className={clsx('affine-page-viewport', styles.affineDocViewport)}
>
<CustomEditorWrapper>
<Suspense fallback={<PageDetailSkeleton />}>
<BlockSuiteEditor
className={styles.editor}
mode={mode}
@@ -168,7 +173,7 @@ function DocPeekPreviewEditor({
onEditorReady={handleOnEditorReady}
defaultOpenProperty={defaultOpenProperty}
/>
</CustomEditorWrapper>
</Suspense>
</Scrollable.Viewport>
<Scrollable.Scrollbar />
</Scrollable.Root>

View File

@@ -407,6 +407,8 @@ export const PeekViewModalContainer = forwardRef<
<div className={styles.modalContentClip}>
<Dialog.Content
{...contentOptions}
// mute the radix-ui warning
aria-describedby={undefined}
className={clsx({
[styles.modalContent]: true,
[styles.dialog]: dialogFrame,