summaryrefslogtreecommitdiff
path: root/internal/ui/table.go
diff options
context:
space:
mode:
authorPaul Bütow <1224732+snonux@users.noreply.github.com>2025-06-20 21:25:53 +0300
committerGitHub <noreply@github.com>2025-06-20 21:25:53 +0300
commite04538842128f09e9469ada29579cb4ac2013410 (patch)
tree1c635c1653f9e9990eb103a9db7a7f7b283ca3a8 /internal/ui/table.go
parenta7c475bf3be83dc422d7a16b6e4e015f257660fd (diff)
parent8e3f1bea410eca250b80e3d4b045f68278aa7f58 (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.go13
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":