diff --git a/blocksuite/affine/fragments/fragment-frame-panel/src/body/frame-panel-body.ts b/blocksuite/affine/fragments/fragment-frame-panel/src/body/frame-panel-body.ts index b2527a0877..d9d07033e4 100644 --- a/blocksuite/affine/fragments/fragment-frame-panel/src/body/frame-panel-body.ts +++ b/blocksuite/affine/fragments/fragment-frame-panel/src/body/frame-panel-body.ts @@ -265,6 +265,7 @@ export class FramePanelBody extends SignalWatcher( html` ${this.status === 'dragging' && stackOrder !== 0 ? nothing - : html``} + : html``} ${this._DraggingCardNumber()} `; } + @property({ attribute: false }) + accessor std!: BlockStdScope; + @property({ attribute: false }) accessor cardIndex!: number; diff --git a/blocksuite/affine/fragments/fragment-frame-panel/src/card/frame-preview.ts b/blocksuite/affine/fragments/fragment-frame-panel/src/card/frame-preview.ts index 26d9e9d7ea..3db44beac0 100644 --- a/blocksuite/affine/fragments/fragment-frame-panel/src/card/frame-preview.ts +++ b/blocksuite/affine/fragments/fragment-frame-panel/src/card/frame-preview.ts @@ -1,5 +1,9 @@ import type { FrameBlockModel } from '@blocksuite/affine-model'; -import { ViewportElementExtension } from '@blocksuite/affine-shared/services'; +import { + DocModeExtension, + DocModeProvider, + ViewportElementExtension, +} from '@blocksuite/affine-shared/services'; import { SpecProvider } from '@blocksuite/affine-shared/utils'; import { DisposableGroup } from '@blocksuite/global/disposable'; import { Bound, deserializeXYWH } from '@blocksuite/global/gfx'; @@ -47,11 +51,14 @@ const styles = css` overflow: hidden; pointer-events: none; user-select: none; + } - .edgeless-background { - background-color: transparent; - background-image: none; - } + .frame-preview-viewport + > editor-host + > affine-edgeless-root-preview + > .edgeless-background { + background-color: transparent; + background-image: none; } `; @@ -134,9 +141,12 @@ export class FramePreview extends WithDisposable(ShadowlessElement) { }); } } + + const docModeService = this.std.get(DocModeProvider); this._previewSpec.extend([ ViewportElementExtension('.frame-preview-viewport'), FramePreviewWatcher, + DocModeExtension(docModeService), ]); } @@ -220,6 +230,9 @@ export class FramePreview extends WithDisposable(ShadowlessElement) { } } + @property({ attribute: false }) + accessor std!: BlockStdScope; + @state() accessor fillScreen = false; diff --git a/blocksuite/affine/fragments/fragment-frame-panel/src/utils/drag.ts b/blocksuite/affine/fragments/fragment-frame-panel/src/utils/drag.ts index 1b1e5b62ee..8a5b214384 100644 --- a/blocksuite/affine/fragments/fragment-frame-panel/src/utils/drag.ts +++ b/blocksuite/affine/fragments/fragment-frame-panel/src/utils/drag.ts @@ -55,6 +55,7 @@ export function startDragging( el.stackOrder = arr.length - 1 - idx; el.pos = start; el.width = options.width; + el.std = container.editorHost.std; if (frames.length > 1 && el.stackOrder === 0) el.draggingCardNumber = frames.length; diff --git a/tests/blocksuite/e2e/edgeless/presentation.spec.ts b/tests/blocksuite/e2e/edgeless/presentation.spec.ts index fea1b3ec01..743eb9bee1 100644 --- a/tests/blocksuite/e2e/edgeless/presentation.spec.ts +++ b/tests/blocksuite/e2e/edgeless/presentation.spec.ts @@ -148,7 +148,7 @@ test.describe('presentation', () => { }) => { await edgelessCommonSetup(page); - await createFrame(page, [100, 100], [100, 200]); + await createFrame(page, [100, 100], [200, 200]); await createFrame(page, [200, 100], [300, 200]); await createFrame(page, [300, 100], [400, 200]); await createFrame(page, [400, 100], [500, 200]);