From 0be6566045f3abcb084940b50e45a19a93bc2f83 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 3 Mar 2026 15:02:23 +0000 Subject: [PATCH] feat: add text search to All Tasks page Co-Authored-By: Claude Opus 4.6 --- routers/tasks.py | 5 +++++ templates/tasks.html | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/routers/tasks.py b/routers/tasks.py index b14ef4b..5c67f5a 100644 --- a/routers/tasks.py +++ b/routers/tasks.py @@ -33,6 +33,7 @@ async def list_tasks( status: Optional[str] = None, priority: Optional[str] = None, context: Optional[str] = None, + search: Optional[str] = None, sort: str = "sort_order", db: AsyncSession = Depends(get_db), ): @@ -40,6 +41,9 @@ async def list_tasks( where_clauses = ["t.is_deleted = false"] params = {} + if search: + where_clauses.append("t.title ILIKE :search") + params["search"] = f"%{search}%" if domain_id: where_clauses.append("t.domain_id = :domain_id") params["domain_id"] = domain_id @@ -97,6 +101,7 @@ async def list_tasks( return templates.TemplateResponse("tasks.html", { "request": request, "sidebar": sidebar, "items": items, "domains": domains, "projects": projects, "context_types": context_types, + "current_search": search or "", "current_domain_id": domain_id or "", "current_project_id": project_id or "", "current_status": status or "", diff --git a/templates/tasks.html b/templates/tasks.html index 3d59333..841044b 100644 --- a/templates/tasks.html +++ b/templates/tasks.html @@ -13,6 +13,7 @@
+ + + {% if current_search or current_domain_id or current_project_id or current_status or current_priority or current_context %} + Clear + {% endif %}