现在我理解了完整结构。需要做以下修改:
先更新类型定义:
现在更新 store.ts 添加 remarks 字段:
现在更新 create-task-dialog.tsx,为视频方向添加备注字段:
现在在视频方向表单中添加备注输入框:
现在更新 page.tsx,在创建视频任务时传递 remarks:
现在更新视频详情页,添加备注列:
现在添加备注列单元格(支持 hover 预览和编辑)和备注编辑弹窗状态:
现在在表格行中添加备注单元格:
现在添加备注编辑弹窗:
现在更新创作脚本弹窗,添加录屏素材和参考视频上传:
现在添加录屏素材和参考视频的状态管理:
现在在弹窗内容区域添加录屏素材和参考视频上传区:
完成了所有修改。
总结:
MultiVideoUpload 组件实现。remarks 字段。备注支持 hover 时弹出 tooltip 预览完整内容,点击编辑图标可打开弹窗重新编辑。VideoDirection 和 VideoTask 类型都新增了 remarks 字段,create-task-dialog 中每个视频方向卡片底部新增了备注输入框,创建任务时会自动将备注传递给对应的视频任务。从日志中可以看出几个问题:
storyboard-dialog.tsx 中使用了 Upload 图标但未导入videos.map is not a function - MultiVideoUpload 组件收到的 videos 可能不是数组Select.Item 的 value 不能为空字符串让我修复这些问题:
现在我看到了问题:
storyboard-dialog.tsx 中使用了 Upload 和 Video 图标但只导入了其他图标MultiVideoUpload 组件需要保护性地处理 videos 参数,确保它是数组让我修复这些问题:
现在修复 video-task-detail.tsx 中 finalVideo 的防护:
修复了三个问题:
storyboard-dialog.tsx 中添加了缺失的 Upload 和 Video 图标导入MultiVideoUpload 组件中添加了 safeVideos 保护,确保 videos 参数始终是数组,避免 .map is not a function 错误video-task-detail.tsx 中为 finalVideo 添加了空数组默认值保护