From eadd17df2946a1219fdf02f2ee0a0ac19734e56d Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Fri, 7 Aug 2026 10:39:28 +0000 Subject: Wire the Tasks tab into nav; fold in buckets/projects/labels and recurrence The Tasks tab (/tabs/tasks) existed server-side and was tested, but nothing in the nav linked to it -- it was pure dead weight in the other direction. Wiring it up as the natural home for everything that was either misplaced in Settings or missing a web UI entirely: - Maintenance Buckets, Projects, and Labels moved out of Settings and into the Tasks tab (restyled from Settings' opaque slate cards to the glass/backdrop-blur look already used by the tab's chain/atom cards -- they're now embedded in index.html's page shell, not a standalone page, so the shared bg-card/bg-input classes from that shell apply). Settings keeps only what's actually settings: Passkeys, Trusted Agents, Data Sources. - Added a Recurrence section to the task-detail modal (freq/interval/ weekday form, posting to a new POST /tasks/recurrence -- the HTMX counterpart to the widget API's HandleWidgetTaskRecurrence). Native task recurrence previously had zero web UI at all, only reachable via the Android widget's RecurrenceEditDialog. Also fixed a real bug found while touching this code: HandleGetTaskDetail's source switch only had a case for "trello" -- opening any native ("doot") task's detail modal, which is most tasks in this tab, showed a blank title and description. Factored both call sites (initial GET and the re-render after a recurrence edit) through one loadTaskDetailData helper and added the missing "doot" case. Also fixed task-detail.html's styling, which was still using pre-dark-theme classes (text-gray-900 etc.) -- functionally invisible text on the modal's dark background. Verified with a throwaway local server (real templates + real DB, not the MockRenderer the unit tests use) seeded with a recurring task, a bucket, a project, and a label -- confirmed all five touched routes render 200 with the expected content, including the populated Buckets/Projects/Labels sections and a real weekly-recurrence form with the correct weekdays pre-checked. Caught and fixed a copy bug this way too ("every 2 weeklys" -> "every 2 weeks"). Not committed; deleted after use. go build ./..., go vet ./..., and go test ./... all clean. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01EZ7ikw2ukGJFTHE3bJS7zL --- web/templates/partials/buckets-section.html | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'web/templates/partials/buckets-section.html') diff --git a/web/templates/partials/buckets-section.html b/web/templates/partials/buckets-section.html index d2f5b7e..53b1e35 100644 --- a/web/templates/partials/buckets-section.html +++ b/web/templates/partials/buckets-section.html @@ -1,19 +1,19 @@ {{define "buckets-section"}} -
+
{{if .Buckets}} {{range .Buckets}} -
+
- {{.Bucket.Name}} - every {{.Bucket.CycleDays}}d, picks {{.Bucket.PickN}} + {{.Bucket.Name}} + every {{.Bucket.CycleDays}}d, picks {{.Bucket.PickN}}
-
@@ -21,10 +21,10 @@ {{if .Items}} {{range .Items}}
- {{.Content}} + {{.Content}}
- {{.BucketState}} -
- + class="flex-1 bg-input border border-white/20 rounded-lg px-3 py-1.5 text-sm text-white placeholder-white/50 outline-none focus:ring-1 focus:ring-white/30"> +
{{end}} {{else}} -
No maintenance buckets yet.
+
No maintenance buckets yet.
{{end}}
{{end}} -- cgit v1.2.3