import StatusDot from './StatusDot.jsx' import { kindColor } from '../../pages/task/kind.js' const statusLabel = (s) => (s === 'done' ? '完成' : s === 'doing' ? '执行中' : '未开始') // 列表视图的一行 (Todoist 风格, T-UI-01) // 点击行体 → 打开详情; 长按 400ms 后左右拖动换列 (bindDrag 来自 useRowDrag) // 子任务与普通任务同构: 标题一行 + 状态元信息一行 (字体略小), 不显示分组标签 // 复选框 / ⋯ 是独立控件: pointerdown 不冒泡, 不发起拖动, // 避免长按行后抬手时合成的 click 落在控件上误触状态切换 export default function TaskRow({ task, onToggle, onClick, onMore, bindDrag, bindDragHandle, dragging = false, dragOver, indent = false, children, }) { const done = task.status === 'done' return ( <>