diff --git a/apps/web/src/pages/generate/GeneratePage.tsx b/apps/web/src/pages/generate/GeneratePage.tsx index d1e78eba5..8a52123e0 100644 --- a/apps/web/src/pages/generate/GeneratePage.tsx +++ b/apps/web/src/pages/generate/GeneratePage.tsx @@ -93,8 +93,11 @@ const GeneratePage: React.FC = () => { [materialMode, smartSelectedIds, selectedMaterials], ) const previewAssetsEnabled = currentStep >= 4 && previewAssetIds.length > 0 - const { assets: previewAssets, loading: previewAssetsLoading, ready: previewAssetsReady } = - usePreviewAssets(previewAssetIds, previewAssetsEnabled) + const { + assets: previewAssets, + loading: previewAssetsLoading, + ready: previewAssetsReady, + } = usePreviewAssets(previewAssetIds, previewAssetsEnabled) /* ── 当前模板对象(传给前端预览播放器) ── */ const currentTemplate = useMemo( diff --git a/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx b/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx index 785dcce91..531af36ef 100644 --- a/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx +++ b/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx @@ -4,11 +4,7 @@ * 替代后端 FFmpeg 渲染预览,实现真正的实时预览 */ import React, { useMemo, useCallback, useState, useRef, useEffect } from "react" -import { - PlayCircleOutlined, - PauseCircleOutlined, - SoundOutlined, -} from "@ant-design/icons" +import { PlayCircleOutlined, PauseCircleOutlined, SoundOutlined } from "@ant-design/icons" import type { AssetItem } from "@/api/assets" import type { EditingTemplate } from "@/api/editing-planner" import { useSegmentScheduler, type PlaybackSegment } from "../hooks/useSegmentScheduler" @@ -75,10 +71,7 @@ const FrontendPreviewPlayer: React.FC = ({ ready, }) => { // 构建播放片段 - const segments = useMemo( - () => buildPlaybackSegments(assets, template), - [assets, template], - ) + const segments = useMemo(() => buildPlaybackSegments(assets, template), [assets, template]) const { isPlaying, @@ -149,7 +142,9 @@ const FrontendPreviewPlayer: React.FC = ({ if (!canPlay) { return (
- +

暂无可播放素材

请先在左侧选择素材

@@ -197,11 +192,7 @@ const FrontendPreviewPlayer: React.FC = ({ transition: "opacity 0.2s", }} > - {isEnded ? ( - - ) : ( - - )} + {isEnded ? : } )} diff --git a/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx b/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx index a831a1cfc..7ab9e7d12 100644 --- a/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx +++ b/apps/web/src/pages/generate/components/PreviewVideoPanel.tsx @@ -165,9 +165,7 @@ export const PreviewVideoPanel: React.FC = ({

预览视频

- {assetsReady && assets.length > 0 && ( - 实时预览 - )} + {assetsReady && assets.length > 0 && 实时预览}
{/* 加载中 */} diff --git a/apps/web/src/pages/generate/hooks/usePreviewAssets.ts b/apps/web/src/pages/generate/hooks/usePreviewAssets.ts index f32c296a3..b660cefd3 100644 --- a/apps/web/src/pages/generate/hooks/usePreviewAssets.ts +++ b/apps/web/src/pages/generate/hooks/usePreviewAssets.ts @@ -58,10 +58,7 @@ interface UsePreviewAssetsReturn { /** * usePreviewAssets — 加载选中素材的视频文件信息 */ -export function usePreviewAssets( - assetIds: string[], - enabled: boolean, -): UsePreviewAssetsReturn { +export function usePreviewAssets(assetIds: string[], enabled: boolean): UsePreviewAssetsReturn { const [assets, setAssets] = useState([]) const [loading, setLoading] = useState(false) const [ready, setReady] = useState(false) diff --git a/apps/web/src/pages/generate/hooks/useSegmentScheduler.ts b/apps/web/src/pages/generate/hooks/useSegmentScheduler.ts index 856d74fc1..28d430bd5 100644 --- a/apps/web/src/pages/generate/hooks/useSegmentScheduler.ts +++ b/apps/web/src/pages/generate/hooks/useSegmentScheduler.ts @@ -82,9 +82,7 @@ function buildTimeline(segments: PlaybackSegment[]): number[] { /** * useSegmentScheduler — 素材片段调度器 */ -export function useSegmentScheduler( - segments: PlaybackSegment[], -): SegmentSchedulerState { +export function useSegmentScheduler(segments: PlaybackSegment[]): SegmentSchedulerState { const videoRef = useRef(null) const [isPlaying, setIsPlaying] = useState(false) const [currentTime, setCurrentTime] = useState(0)