Skip to content

Commit a5b60ee

Browse files
committed
feat: sort daily tasks by status
1 parent 38c4d03 commit a5b60ee

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

internal/models/daily/items.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"os"
66
"path/filepath"
7+
"slices"
78
"time"
89

910
"github.com/SourcewareLab/Toney/v2/internal/config"
@@ -76,6 +77,10 @@ func GetItems() []Task {
7677
fmt.Println(err.Error())
7778
}
7879

80+
slices.SortStableFunc(tasks, func(a, b Task) int {
81+
return getStatusOrder(a.Status) - getStatusOrder(b.Status)
82+
})
83+
7984
return tasks
8085
}
8186

@@ -129,3 +134,18 @@ func filterRolloverTasks(tasks []Task) []Task {
129134
}
130135
return result
131136
}
137+
138+
func getStatusOrder(s enums.TaskStatus) int {
139+
switch s {
140+
case enums.Started:
141+
return 0
142+
case enums.Pending:
143+
return 1
144+
case enums.Abandoned:
145+
return 2
146+
case enums.Complete:
147+
return 3
148+
default:
149+
return 4
150+
}
151+
}

0 commit comments

Comments
 (0)