mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
fix(core): center peek doc view circular deps (#10253)
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user