From f98ad2d9bb6732982a104b04b2f39aa2af1e57d2 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 14 Sep 2026 20:45:01 +0800 Subject: [PATCH] refactor: delete useStickerItems.ts (#1899 #1900) --- .../editing-planner/hooks/useStickerItems.ts | 83 ------------------- 1 file changed, 83 deletions(-) delete mode 100644 apps/web/src/pages/editing-planner/hooks/useStickerItems.ts diff --git a/apps/web/src/pages/editing-planner/hooks/useStickerItems.ts b/apps/web/src/pages/editing-planner/hooks/useStickerItems.ts deleted file mode 100644 index 474a9467f..000000000 --- a/apps/web/src/pages/editing-planner/hooks/useStickerItems.ts +++ /dev/null @@ -1,83 +0,0 @@ -/** - * 贴纸项管理 Hook - */ -import { useState, useCallback } from "react" -import type { StickerConfig, StickerItem, StickerType } from "@/pages/editing-planner/types" -import { DEFAULT_STICKER_ITEM, DEFAULT_STICKER_CONFIG } from "@/pages/editing-planner/types" - -const genId = () => `sticker_${Date.now()}_${Math.random().toString(36).slice(2, 8)}` - -interface UseStickerItemsOptions { - config: StickerConfig - onChange: (config: StickerConfig) => void - totalDuration: number -} - -export const useStickerItems = ({ config, onChange, totalDuration }: UseStickerItemsOptions) => { - const [selectedId, setSelectedId] = useState(null) - const [activeTab, setActiveTab] = useState("emoji") - - const selectedSticker = config.items.find((s) => s.id === selectedId) ?? null - - /** 更新单个贴纸 */ - 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: genId(), - type, - content, - duration: totalDuration > 0 ? totalDuration : 5, - z_index: config.items.length + 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, - activeTab, - setActiveTab, - selectedSticker, - updateItem, - addSticker, - removeSticker, - handleReset, - } -}