diff --git a/components/home/MaterialCard.test.tsx b/components/home/MaterialCard.test.tsx index a22906d..271544b 100644 --- a/components/home/MaterialCard.test.tsx +++ b/components/home/MaterialCard.test.tsx @@ -67,6 +67,17 @@ describe('MaterialCard', () => { jest.clearAllMocks() }) + test.each(['任务-AI原图', '直播切片', '音乐', '证书-检测报告'])('%s 的类型和店铺应独立于截断的元信息展示', (materialType) => { + render() + + const typeBadge = screen.getByLabelText(`素材类型:${materialType}`) + const shopBadge = screen.getByLabelText('使用店铺:旗舰店') + expect(typeBadge.closest('[data-material-link]')).not.toBeNull() + expect(shopBadge.closest('[aria-label="素材分类信息"]')).not.toBeNull() + expect(typeBadge.closest('.truncate')).toBeNull() + expect(shopBadge.closest('.truncate')).toBeNull() + }) + test('AI 导入素材应显示 AI生成 标签', () => { render() diff --git a/components/home/MaterialCard.tsx b/components/home/MaterialCard.tsx index cc1aa2c..c5d14d7 100644 --- a/components/home/MaterialCard.tsx +++ b/components/home/MaterialCard.tsx @@ -564,6 +564,14 @@ export default function MaterialCard({ )} + {material.materialType && ( +
+ + {material.materialType} + +
+ )} + {/* 转码进度显示 */} {renderTranscodeProgress()} @@ -589,6 +597,13 @@ export default function MaterialCard({

{materialDisplayTitle}

+
+ {material.categoryName && {material.categoryName}} + {material.sceneName && {material.sceneName}} + {isTaskDetailMaterial && {getTaskDetailSourceTypeLabel(material.taskDetailSourceType)}} + {!isTaskDetailMaterial && material.isAiGenerated && AI生成} + {material.materialType === '3D场景' && material.renderer && {material.renderer}} +
{(material.materialType === '直播切片' && (material.liveDate || material.liveHost || material.livePlatform)) && (

{material.livePlatform && {material.livePlatform}} @@ -600,12 +615,6 @@ export default function MaterialCard({ {fileSizeLabel && <>{fileSizeLabel} · } {material.authorName && <>{material.authorName} · } {format(new Date(material.createdAt), 'yyyy.MM.dd')} - {material.materialType && <> · {material.materialType}} - {material.categoryName && <> · {material.categoryName}} - {material.sceneName && <> · {material.sceneName}} - {isTaskDetailMaterial && <> · {getTaskDetailSourceTypeLabel(material.taskDetailSourceType)}} - {!isTaskDetailMaterial && material.isAiGenerated && <> · AI生成} - {material.materialType === '3D场景' && material.renderer && <> · {material.renderer}}