summaryrefslogtreecommitdiff
path: root/issues/phase3_step4_todoist_write.md
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-01-19 09:11:04 -1000
committerPeter Stone <thepeterstone@gmail.com>2026-01-19 09:11:04 -1000
commit2215aaa458b318edb16337ab56cf658117023eb4 (patch)
tree73dc62cb8ed385e8ab5d255825b03ffb8845b27e /issues/phase3_step4_todoist_write.md
parent791034f1b588bf679f45a0f89168515fcbde66d5 (diff)
Implement Unified Quick Add for Tasks tab (Phase 3 Step 8)
Add Quick Add form to create Todoist tasks or Trello cards directly from the Tasks tab with optional due date support. Features: - HandleUnifiedAdd handler with due date parsing - HandleGetListsOptions for dynamic Trello list loading - Quick Add form with source toggle (Todoist/Trello) - Date picker for due dates - HX-Trigger refresh after successful creation - Pass boards to tasks-tab template for board selector Cleanup: - Remove resolved issue tracking files Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'issues/phase3_step4_todoist_write.md')
-rw-r--r--issues/phase3_step4_todoist_write.md40
1 files changed, 0 insertions, 40 deletions
diff --git a/issues/phase3_step4_todoist_write.md b/issues/phase3_step4_todoist_write.md
deleted file mode 100644
index f68a963..0000000
--- a/issues/phase3_step4_todoist_write.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Phase 3 Step 4: Todoist Write Operations
-
-## Goal
-Implement write operations for Todoist (Create Task, Complete Task) and update the UI to support them.
-
-## Requirements
-
-### Backend
-1. **Models**:
- * Add `Project` struct to `internal/models/types.go`.
- * Add `Projects []Project` to `DashboardData`.
-2. **API (`internal/api/todoist.go`)**:
- * Refactor `GetProjects` to return `[]models.Project`.
- * Implement `CreateTask(content, projectID string)`.
- * Implement `CompleteTask(taskID string)`.
- * Refactor `baseURL` to be a struct field for testability.
-3. **Handlers (`internal/handlers/handlers.go`)**:
- * Update `aggregateData` to fetch projects and populate `DashboardData`.
- * Implement `HandleCreateTask`:
- * Parse form (`content`, `project_id`).
- * Call `CreateTask`.
- * Return updated task list partial.
- * Implement `HandleCompleteTask`:
- * Call `CompleteTask`.
- * Return empty string (to remove from DOM).
-
-### Frontend
-1. **Template (`web/templates/partials/todoist-tasks.html`)**:
- * Add "Quick Add" form at the top.
- * Input: Task content.
- * Select: Project (populated from `.Projects`).
- * Update Task Items:
- * Add Checkbox.
- * `hx-post="/tasks/complete"`.
- * `hx-target="closest .todoist-task-item"`.
- * `hx-swap="outerHTML"`.
-
-## Verification
-* Unit tests for API client.
-* Manual verification of UI flows.