diff --git a/app/static/public/css/video.css b/app/static/public/css/video.css index a9adac0..5dda91c 100644 --- a/app/static/public/css/video.css +++ b/app/static/public/css/video.css @@ -78,9 +78,16 @@ body { margin-bottom: 24px; } -.video-workbench-grid { +.video-main-grid { display: grid; - grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); + grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); + gap: 20px; +} + +.video-main-left, +.video-main-right { + display: flex; + flex-direction: column; gap: 20px; } @@ -119,10 +126,7 @@ body { } @media (max-width: 820px) { - .video-top-grid { - grid-template-columns: 1fr; - } - .video-workbench-grid { + .video-main-grid { grid-template-columns: 1fr; } } diff --git a/app/static/public/js/video.js b/app/static/public/js/video.js index 3f79877..a4fd262 100644 --- a/app/static/public/js/video.js +++ b/app/static/public/js/video.js @@ -135,6 +135,17 @@ } } + function updateManualActionsVisibility() { + const hasWorkspaceVideo = Boolean(String(selectedVideoUrl || '').trim()); + if (pickMergeVideoBtn) { + pickMergeVideoBtn.style.display = hasWorkspaceVideo ? '' : 'none'; + } + if (directMergeBtn) { + directMergeBtn.style.display = hasWorkspaceVideo ? '' : 'none'; + directMergeBtn.disabled = !hasWorkspaceVideo; + } + } + function getParentMemoryApi() { return window.ParentPostMemory || null; } @@ -400,6 +411,7 @@ closeEditPanel(); updateMergeLabels(); updateHistoryCount(); + updateManualActionsVisibility(); } if (durationValue) { durationValue.textContent = '耗时 -'; @@ -1032,6 +1044,7 @@ lastFrameHash = ''; setEditMeta(); updateMergeLabels(); + updateManualActionsVisibility(); bindMergeVideoA(safeUrl); } @@ -2341,6 +2354,8 @@ updateMeta(); updateMergeLabels(); + updateHistoryCount(); + updateManualActionsVisibility(); if (imageUrlInput && imageUrlInput.value.trim()) { const resolved = resolveReferenceByText(imageUrlInput.value.trim()); setReferencePreview(resolved.url || resolved.sourceUrl || imageUrlInput.value.trim(), resolved.parentPostId || ''); diff --git a/app/static/public/pages/video.html b/app/static/public/pages/video.html index 5daf002..a64a8de 100644 --- a/app/static/public/pages/video.html +++ b/app/static/public/pages/video.html @@ -18,7 +18,7 @@ - + @@ -53,10 +53,11 @@
-
-
-
生成设置
-
+
+
+
+
生成设置
+
@@ -131,14 +132,100 @@
+
+
+
+
+
视频工作区
+
+ + +
+
+
请先选择或生成一个视频,工作区会始终展示当前视频。
+
+
+
当前工作视频
-
+
历史数量
0
+
+
+ +
+
+ +
+ 00:00.000 + 总时长 - +
+
+
+
frame_index
-
+
timestamp_ms
-
+
frame_hash
-
+
视频2(B)
-
+
+
拼接时长
+ +
+
+
+ + +
+
+ +
+
+
+
手动两段拼接
+
+ + +
+
+
+
+
视频1拼接帧(取左侧)
+
+ +
+
+ +
+ 00:00.000 + 总时长 - +
+
+
+
+
视频2拼接帧(取右侧)
+
+ +
+
+ +
+ 00:00.000 + 总时长 - +
+
+
+
+
+
-
-
-
运行状态
- 未连接 -
+
- -
-
-
-
视频工作区
-
- - -
-
-
请先选择或生成一个视频,工作区会始终展示当前视频。
-
-
-
当前工作视频
-
-
历史数量
0
-
-
- -
-
- -
- 00:00.000 - 总时长 - -
-
-
-
frame_index
-
-
timestamp_ms
-
-
frame_hash
-
-
视频2(B)
-
+
-
拼接时长
- -
-
-
- - -
-
- -
-
-
-
手动两段拼接
-
- - +
比例
+
-
-
-
-
-
视频1拼接帧(取左侧)
-
- -
-
- -
- 00:00.000 - 总时长 - -
-
+
+
时长
+
-
-
-
视频2拼接帧(取右侧)
-
- -
-
- -
- 00:00.000 - 总时长 - -
-
+
+
分辨率
+
-
+
+
+
预设
+
-
+
+
+
并发
+
1
-
-
@@ -313,7 +315,7 @@ - +