feat(assets): 上传完成即时刷新素材网格+卡片尺寸缩小 #1558

Merged
auto-approve-bot merged 1 commits from feat/upload-immediate-display-and-card-size into develop 2026-08-30 18:41:00 +08:00
2 changed files with 17 additions and 14 deletions
+12 -12
View File
@@ -215,7 +215,7 @@
============================================================ */
.xx-asset-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-columns: repeat(6, 1fr);
gap: 14px;
}
@@ -234,7 +234,7 @@
.xx-asset-card:hover {
border-color: var(--primary-color);
box-shadow: var(--shadow-sm);
transform: translateY(-2px);
transform: translateY(-1px);
}
.xx-asset-card:active {
@@ -244,7 +244,7 @@
/* 缩略图 */
.xx-asset-thumb {
aspect-ratio: 9 / 16;
aspect-ratio: 3 / 4;
position: relative;
overflow: hidden;
display: grid;
@@ -260,22 +260,22 @@
}
.xx-asset-thumb-placeholder {
font-size: var(--font-size-3xl);
font-size: var(--font-size-xl);
opacity: 0.7;
}
/* 播放按钮 */
.xx-asset-play {
position: absolute;
width: 40px;
height: 40px;
width: 32px;
height: 32px;
border-radius: var(--radius-full);
background: rgba(255, 255, 255, 0.25);
backdrop-filter: blur(4px);
display: grid;
place-items: center;
color: var(--text-inverse);
font-size: var(--font-size-md);
font-size: var(--font-size-sm);
transition: var(--transition-all);
}
@@ -332,8 +332,8 @@
position: absolute;
bottom: var(--space-sm, 8px);
right: var(--space-sm, 8px);
width: 28px;
height: 28px;
width: 24px;
height: 24px;
border-radius: var(--radius-full, 999px);
background: rgba(0, 0, 0, 0.45);
backdrop-filter: blur(4px);
@@ -380,12 +380,12 @@
/* 卡片信息 */
.xx-asset-info {
padding: 12px;
padding: 8px;
}
.xx-asset-name {
margin: 0 0 6px;
font-size: var(--font-size-sm);
margin: 0 0 4px;
font-size: var(--font-size-xs);
font-weight: var(--font-weight-semibold);
color: var(--text-primary);
white-space: nowrap;
@@ -45,9 +45,12 @@ export function useAssetUpload({ effectiveLibId }: { effectiveLibId: string }) {
/** 刷新素材列表(prepare 后/complete 后调用,让卡片即时出现/流转) */
const refreshList = useCallback(() => {
queryClient.invalidateQueries({ queryKey: ["assets"] })
// 使用 refetchQueries 强制立即重新获取,避免 staleTime 导致延迟
if (effectiveLibId) {
queryClient.refetchQueries({ queryKey: ["assets", effectiveLibId] })
}
queryClient.invalidateQueries({ queryKey: ["asset-libraries"] })
}, [queryClient])
}, [queryClient, effectiveLibId])
/** 执行单个文件的完整上传流程(prepare→transfer→complete */
const runUpload = useCallback(