fix: resolve TypeScript compile errors in PreviewVideoPanel #1386

Merged
auto-approve-bot merged 1 commits from fix/ts-compile-error-preview-panel into develop 2026-08-16 09:31:01 +08:00
Owner

问题

PR #1382 合并后引入多处 TypeScript 编译错误和 ESLint warnings,导致 develop CI 全链路阻断。

修复内容

PreviewVideoPanel.tsx

  • 删除 showTitlePreview 的重复声明(接口定义 + prop 解构),保留 const showTitlePreview = !!titleSettings 作为唯一声明
  • 添加 import TitlePreviewCanvas from "./title/TitlePreviewCanvas"

Step4TitleSettings.tsx

  • 删除未使用的 import TitlePreviewCanvas

TitlePreviewCanvas.tsx

  • 添加 4 处 eslint-disable-next-line 注释(1× no-explicit-any + 3× exhaustive-deps

GeneratePage.tsx

  • 添加缺失的 import { useQuery } from "@tanstack/react-query"
  • 添加缺失的 import { getAssetsByKind } from "@/api/assets"
  • 移除传给 PreviewVideoPanel 的 showTitlePreview prop(该值已在组件内部从 titleSettings 派生)

改动统计

4 files changed

## 问题 PR #1382 合并后引入多处 TypeScript 编译错误和 ESLint warnings,导致 develop CI 全链路阻断。 ## 修复内容 ### PreviewVideoPanel.tsx - 删除 `showTitlePreview` 的重复声明(接口定义 + prop 解构),保留 `const showTitlePreview = !!titleSettings` 作为唯一声明 - 添加 `import TitlePreviewCanvas from "./title/TitlePreviewCanvas"` ### Step4TitleSettings.tsx - 删除未使用的 `import TitlePreviewCanvas` ### TitlePreviewCanvas.tsx - 添加 4 处 `eslint-disable-next-line` 注释(1× `no-explicit-any` + 3× `exhaustive-deps`) ### GeneratePage.tsx - 添加缺失的 `import { useQuery } from "@tanstack/react-query"` - 添加缺失的 `import { getAssetsByKind } from "@/api/assets"` - 移除传给 PreviewVideoPanel 的 `showTitlePreview` prop(该值已在组件内部从 titleSettings 派生) ## 改动统计 4 files changed
xiaoxia force-pushed fix/ts-compile-error-preview-panel from 52b00c78fa to d201866bd3 2026-08-16 00:49:12 +08:00 Compare
xiaoxia force-pushed fix/ts-compile-error-preview-panel from d201866bd3 to 54642bd25c 2026-08-16 08:44:07 +08:00 Compare

🚀 预览环境已部署

项目 详情
PR号 #1386
预览链接 https://pr-1386.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1386 | | 预览链接 | [https://pr-1386.preview.xiaoxiajianji.com](https://pr-1386.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia added 1 commit 2026-08-16 09:04:24 +08:00
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
797c81252a
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)
xiaoxia force-pushed fix/ts-compile-error-preview-panel from 54642bd25c to 797c81252a 2026-08-16 09:04:24 +08:00 Compare
Collaborator

代码审查结果 - PR #1386

⚠️ 问题(0个需要修改)

💡 建议(3个可选)

  1. apps/web/src/pages/generate/GeneratePage.tsx 第28-29行:存在未使用的导入

    • 具体内容:导入了 useQuerygetAssetsByKind 但在当前 diff 中未使用。如果是后续代码需要使用请忽略,否则建议删除以减少包体积和保持代码整洁。
  2. apps/web/src/pages/generate/components/PreviewVideoPanel.tsx 第19行:新增导入的使用存疑

    • 具体内容:导入了 TitlePreviewCanvas 组件,但在提供的 diff 片段中未看到其在 JSX 中的使用。如果该组件用于渲染标题预览,请确保其已被正确挂载;如果未使用,请删除导入。
  3. apps/web/src/pages/generate/components/title/TitlePreviewCanvas.tsx 第112、116、132行:React Hooks 依赖项审查

    • 具体内容:使用了 eslint-disable-next-line 忽略 exhaustive-deps 规则。虽然注释说明 "draw uses refs",但请务必确保 draw 函数内部依赖 refs(如 canvasRef)或通过参数传递数据。如果 draw 依赖了组件内的其他 state 或 props(且这些未列入依赖数组),会导致闭包陷阱,绘制的是旧数据。建议在 Code Review 中确认 draw 的实现细节。

格式检查通过 | 逻辑审查需修改 | 建议关注性能


🤖 由 AI 代码审查机器人自动生成 | 2026-08-16 01:07:07 | 模型:

## 代码审查结果 - PR #1386 ### ⚠️ 问题(0个需要修改) 无 ### 💡 建议(3个可选) 1. **apps/web/src/pages/generate/GeneratePage.tsx 第28-29行**:存在未使用的导入 - **具体内容**:导入了 `useQuery` 和 `getAssetsByKind` 但在当前 diff 中未使用。如果是后续代码需要使用请忽略,否则建议删除以减少包体积和保持代码整洁。 2. **apps/web/src/pages/generate/components/PreviewVideoPanel.tsx 第19行**:新增导入的使用存疑 - **具体内容**:导入了 `TitlePreviewCanvas` 组件,但在提供的 diff 片段中未看到其在 JSX 中的使用。如果该组件用于渲染标题预览,请确保其已被正确挂载;如果未使用,请删除导入。 3. **apps/web/src/pages/generate/components/title/TitlePreviewCanvas.tsx 第112、116、132行**:React Hooks 依赖项审查 - **具体内容**:使用了 `eslint-disable-next-line` 忽略 `exhaustive-deps` 规则。虽然注释说明 "draw uses refs",但请务必确保 `draw` 函数内部**仅**依赖 refs(如 `canvasRef`)或通过参数传递数据。如果 `draw` 依赖了组件内的其他 state 或 props(且这些未列入依赖数组),会导致闭包陷阱,绘制的是旧数据。建议在 Code Review 中确认 `draw` 的实现细节。 --- ✅ 格式检查通过 | ✅ 逻辑审查需修改 | ✅ 建议关注性能 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-08-16 01:07:07 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
auto-approve-bot approved these changes 2026-08-16 09:30:30 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-08-16 09:30:30 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot merged commit fae7bab9bf into develop 2026-08-16 09:31:01 +08:00
auto-approve-bot deleted branch fix/ts-compile-error-preview-panel 2026-08-16 09:31:01 +08:00

🗑️ 预览环境已清理

PR #1386 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1386 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.