fix(canvas): 项目素材 - 修复统一选择器的生产构建类型错误
This commit is contained in:
1 parent
a89168ff90
commit
d2b64f9e17
1 file changed
+2
-2
@@ -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> | void }) {
|
export function CanvasProjectAssetModal({ open, detail, initialCategory = "all", onClose, onInsert }: { open: boolean; detail?: ProjectDetail; initialCategory?: string; onClose: () => void; onInsert: (payloads: InsertAssetPayload[]) => Promise<void> | void }) {
|
||||||
const mediaAssets = useAssetStore((state) => state.assets);
|
const mediaAssets = useAssetStore((state) => state.assets);
|
||||||
const items = useMemo(() => {
|
const items = useMemo<ProjectPickerItem[]>(() => {
|
||||||
const mediaById = new Map(mediaAssets.map((asset) => [asset.id, asset]));
|
const mediaById = new Map(mediaAssets.map((asset) => [asset.id, asset]));
|
||||||
const projectItems = (detail?.assets || []).flatMap((asset): ProjectPickerItem[] => {
|
const projectItems = (detail?.assets || []).flatMap((asset): ProjectPickerItem[] => {
|
||||||
if (asset.category === "character" && asset.character) return [{ id: asset.id, category: "character", character: asset }];
|
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
|
return mediaAssets
|
||||||
.filter((asset) => asset.kind !== "model" && asset.kind !== "entity")
|
.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]);
|
}, [detail?.assets, mediaAssets]);
|
||||||
const pickerItems = useMemo<AssetLibraryPickerItem[]>(() => items.map((item) => {
|
const pickerItems = useMemo<AssetLibraryPickerItem[]>(() => items.map((item) => {
|
||||||
const character = item.character;
|
const character = item.character;
|
||||||
|
|||||||
Reference in new issue
Block a user