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:11:29 +0300
committerGitHub <noreply@github.com>2025-06-20 21:11:29 +0300
commitda2d738eaa5e297c44aba89ad9a3fc9df9a45ca0 (patch)
tree951a23fa299ee251987a387f7b7f03f2d645e347 /internal/ui/table.go
parent8de85810e32076b1e81588b2405e78bdefe94c93 (diff)
parent0acdd70e95618c7bb50db7b6b55b5272409f454c (diff)
Merge pull request #40 from snonux/codex/modify-tasksamurai-command-flags
Pass CLI args to task
Diffstat (limited to 'internal/ui/table.go')
-rw-r--r--internal/ui/table.go32
1 files changed, 12 insertions, 20 deletions
diff --git a/internal/ui/table.go b/internal/ui/table.go
index bd1d4ca..50fb7d1 100644
--- a/internal/ui/table.go
+++ b/internal/ui/table.go
@@ -22,6 +22,7 @@ func init() {
}
// Model wraps a Bubble Tea table.Model to display tasks.
+
type Model struct {
tbl atable.Model
showHelp bool
@@ -35,8 +36,8 @@ type Model struct {
dueID int
dueInput textinput.Model
- filter string
- tasks []task.Task
+ filters []string
+ tasks []task.Task
total int
inProgress int
@@ -54,8 +55,8 @@ func editCmd(id int) tea.Cmd {
}
// New creates a new UI model with the provided rows.
-func New(filter string) (Model, error) {
- m := Model{filter: filter}
+func New(filters []string) (Model, error) {
+ m := Model{filters: filters}
m.annotateInput = textinput.New()
m.annotateInput.Prompt = "annotation: "
m.dueInput = textinput.New()
@@ -94,31 +95,22 @@ func newTable(rows []atable.Row) atable.Model {
}
func (m *Model) reload() error {
- filters := append(strings.Fields(m.filter), "status:pending")
- tasks, err := task.Export(filters...)
+ tasks, err := task.Export(m.filters...)
if err != nil {
return err
}
- var filtered []task.Task
- for _, tsk := range tasks {
- if tsk.Status == "completed" {
- continue
- }
- filtered = append(filtered, tsk)
- }
-
- task.SortTasks(filtered)
+ task.SortTasks(tasks)
var rows []atable.Row
- for _, tsk := range filtered {
+ for _, tsk := range tasks {
rows = append(rows, taskToRow(tsk))
}
- m.tasks = filtered
- m.total = task.TotalTasks(filtered)
- m.inProgress = task.InProgressTasks(filtered)
- m.due = task.DueTasks(filtered, time.Now())
+ m.tasks = tasks
+ m.total = task.TotalTasks(tasks)
+ m.inProgress = task.InProgressTasks(tasks)
+ m.due = task.DueTasks(tasks, time.Now())
if m.tbl.Columns() == nil {
m.tbl = newTable(rows)