From e7aee6b9d0c2be22530f7813bf677c0c8bff99e4 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Mon, 29 Jun 2026 09:31:37 +0000 Subject: feat: reschedule tasks from widget bottom sheet Tapping a doot task shows a date picker. On confirm, POSTs to /api/widget/reschedule, updates due_date in native_tasks, refreshes widget. Reschedule button only shows for source="doot" tasks. Co-Authored-By: Claude Sonnet 4.6 --- internal/store/native_tasks.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'internal/store') diff --git a/internal/store/native_tasks.go b/internal/store/native_tasks.go index 3ec043b..ca19377 100644 --- a/internal/store/native_tasks.go +++ b/internal/store/native_tasks.go @@ -80,6 +80,14 @@ func (s *Store) CompleteNativeTask(id string) error { return err } +// RescheduleNativeTask sets a new due date on a task. +func (s *Store) RescheduleNativeTask(id string, dueDate time.Time) error { + _, err := s.db.Exec(` + UPDATE native_tasks SET due_date = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ? + `, dueDate, id) + return err +} + // UncompleteNativeTask marks a task as not completed. func (s *Store) UncompleteNativeTask(id string) error { _, err := s.db.Exec(` -- cgit v1.2.3