diff options
Diffstat (limited to 'internal/handlers/tabs.go')
| -rw-r--r-- | internal/handlers/tabs.go | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/internal/handlers/tabs.go b/internal/handlers/tabs.go index c23910d..ce9c34f 100644 --- a/internal/handlers/tabs.go +++ b/internal/handlers/tabs.go @@ -5,12 +5,25 @@ import ( "log" "net/http" "sort" + "strings" "time" "task-dashboard/internal/models" "task-dashboard/internal/store" ) +// isActionableList returns true if the list name indicates an actionable list +func isActionableList(name string) bool { + lower := strings.ToLower(name) + return strings.Contains(lower, "doing") || + strings.Contains(lower, "in progress") || + strings.Contains(lower, "to do") || + strings.Contains(lower, "todo") || + strings.Contains(lower, "tasks") || + strings.Contains(lower, "next") || + strings.Contains(lower, "today") +} + // TabsHandler handles tab-specific rendering with Atom model type TabsHandler struct { store *store.Store @@ -65,10 +78,10 @@ func (h *TabsHandler) HandleTasks(w http.ResponseWriter, r *http.Request) { } } - // Convert Trello cards with due dates + // Convert Trello cards with due dates or in actionable lists for _, board := range boards { for _, card := range board.Cards { - if card.DueDate != nil { + if card.DueDate != nil || isActionableList(card.ListName) { atoms = append(atoms, models.CardToAtom(card)) } } |
