refactor(V0.2): 详情页精简 + 列表行样式调整
Docker Build and Push / build-image (push) Successful in 4m20s

- 任务详情: 移除底部「拷贝到其他项目 / 删除任务」按钮 (⋯ 菜单仍保留入口), 清理相关死代码
- 列表子任务: 改为与普通任务同构的两行布局 (标题 + 左侧状态点/状态文字, 字体略小)
- 列表任务卡片第二行不再显示看板分组标签
This commit is contained in:
jif2.zhang
2026-10-25 00:23:01 +08:00
parent 9467d4c242
commit 20a5105c23
3 changed files with 17 additions and 42 deletions
+10 -5
View File
@@ -1,7 +1,10 @@
import StatusDot from './StatusDot.jsx'
const statusLabel = (s) => (s === 'done' ? '完成' : s === 'doing' ? '执行中' : '未开始')
// 列表视图的一行 (Todoist 风格, T-UI-01)
// 点击行体 → 打开详情; 长按 400ms 后左右拖动换列 (bindDrag 来自 useRowDrag)
// 子任务与普通任务同构: 标题一行 + 状态元信息一行 (字体略小), 不显示分组标签
// 复选框 / ⋯ 是独立控件: pointerdown 不冒泡, 不发起拖动,
// 避免长按行后抬手时合成的 click 落在控件上误触状态切换
export default function TaskRow({
@@ -27,18 +30,20 @@ export default function TaskRow({
</div>
{indent ? (
<>
<div className="sub-main">
<span className="sub-title">{task.title}</span>
<StatusDot status={task.status} pill />
</>
<div className="task-meta sub">
<StatusDot status={task.status} />
<span>{statusLabel(task.status)}</span>
</div>
</div>
) : (
<>
<div className="task-main">
<div className="task-title">{task.title}</div>
<div className="task-meta">
<StatusDot status={task.status} />
<span>{task.status === 'done' ? '完成' : task.status === 'doing' ? '执行中' : '未开始'}</span>
{task.column?.name && <span className="col">{task.column.name}</span>}
<span>{statusLabel(task.status)}</span>
<span className={`assignee${task.assignee ? '' : ' none'}`}>
{task.assignee?.name || '未指派'}
</span>