diff options
| author | Paul Bütow <1224732+snonux@users.noreply.github.com> | 2025-06-20 20:59:49 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-20 20:59:49 +0300 |
| commit | 3670a1b978e84f74d210b2432fa6b10d3b29d4ce (patch) | |
| tree | d51d28b85aef6f74a6ec4f0525dcdc4af2f6ea95 /internal/ui/table.go | |
| parent | bd44e7e81e9808c875340806eccefc043e27a8b7 (diff) | |
| parent | 15fea05b5244f39e686f30770482b99687ac66c7 (diff) | |
Merge pull request #37 from snonux/codex/add-hotkey-to-set-random-due-date
Add random due date hotkey
Diffstat (limited to 'internal/ui/table.go')
| -rw-r--r-- | internal/ui/table.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/ui/table.go b/internal/ui/table.go index fc1540c..bd1d4ca 100644 --- a/internal/ui/table.go +++ b/internal/ui/table.go @@ -2,6 +2,7 @@ package ui import ( "fmt" + "math/rand" "strconv" "strings" "time" @@ -16,6 +17,10 @@ import ( "tasksamurai/internal/task" ) +func init() { + rand.Seed(time.Now().UnixNano()) +} + // Model wraps a Bubble Tea table.Model to display tasks. type Model struct { tbl atable.Model @@ -236,6 +241,16 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, nil } } + case "r": + if row := m.tbl.SelectedRow(); row != nil { + idStr := ansi.Strip(row[0]) + if id, err := strconv.Atoi(idStr); err == nil { + days := rand.Intn(31) + 7 + due := time.Now().AddDate(0, 0, days).Format("2006-01-02") + task.SetDueDate(id, due) + m.reload() + } + } case "a": if row := m.tbl.SelectedRow(); row != nil { idStr := ansi.Strip(row[0]) @@ -281,6 +296,7 @@ func (m Model) View() string { "s: toggle start/stop", "D: mark task done", "d: set due date", + "r: random due date", "a: annotate task", "A: replace annotations", "q: quit", |
