From e2d10dd357eec799d13f22df6fec9ef0adb8d8e2 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 17 Aug 2026 15:56:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=20Step5=20?= =?UTF-8?q?=E5=B7=A6=E4=BE=A7=E9=A2=84=E8=A7=88=E7=BD=91=E6=A0=BC=E5=8D=A1?= =?UTF-8?q?=E7=89=87=20(#1391)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: xiaoxia Co-committed-by: xiaoxia --- apps/web/src/pages/generate/GeneratePage.tsx | 3 - .../components/GenerateStepContent.tsx | 9 -- .../components/Step5GeneratePreview.tsx | 117 +----------------- 3 files changed, 4 insertions(+), 125 deletions(-) diff --git a/apps/web/src/pages/generate/GeneratePage.tsx b/apps/web/src/pages/generate/GeneratePage.tsx index cd881a9db..ed61d4205 100644 --- a/apps/web/src/pages/generate/GeneratePage.tsx +++ b/apps/web/src/pages/generate/GeneratePage.tsx @@ -207,13 +207,10 @@ const GeneratePage: React.FC = () => { onRetry={handleRetryGenerate} onDismissError={handleDismissError} presetVoices={presetVoices} - videoRatio={videoRatio} /* Step5 多预览 */ previewCount={previewCount} onPreviewCountChange={setPreviewCount} previewItems={step5Preview.items} - previewSelectedIndex={step5Preview.selectedIndex} - onSelectPreview={step5Preview.setSelectedIndex} previewOverallStatus={step5Preview.previewStatus} previewOverallError={step5Preview.previewError} previewOverallProgress={step5Preview.progress} diff --git a/apps/web/src/pages/generate/components/GenerateStepContent.tsx b/apps/web/src/pages/generate/components/GenerateStepContent.tsx index e2964d97e..e32ab7ad9 100644 --- a/apps/web/src/pages/generate/components/GenerateStepContent.tsx +++ b/apps/web/src/pages/generate/components/GenerateStepContent.tsx @@ -63,13 +63,10 @@ export interface GenerateStepContentProps { onDismissError: () => void /* 其他 */ presetVoices: PresetVoiceItem[] - videoRatio: string /* Step4 预览(多预览) */ previewCount: number onPreviewCountChange: (count: number) => void previewItems: PreviewItem[] - previewSelectedIndex: number - onSelectPreview: (index: number) => void previewOverallStatus: PreviewStatus previewOverallError: string previewOverallProgress: number @@ -110,12 +107,9 @@ export const GenerateStepContent: React.FC = (props) = onRetry, onDismissError, presetVoices, - videoRatio, previewCount, onPreviewCountChange, previewItems, - previewSelectedIndex, - onSelectPreview, previewOverallStatus, previewOverallError, previewOverallProgress, @@ -161,12 +155,9 @@ export const GenerateStepContent: React.FC = (props) = case 5: return ( void items: PreviewItem[] - selectedIndex: number - onSelectPreview: (index: number) => void overallStatus: PreviewStatus overallError: string overallProgress: number @@ -37,12 +34,9 @@ const PREVIEW_COUNT_OPTIONS = [ ] const Step5GeneratePreview: React.FC = ({ - videoRatio, previewCount, onPreviewCountChange, items, - selectedIndex, - onSelectPreview, overallStatus, overallError, overallProgress, @@ -50,7 +44,6 @@ const Step5GeneratePreview: React.FC = ({ onGeneratePreview, onRegeneratePreview, }) => { - const aspectRatio = (videoRatio || "16:9").replace(":", "/") // "9:16" → "9/16", "16:9" → "16/9" const isIdle = overallStatus === "idle" const isError = overallStatus === "error" && !items.some((it) => it.status === "ready") @@ -127,109 +120,7 @@ const Step5GeneratePreview: React.FC = ({ )} - {/* 多预览网格(生成中/完成/部分完成) */} - {(anyGenerating || overallStatus === "ready") && items.length > 0 && ( -
- {items.map((item) => { - const isSelected = item.index === selectedIndex - return ( -
{ - if (item.status === "ready") onSelectPreview(item.index) - }} - style={{ - borderRadius: 8, - border: isSelected ? "2px solid #1677ff" : "1px solid #e8e8e8", - overflow: "hidden", - cursor: item.status === "ready" ? "pointer" : "default", - opacity: item.status === "error" ? 0.6 : 1, - transition: "all 0.2s", - }} - > - {/* 轻量卡片:深色背景 + 状态指示 */} -
- {/* 中心:预览编号 */} - - 预览 #{item.index + 1} - - - {/* 状态指示 */} - {item.status === "generating" && ( -
- - - 生成中 {item.progress}% - -
- )} - {item.status === "pending" && ( -
- - - 排队中... - -
- )} - {item.status === "ready" && ( - - )} - {item.status === "error" && ( - - )} - - {/* 选中角标 */} - {isSelected && item.status === "ready" && ( -
- 预览 #{item.index + 1} -
- )} -
-
- ) - })} -
- )} + {/* 预览网格已移除 — 右侧 PreviewVideoPanel 已展示实际预览视频,左侧不再重复显示 */} {/* 整体进度条(多预览生成中) */} {anyGenerating && ( @@ -244,7 +135,7 @@ const Step5GeneratePreview: React.FC = ({ {items.filter((it) => it.status === "ready").length} 个预览生成成功 - {items.length > 1 ? ",点击选择要查看的版本" : ",确认效果后进入下一步"} + ",请在右侧预览面板查看效果"