summaryrefslogtreecommitdiff
path: root/internal/handlers/tabs.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/handlers/tabs.go')
-rw-r--r--internal/handlers/tabs.go17
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))
}
}