feat(title): toggleAiAutoSelect triggers auto-generate + inject callback

This commit is contained in:
2026-08-04 14:41:39 +08:00
parent f7892df9fc
commit cfe4f5d195
@@ -5,6 +5,8 @@ import type { TitleSettings } from "../../types"
interface UseTitleStyleUpdatersOptions {
titleSettings: TitleSettings
onTitleSettingsChange: (settings: TitleSettings) => void
/** AI 自动生成标题函数(由 useStep4Title 从 aiGenerator 注入) */
autoGenerateTitle?: () => string
}
/**
@@ -14,6 +16,7 @@ interface UseTitleStyleUpdatersOptions {
export function useTitleStyleUpdaters({
titleSettings,
onTitleSettingsChange,
autoGenerateTitle,
}: UseTitleStyleUpdatersOptions) {
/** 匹配预设:只用 color/bold/italic/stroke/shadow,不再匹配 size */
const getActivePreset = (settings: TitleSettings): string | null => {
@@ -41,8 +44,17 @@ export function useTitleStyleUpdaters({
)
const toggleAiAutoSelect = useCallback(() => {
onTitleSettingsChange({ ...titleSettings, aiAutoSelect: !titleSettings.aiAutoSelect })
}, [titleSettings, onTitleSettingsChange])
if (!titleSettings.aiAutoSelect) {
// 打开开关:自动生成标题
if (autoGenerateTitle) {
autoGenerateTitle()
}
}
onTitleSettingsChange({
...titleSettings,
aiAutoSelect: !titleSettings.aiAutoSelect,
})
}, [titleSettings, onTitleSettingsChange, autoGenerateTitle])
const updatePosition = useCallback(
(position: string) => {