fix: title default position lower & drag stability #1690
Reference in New Issue
Block a user
Delete Branch "fix/title-position-and-drag-stability"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Changes
1. 标题默认位置下调
File:
apps/web/src/pages/editing-planner/components/PreviewPlayer.tsx8px改为6.25%2. 拖拽标题时保持排版稳定
File:
apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsxBefore:
left: sidePct%+right: sidePct%(固定宽度)left: xPct%+transform: translate(-50%, -50%)(宽度随内容变化)After:
width: ${100 - 2*sidePct}%和maxWidthleft: 50%+transform: translateX(-50%)居中left: xPct%+transform: translate(-50%, -50%)定位Verification
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
[apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx:594] 重复代码优化
width和maxWidth的计算表达式${100 - 2 * titleSidePct}%重复出现。建议在组件内或 style 对象外先计算该值(例如const safeWidth = \${100 - 2 * titleSidePct}%`;`),然后引用该变量,提高代码可维护性。[apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx:594] 边界条件防御
100 - 2 * titleSidePct依赖titleSidePct。如果titleSidePct为null/undefined会导致计算结果为NaN,导致宽度失效;如果titleSidePct > 50会导致宽度为负数。建议确保上游数据校验,或在此处添加Math.max(0, ...)和默认值处理(如titleSidePct || 0)以增强鲁棒性。✅ 良好实践
FrontendPreviewPlayer.tsx中通过left: 50%配合transform: translateX(-50%)实现水平居中,同时结合width限制,逻辑清晰且符合现代 CSS 布局最佳实践,避免了left/right同时设置带来的拉伸问题。PreviewPlayer.tsx将固定的px单位改为响应式的%单位,提升了不同屏幕尺寸下的适配能力。🤖 由 AI 代码审查机器人自动生成 | 2026-09-04 07:14:43 | 模型:
🗑️ 预览环境已清理
PR #1690 已关闭或合并,对应的预览环境已被清理。