diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-01-19 09:11:04 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-01-19 09:11:04 -1000 |
| commit | 2215aaa458b318edb16337ab56cf658117023eb4 (patch) | |
| tree | 73dc62cb8ed385e8ab5d255825b03ffb8845b27e /issues/phase3_step4_todoist_write.md | |
| parent | 791034f1b588bf679f45a0f89168515fcbde66d5 (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.md | 40 |
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. |
