diff --git a/apps/web/src/pages/generate/GeneratePage.tsx b/apps/web/src/pages/generate/GeneratePage.tsx index aebbf47a6..492f13680 100644 --- a/apps/web/src/pages/generate/GeneratePage.tsx +++ b/apps/web/src/pages/generate/GeneratePage.tsx @@ -71,6 +71,20 @@ const GeneratePage: React.FC = () => { setPreviewModalOpen, } = formState + /* ── 查询视频素材,用于 Step4 标题预览背景 ── */ + const { data: videoAssets = [] } = useQuery({ + queryKey: ["generate-video-assets"], + queryFn: () => getAssetsByKind("video", { limit: 50 }), + }) + + // 获取第一个选中素材的 URL + const sourceVideoUrl = useMemo(() => { + const firstId = selectedMaterials[0] + if (!firstId) return undefined + const asset = videoAssets.find((a) => a.id === firstId) + return asset?.file_url + }, [selectedMaterials, videoAssets]) + /* ── 克隆声音 ── */ const { clones: clonedVoices, addClone, hasProcessing } = useCloneProgress() @@ -237,8 +251,8 @@ const GeneratePage: React.FC = () => { {/* ════ 右侧:预览 + 生成结果 ════ */}
暂无预览
-在第 3 步生成预览后在此查看
+请输入标题
+在左侧设置标题后,这里会实时预览效果
- {previewStatus === "pending" ? "排队中..." : `生成中 ${progress}%`} -
+ {/* 非 Step4 模式才显示以下内容 */} + {!showTitlePreview && ( + <> + {/* 空状态:还没生成预览 */} + {previewStatus === "idle" && ( +暂无预览
+在第 3 步生成预览后在此查看
预览生成失败
-- {typeof previewError === "string" && previewError ? previewError : "请重试"} -
- -+ {previewStatus === "pending" ? "排队中..." : `生成中 ${progress}%`} +
+预览生成失败
++ {typeof previewError === "string" && previewError ? previewError : "请重试"} +
+ +