From 7c77a216b8c0ecc2e6799e053e947aafebbd64df Mon Sep 17 00:00:00 2001 From: ddCat <2695092045@qq.com> Date: Fri, 14 Aug 2026 18:59:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(canvas):=20=E9=A1=B9=E7=9B=AE=E7=B4=A0?= =?UTF-8?q?=E6=9D=90=20-=20=E4=BF=AE=E5=A4=8D=E7=BB=9F=E4=B8=80=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=99=A8=E7=9A=84=E7=94=9F=E4=BA=A7=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/canvas/canvas-project-asset-modal.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/src/components/canvas/canvas-project-asset-modal.tsx b/web/src/components/canvas/canvas-project-asset-modal.tsx index 67bc773be..4228471a8 100644 --- a/web/src/components/canvas/canvas-project-asset-modal.tsx +++ b/web/src/components/canvas/canvas-project-asset-modal.tsx @@ -12,7 +12,7 @@ type ProjectPickerItem = { id: string; category: string; character?: ProjectAsse export function CanvasProjectAssetModal({ open, detail, initialCategory = "all", onClose, onInsert }: { open: boolean; detail?: ProjectDetail; initialCategory?: string; onClose: () => void; onInsert: (payloads: InsertAssetPayload[]) => Promise | void }) { const mediaAssets = useAssetStore((state) => state.assets); - const items = useMemo(() => { + const items = useMemo(() => { const mediaById = new Map(mediaAssets.map((asset) => [asset.id, asset])); const projectItems = (detail?.assets || []).flatMap((asset): ProjectPickerItem[] => { if (asset.category === "character" && asset.character) return [{ id: asset.id, category: "character", character: asset }]; @@ -23,7 +23,7 @@ export function CanvasProjectAssetModal({ open, detail, initialCategory = "all", // 自由画布(未关联短剧项目)或项目资产为空/后端未返回时,回退到本地素材库,避免弹窗空白 return mediaAssets .filter((asset) => asset.kind !== "model" && asset.kind !== "entity") - .map((media) => ({ id: media.id, category: media.category || "other", media })); + .map((media): ProjectPickerItem => ({ id: media.id, category: media.category || "other", media })); }, [detail?.assets, mediaAssets]); const pickerItems = useMemo(() => items.map((item) => { const character = item.character;