mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 05:14:54 +00:00
fix(editor): affine preview root style (#10420)
Fix [BS-2677](https://linear.app/affine-design/issue/BS-2677/linked-doc-embed-view样式错误) 1. Only show the border of embed synced doc block (in note) when hover. 2. Fix affine preview root padding style, set padding only when affine preview root in embed synced doc block (in surface). 3. Only add the footnote config extension to the chat panel and chat block center peek. For footnotes in other page preview scenarios, such as footnote nodes within embed synced doc blocks or embed linked doc blocks, the hover effect should be maintained.
This commit is contained in:
@@ -8,7 +8,6 @@ import {
|
||||
import {
|
||||
ColorScheme,
|
||||
createSignalFromObservable,
|
||||
FootNoteNodeConfigExtension,
|
||||
type Signal,
|
||||
SpecProvider,
|
||||
type ThemeExtension,
|
||||
@@ -80,11 +79,6 @@ function getPagePreviewThemeExtension(framework: FrameworkProvider) {
|
||||
return AffinePagePreviewThemeExtension;
|
||||
}
|
||||
|
||||
// Disable hover effect for footnote node in center peek preview mode
|
||||
const footnodeConfig = FootNoteNodeConfigExtension({
|
||||
disableHoverEffect: true,
|
||||
});
|
||||
|
||||
const fontConfig = getFontConfigExtension();
|
||||
|
||||
let _framework: FrameworkProvider;
|
||||
@@ -108,7 +102,6 @@ export function enablePreviewExtension(framework: FrameworkProvider): void {
|
||||
|
||||
_previewExtensions = [
|
||||
...AIChatBlockSpec,
|
||||
footnodeConfig,
|
||||
fontConfig,
|
||||
getThemeExtension(framework),
|
||||
getPagePreviewThemeExtension(framework),
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import {
|
||||
FootNoteNodeConfigExtension,
|
||||
type SpecBuilder,
|
||||
} from '@blocksuite/affine/blocks';
|
||||
|
||||
// Disable hover effect for footnote node
|
||||
const disableHoverEffectConfig = {
|
||||
disableHoverEffect: true,
|
||||
};
|
||||
|
||||
export function enableFootnoteConfigExtension(
|
||||
specBuilder: SpecBuilder,
|
||||
config = disableHoverEffectConfig
|
||||
) {
|
||||
const footNoteConfig = FootNoteNodeConfigExtension(config);
|
||||
return specBuilder.extend([footNoteConfig]);
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
export * from './entry/enable-affine';
|
||||
export * from './entry/enable-mobile';
|
||||
export * from './footnote-config';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { ChatPanel } from '@affine/core/blocksuite/ai';
|
||||
import type { AffineEditorContainer } from '@affine/core/blocksuite/block-suite-editor';
|
||||
import { enableFootnoteConfigExtension } from '@affine/core/blocksuite/extensions';
|
||||
import { AINetworkSearchService } from '@affine/core/modules/ai-button/services/network-search';
|
||||
import { DocDisplayMetaService } from '@affine/core/modules/doc-display-meta';
|
||||
import { DocSearchMenuService } from '@affine/core/modules/doc-search-menu/services';
|
||||
@@ -84,7 +85,9 @@ export const EditorChatPanel = forwardRef(function EditorChatPanel(
|
||||
);
|
||||
},
|
||||
};
|
||||
const previewSpecBuilder = SpecProvider._.getSpec('preview:page');
|
||||
const previewSpecBuilder = enableFootnoteConfigExtension(
|
||||
SpecProvider._.getSpec('preview:page')
|
||||
);
|
||||
chatPanelRef.current.previewSpecBuilder = previewSpecBuilder;
|
||||
} else {
|
||||
chatPanelRef.current.host = editor.host;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { toReactNode } from '@affine/component';
|
||||
import { AIChatBlockPeekViewTemplate } from '@affine/core/blocksuite/ai';
|
||||
import type { AIChatBlockModel } from '@affine/core/blocksuite/ai/blocks/ai-chat-block/model/ai-chat-model';
|
||||
import { enableFootnoteConfigExtension } from '@affine/core/blocksuite/extensions';
|
||||
import { AINetworkSearchService } from '@affine/core/modules/ai-button/services/network-search';
|
||||
import type { EditorHost } from '@blocksuite/affine/block-std';
|
||||
import { SpecProvider } from '@blocksuite/affine/blocks';
|
||||
@@ -19,7 +20,9 @@ export const AIChatBlockPeekView = ({
|
||||
const framework = useFramework();
|
||||
const searchService = framework.get(AINetworkSearchService);
|
||||
return useMemo(() => {
|
||||
const previewSpecBuilder = SpecProvider._.getSpec('preview:page');
|
||||
const previewSpecBuilder = enableFootnoteConfigExtension(
|
||||
SpecProvider._.getSpec('preview:page')
|
||||
);
|
||||
const networkSearchConfig = {
|
||||
visible: searchService.visible,
|
||||
enabled: searchService.enabled,
|
||||
|
||||
Reference in New Issue
Block a user