mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
refactor(core): add useAIChatConfig hook (#11424)
Close [BS-2583](https://linear.app/affine-design/issue/BS-2583).
This commit is contained in:
@@ -2,10 +2,9 @@ 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 { useAIChatConfig } from '@affine/core/components/hooks/affine/use-ai-chat-config';
|
||||
import { SpecProvider } from '@blocksuite/affine/shared/utils';
|
||||
import type { EditorHost } from '@blocksuite/affine/std';
|
||||
import { useFramework } from '@toeverything/infra';
|
||||
import { useMemo } from 'react';
|
||||
|
||||
export type AIChatBlockPeekViewProps = {
|
||||
@@ -17,23 +16,20 @@ export const AIChatBlockPeekView = ({
|
||||
model,
|
||||
host,
|
||||
}: AIChatBlockPeekViewProps) => {
|
||||
const framework = useFramework();
|
||||
const searchService = framework.get(AINetworkSearchService);
|
||||
const { docDisplayConfig, searchMenuConfig, networkSearchConfig } =
|
||||
useAIChatConfig();
|
||||
return useMemo(() => {
|
||||
const previewSpecBuilder = enableFootnoteConfigExtension(
|
||||
SpecProvider._.getSpec('preview:page')
|
||||
);
|
||||
const networkSearchConfig = {
|
||||
visible: searchService.visible,
|
||||
enabled: searchService.enabled,
|
||||
setEnabled: searchService.setEnabled,
|
||||
};
|
||||
const template = AIChatBlockPeekViewTemplate(
|
||||
model,
|
||||
host,
|
||||
previewSpecBuilder,
|
||||
docDisplayConfig,
|
||||
searchMenuConfig,
|
||||
networkSearchConfig
|
||||
);
|
||||
return toReactNode(template);
|
||||
}, [model, host, searchService]);
|
||||
}, [model, host, docDisplayConfig, searchMenuConfig, networkSearchConfig]);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user