diff --git a/apps/web/src/pages/editing-planner/hooks/useGlobalSettings.ts b/apps/web/src/pages/editing-planner/hooks/useGlobalSettings.ts deleted file mode 100644 index 8fb10a33b..000000000 --- a/apps/web/src/pages/editing-planner/hooks/useGlobalSettings.ts +++ /dev/null @@ -1,111 +0,0 @@ -/** - * EditingPlanner 全局配置状态管理 - * 集中管理 9 个全局配置:标题/字幕/BGM/水印/片头片尾/画中画/滤镜/绿幕/贴纸/封面 - */ -import { useState } from "react" -import type { TitleConfig } from "@/api/template-editor" -import type { - WatermarkConfig, - IntroOutroConfig, - PipConfig, - FilterConfig, - ChromaKeyConfig, - StickerConfig, -} from "../types" -import { - DEFAULT_WATERMARK, - DEFAULT_INTRO_OUTRO, - DEFAULT_PIP_CONFIG, - DEFAULT_FILTER_CONFIG, - DEFAULT_CHROMA_KEY_CONFIG, - DEFAULT_STICKER_CONFIG, -} from "../types" -import type { SubtitleStyleConfig } from "../types/subtitle" -import { DEFAULT_SUBTITLE_STYLE } from "../types/subtitle" -import { DEFAULT_BGM_MIX_CONFIG, type BgmMixConfig } from "@/api/bgm" - -export interface GlobalSettings { - titleConfig: TitleConfig - setTitleConfig: (config: TitleConfig | ((prev: TitleConfig) => TitleConfig)) => void - subtitleSettings: SubtitleStyleConfig - setSubtitleSettings: ( - settings: SubtitleStyleConfig | ((prev: SubtitleStyleConfig) => SubtitleStyleConfig), - ) => void - bgmSettings: BgmMixConfig - setBgmSettings: (settings: BgmMixConfig | ((prev: BgmMixConfig) => BgmMixConfig)) => void - watermarkSettings: WatermarkConfig - setWatermarkSettings: (config: WatermarkConfig) => void - introOutroSettings: IntroOutroConfig - setIntroOutroSettings: (config: IntroOutroConfig) => void - pipSettings: PipConfig - setPipSettings: (config: PipConfig) => void - filterSettings: FilterConfig - setFilterSettings: (config: FilterConfig) => void - chromaKeySettings: ChromaKeyConfig - setChromaKeySettings: (config: ChromaKeyConfig) => void - stickerSettings: StickerConfig - setStickerSettings: (config: StickerConfig) => void -} - -export const useGlobalSettings = (): GlobalSettings => { - const [titleConfig, setTitleConfig] = useState({ - ai_auto_select: false, - content: "", - position: "bottom", - font_preset: "思源黑体", - font_size: 28, - font_color: "#ffffff", - }) - - const [subtitleSettings, setSubtitleSettings] = useState({ - ...DEFAULT_SUBTITLE_STYLE, - }) - - const [bgmSettings, setBgmSettings] = useState({ - ...DEFAULT_BGM_MIX_CONFIG, - }) - - const [watermarkSettings, setWatermarkSettings] = useState({ - ...DEFAULT_WATERMARK, - }) - const [introOutroSettings, setIntroOutroSettings] = useState({ - ...DEFAULT_INTRO_OUTRO, - }) - - const [pipSettings, setPipSettings] = useState({ - ...DEFAULT_PIP_CONFIG, - }) - - const [filterSettings, setFilterSettings] = useState({ - ...DEFAULT_FILTER_CONFIG, - }) - - const [chromaKeySettings, setChromaKeySettings] = useState({ - ...DEFAULT_CHROMA_KEY_CONFIG, - }) - - const [stickerSettings, setStickerSettings] = useState({ - ...DEFAULT_STICKER_CONFIG, - }) - - return { - titleConfig, - setTitleConfig, - subtitleSettings, - setSubtitleSettings, - bgmSettings, - setBgmSettings, - watermarkSettings, - setWatermarkSettings, - introOutroSettings, - setIntroOutroSettings, - pipSettings, - setPipSettings, - filterSettings, - setFilterSettings, - chromaKeySettings, - setChromaKeySettings, - stickerSettings, - setStickerSettings, - } -}