diff --git a/web/src/components/RecordDetailModal.tsx b/web/src/components/RecordDetailModal.tsx index 2f46613..f68cee9 100644 --- a/web/src/components/RecordDetailModal.tsx +++ b/web/src/components/RecordDetailModal.tsx @@ -44,14 +44,22 @@ export function RecordDetailModal({ record: r, onClose, showTeam, showCost }: Pr - {/* Body — 左视频 / 右信息 双栏 */} + {/* Body — 左:视频+参考素材 / 右:信息+提示词 */}
- {/* ── 左:视频 ── */} + {/* ── 左侧:视频 + 参考素材 ── */}
+ {refs.length > 0 && ( + <> +
参考素材({refs.length})
+
+ +
+ + )}
- {/* ── 右:信息(原有内容整体搬过来,排版不动)── */} + {/* ── 右侧:信息 + 提示词 ── */}
{/* Status */}
@@ -72,7 +80,7 @@ export function RecordDetailModal({ record: r, onClose, showTeam, showCost }: Pr )} {/* Info Grid */} -
基本信息
+
基本信息
{r.ark_task_id && } {r.username && } @@ -92,14 +100,6 @@ export function RecordDetailModal({ record: r, onClose, showTeam, showCost }: Pr {/* Prompt */}
提示词
{r.prompt || '(无提示词)'}
- - {/* References */} - {refs.length > 0 && ( - <> -
参考素材({refs.length})
- - - )}
@@ -217,13 +217,23 @@ const body: React.CSSProperties = { minHeight: 0, }; -/* 左侧媒体区 — 固定 480 宽 */ +/* 左侧媒体区 — 固定 480 宽,视频 + 参考素材纵向排列 */ const mediaPanel: React.CSSProperties = { width: 480, flexShrink: 0, display: 'flex', flexDirection: 'column', - alignItems: 'center', + alignItems: 'stretch', + minHeight: 0, /* 给内部 flex 让出收缩空间 */ +}; + +/* 参考素材区:max-height + 内部滚动,避免视频高度被推下去 + Seedance 最多 9 张 → 80px thumb × 5/行 = 1-2 行,250px 给足兜底 */ +const refScrollBox: React.CSSProperties = { + maxHeight: 250, + overflowY: 'auto', + marginTop: 8, + paddingRight: 4, }; const mediaFrame: React.CSSProperties = { diff --git a/web/src/components/ReferenceList.tsx b/web/src/components/ReferenceList.tsx index 4d7f702..c200aa8 100644 --- a/web/src/components/ReferenceList.tsx +++ b/web/src/components/ReferenceList.tsx @@ -40,7 +40,7 @@ export function ReferenceList({ references }: Props) { const hasUrl = fullUrl && !fullUrl.startsWith('asset://'); return ( -
+
{/* Thumbnail area */}
{isAudio ? (