From 676345208fb1bff66251459155aa4f97f1dbbbae Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Sun, 19 Jul 2026 15:52:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(P1):=20#583=20=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E5=BC=8F=E9=A2=84=E8=A7=88=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 右侧预览区改为生成结果卡片网格布局 - 点击视频卡片弹出全屏Modal预览 - 生成中显示环形进度 - 空状态/失败状态优化 - 移除原有的静态预览播放器和剪辑计划预览列表 --- apps/web/src/pages/generate/GeneratePage.tsx | 220 ++++++++++++------ apps/web/src/pages/generate/generate.css | 223 +++++++++++++++++++ 2 files changed, 374 insertions(+), 69 deletions(-) diff --git a/apps/web/src/pages/generate/GeneratePage.tsx b/apps/web/src/pages/generate/GeneratePage.tsx index e8aa3a76e..c9fffb522 100755 --- a/apps/web/src/pages/generate/GeneratePage.tsx +++ b/apps/web/src/pages/generate/GeneratePage.tsx @@ -6,7 +6,7 @@ */ import React, { useState, useRef, useCallback, useEffect } from "react" import { useQuery, useMutation } from "@tanstack/react-query" -import { Typography, message, Select } from "antd" +import { Typography, message, Select, Modal } from "antd" import { AudioOutlined, ThunderboltOutlined, @@ -333,6 +333,8 @@ const GeneratePage: React.FC = () => { const [generatedVideos, setGeneratedVideos] = useState([]) const [videoUrl, setVideoUrl] = useState("") const [thumbnailUrl, setThumbnailUrl] = useState("") + const [previewVideo, setPreviewVideo] = useState(null) + const [previewModalOpen, setPreviewModalOpen] = useState(false) const progressTimer = useRef>(undefined) const audioRef = useRef(null) @@ -2261,84 +2263,142 @@ const GeneratePage: React.FC = () => { - {/* ════ 右侧:预览区 ════ */} -
- {/* 视频预览 */} -
- {generated && videoUrl ? ( -