feat(core): support network search in chat block center peek (#10186)

[BS-2582](https://linear.app/affine-design/issue/BS-2582/chat-block-center-peek-支持-network-search)
This commit is contained in:
donteatfriedrice
2025-02-14 12:43:31 +00:00
parent b6f8027e1b
commit e6b570e613
6 changed files with 276 additions and 148 deletions

View File

@@ -1,5 +1,6 @@
import { toReactNode } from '@affine/component';
import { AIChatBlockPeekViewTemplate } from '@affine/core/blocksuite/presets/ai';
import { AINetworkSearchService } from '@affine/core/modules/ai-button/services/network-search';
import type { EditorHost } from '@blocksuite/affine/block-std';
import { useFramework } from '@toeverything/infra';
import { useMemo } from 'react';
@@ -17,13 +18,20 @@ export const AIChatBlockPeekView = ({
host,
}: AIChatBlockPeekViewProps) => {
const framework = useFramework();
const searchService = framework.get(AINetworkSearchService);
return useMemo(() => {
const previewSpecBuilder = createPageModePreviewSpecs(framework);
const networkSearchConfig = {
visible: searchService.visible,
enabled: searchService.enabled,
setEnabled: searchService.setEnabled,
};
const template = AIChatBlockPeekViewTemplate(
model,
host,
previewSpecBuilder
previewSpecBuilder,
networkSearchConfig
);
return toReactNode(template);
}, [framework, model, host]);
}, [framework, model, host, searchService]);
};