diff options
| author | Paul Bütow <1224732+snonux@users.noreply.github.com> | 2025-06-20 21:25:53 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-20 21:25:53 +0300 |
| commit | e04538842128f09e9469ada29579cb4ac2013410 (patch) | |
| tree | 1c635c1653f9e9990eb103a9db7a7f7b283ca3a8 /internal/ui/table.go | |
| parent | a7c475bf3be83dc422d7a16b6e4e015f257660fd (diff) | |
| parent | 8e3f1bea410eca250b80e3d4b045f68278aa7f58 (diff) | |
Merge pull request #44 from snonux/codex/investigate-undo-functionality-for-completed-tasks
Fix undo of completed tasks
Diffstat (limited to 'internal/ui/table.go')
| -rw-r--r-- | internal/ui/table.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/internal/ui/table.go b/internal/ui/table.go index b175776..e293325 100644 --- a/internal/ui/table.go +++ b/internal/ui/table.go @@ -39,7 +39,7 @@ type Model struct { filters []string tasks []task.Task - undoStack []int + undoStack []string total int inProgress int @@ -224,15 +224,20 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { idStr := ansi.Strip(row[0]) if id, err := strconv.Atoi(idStr); err == nil { task.Done(id) - m.undoStack = append(m.undoStack, id) + for _, tsk := range m.tasks { + if tsk.ID == id { + m.undoStack = append(m.undoStack, tsk.UUID) + break + } + } m.reload() } } case "U": if n := len(m.undoStack); n > 0 { - id := m.undoStack[n-1] + uuid := m.undoStack[n-1] m.undoStack = m.undoStack[:n-1] - task.SetStatus(id, "pending") + task.SetStatusUUID(uuid, "pending") m.reload() } case "d": |
