1. 回滚键盘遮挡统一方案 (真机测试不通过, 需求搁置): 恢复 TaskDetail/ UserPicker/CopyTaskPopup/ProjectManage 与 useKeyboardInset 到 9fea1a5^, 删除 useKeyboardInsetWatcher / .kb-safe / interactive-widget=resizes-content 2. 任务详情页样式随 1 一并恢复提交前状态 (含底部拷贝/删除按钮) 3. 列表视图换列改为卡片拖动: 新 useRowDrag (长按 400ms 行抬起, 左右 80px/列步进, 行尾徽标显示目标列, 松手落列), 移除长按 ActionSheet —— 旧长按与复选框/行点击互相误触, 抬手合成 click 落在控件上触发状态切换 4. 看板拖动防误触: 任务区禁长按文字选择与系统菜单 (输入框除外); pointercancel 只放弃不提交; 拖动结束 350ms 内抑制 click 误开详情; 状态点/⋯/子任务行 pointerdown 不冒泡, 不发起拖动 5. 看板横滑扩展到整屏: .page-transition 补 height:100% 打通 app-main → page-with-navbar 百分比链, board-wrap 撑满剩余高度 已验证: kb-safe/Watcher/onLongPress 残留引用清零, 逐文件 diff 审阅通过; 本机无 Node 运行时, 未跑 vite build
1. BUILD_ID 改为 yyyyMMddHHmmss (去掉中间点), 仍 UTC+8 2. 任务 ⋯ 菜单去掉顶部任务名标题 3. 任务详情去掉底部「拷贝到其他项目」「删除任务」按钮 (⋯ 菜单已有) 4+6. 键盘遮挡统一方案 (重点设计 §7.2): - index.html 加 interactive-widget=resizes-content - App 级 useKeyboardInsetWatcher 写 --kb-inset (visualViewport+window 双源) - 底部弹层统一 .kb-safe 类 (安全区+20px+键盘插入量, dvh 收缩+内部滚动) - TaskDetail/UserPicker/CopyTaskPopup/信息块弹层全部迁移, 删除 per-component hook - 信息块 textarea 补 focus scrollIntoView 兜底 5. 拖动方案重做 (重点设计 §7.1): - 新 useColumnDrag: Pointer Events + setPointerCapture, 长按400ms原位抬起, elementFromPoint 高亮目标列, 边缘 rAF 自动横滚; 移除手指跟随浮层(任务名) - 列表行长按 500ms → 「移动到列」ActionSheet (不做自由拖动) - 移除「拖到卡片转子任务」误触路径, 统一走详情页层级区 - 删除旧 useLongPressDrag 已验证: 99 文件语法 0 错误、导入 0 缺失
save