fix: resolve TypeScript compile errors and ESLint warnings from PR #1382
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1m18s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m46s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 2m9s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m20s
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 2m41s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 56s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m58s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m14s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m31s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m12s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 22m40s
CI/CD Pipeline / CI Gate (pull_request) Successful in 12s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Failing after 1m3s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m16s

Fixes:
- PreviewVideoPanel.tsx: remove duplicate showTitlePreview declaration, add TitlePreviewCanvas import
- Step4TitleSettings.tsx: remove unused TitlePreviewCanvas import
- TitlePreviewCanvas.tsx: add eslint-disable-next-line comments (4 warnings, prettier-formatted)
- GeneratePage.tsx: add missing useQuery and getAssetsByKind imports,
  remove showTitlePreview prop (derived internally from titleSettings)
This commit is contained in:
xiaoxia
2026-08-16 09:03:53 +08:00
parent 74e2bdf914
commit 797c81252a
4 changed files with 7 additions and 5 deletions
+2 -1
View File
@@ -25,6 +25,8 @@ import { useGenerateFormState } from "./hooks/useGenerateFormState"
import { useStepNavigation } from "./hooks/useStepNavigation"
import { useGenerateVideo } from "./hooks/useGenerateVideo"
import { useStep5Preview } from "./hooks/useStep5Preview"
import { useQuery } from "@tanstack/react-query"
import { getAssetsByKind } from "@/api/assets"
import "./generate.css"
const GeneratePage: React.FC = () => {
@@ -262,7 +264,6 @@ const GeneratePage: React.FC = () => {
onRegenerate={step5Preview.regeneratePreview}
titleText={titleSettings.title}
titleSettings={titleSettings}
showTitlePreview={currentStep === 4}
sourceVideoUrl={sourceVideoUrl}
/>
)}
@@ -16,6 +16,7 @@ import { PlayCircleOutlined, LoadingOutlined } from "@ant-design/icons"
import type { PreviewResult, PreviewStatus } from "../hooks/useStep5Preview"
import type { TitleSettings } from "../types"
import { drawTitleOnCanvas } from "../utils/drawTitleOnCanvas"
import TitlePreviewCanvas from "./title/TitlePreviewCanvas"
interface PreviewVideoPanelProps {
previewStatus: PreviewStatus
@@ -28,8 +29,6 @@ interface PreviewVideoPanelProps {
titleText?: string
/** 标题样式设置 */
titleSettings?: TitleSettings
/** Step4 标题预览模式 */
showTitlePreview?: boolean
/** 素材视频 URL(用于 Step4 标题预览背景) */
sourceVideoUrl?: string
}
@@ -45,7 +44,6 @@ export const PreviewVideoPanel: React.FC<PreviewVideoPanelProps> = ({
onRegenerate,
titleText,
titleSettings,
showTitlePreview,
sourceVideoUrl,
}) => {
const hasPreview = previewStatus === "ready" && previewResult
@@ -8,7 +8,6 @@ import type { TitleSettings } from "../types"
import { useStep4Title } from "../hooks/useStep4Title"
import AiTitleGenerator from "./title/AiTitleGenerator"
import TitleStylePanel from "./title/TitleStylePanel"
import TitlePreviewCanvas from "./title/TitlePreviewCanvas"
interface Step4TitleSettingsProps {
titleSettings: TitleSettings
@@ -86,6 +86,7 @@ const TitlePreviewCanvas: React.FC<TitlePreviewCanvasProps> = ({
.load()
.then(() => {
if (!cancelled) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- FontFaceSet.add() exists at runtime
;(document.fonts as any).add(fontFace)
onFontReady()
}
@@ -108,11 +109,13 @@ const TitlePreviewCanvas: React.FC<TitlePreviewCanvasProps> = ({
return () => {
cancelled = true
}
// eslint-disable-next-line react-hooks/exhaustive-deps -- draw uses refs, stable by design
}, [titleSettings.font, titleSettings.size, titleSettings.bold, titleSettings.italic])
// props 变化时重绘
useEffect(() => {
requestAnimationFrame(draw)
// eslint-disable-next-line react-hooks/exhaustive-deps -- draw uses refs, stable by design
}, [titleText, titleSettings])
// ResizeObserver 监听容器尺寸变化
@@ -126,6 +129,7 @@ const TitlePreviewCanvas: React.FC<TitlePreviewCanvasProps> = ({
observer.observe(container)
return () => observer.disconnect()
// eslint-disable-next-line react-hooks/exhaustive-deps -- draw uses refs, stable by design
}, [])
return (