From db455e40ef7cff5b41da59fd2697829099b0397b Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 14 Sep 2026 20:44:01 +0800 Subject: [PATCH] refactor: delete useStickerPanel.ts (#1899 #1900) --- .../StickerPanel/hooks/useStickerPanel.ts | 85 ------------------- 1 file changed, 85 deletions(-) delete mode 100644 apps/web/src/pages/editing-planner/components/StickerPanel/hooks/useStickerPanel.ts diff --git a/apps/web/src/pages/editing-planner/components/StickerPanel/hooks/useStickerPanel.ts b/apps/web/src/pages/editing-planner/components/StickerPanel/hooks/useStickerPanel.ts deleted file mode 100644 index a80ef567f..000000000 --- a/apps/web/src/pages/editing-planner/components/StickerPanel/hooks/useStickerPanel.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { useState, useCallback, useMemo } from "react" -import type { StickerConfig, StickerItem, StickerType } from "../../../types" -import { DEFAULT_STICKER_CONFIG, DEFAULT_STICKER_ITEM } from "../../../types" -import { genStickerId } from "../constants" - -interface UseStickerPanelOptions { - config: StickerConfig - onChange: (config: StickerConfig) => void - totalDuration: number -} - -export const useStickerPanel = ({ config, onChange, totalDuration }: UseStickerPanelOptions) => { - const [selectedId, setSelectedId] = useState(null) - const [activeTab, setActiveTab] = useState("emoji") - const [textInput, setTextInput] = useState("") - - const selectedSticker = useMemo( - () => config.items.find((s) => s.id === selectedId) ?? null, - [config.items, selectedId], - ) - - /** 更新单个贴纸 */ - const updateItem = useCallback( - (id: string, partial: Partial) => { - onChange({ - ...config, - items: config.items.map((s) => (s.id === id ? { ...s, ...partial } : s)), - }) - }, - [config, onChange], - ) - - /** 添加贴纸 */ - const addSticker = useCallback( - (type: StickerType, content: string) => { - const newItem: StickerItem = { - ...DEFAULT_STICKER_ITEM, - id: genStickerId(), - type, - content, - duration: totalDuration > 0 ? totalDuration : 5, - z_index: config.items.length > 0 ? Math.max(...config.items.map((i) => i.z_index)) + 1 : 1, - } - onChange({ - ...config, - enabled: true, - items: [...config.items, newItem], - }) - setSelectedId(newItem.id) - }, - [config, onChange, totalDuration], - ) - - /** 删除贴纸 */ - const removeSticker = useCallback( - (id: string) => { - onChange({ - ...config, - items: config.items.filter((s) => s.id !== id), - }) - if (selectedId === id) setSelectedId(null) - }, - [config, onChange, selectedId], - ) - - /** 重置所有 */ - const handleReset = useCallback(() => { - onChange({ ...DEFAULT_STICKER_CONFIG, enabled: config.enabled }) - setSelectedId(null) - }, [config.enabled, onChange]) - - return { - selectedId, - setSelectedId, - selectedSticker, - activeTab, - setActiveTab, - textInput, - setTextInput, - updateItem, - addSticker, - removeSticker, - handleReset, - } -}