From 2fee76ea41f37e3a068273c05a98b892ab29228c Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Tue, 13 Jan 2026 14:09:50 -1000 Subject: Add Trello card creation and completion UI (Phase 3 Step 3) Implement interactive Trello card management with HTMX: Frontend: - Create trello-board.html partial with add card form - Add collapsible form with list selector and card title input - Add completion checkbox on each card - Update trello-boards.html to use new partial - Use HTMX for seamless partial updates (hx-post, hx-swap) Backend: - Add HandleCreateCard: creates card and re-renders board - Add HandleCompleteCard: marks card as closed - Register /cards and /cards/complete POST routes Features: - Add cards to any list via dropdown - Mark cards complete with checkbox (removes from view) - Real-time board updates without full page reload - Glassmorphism styling for form All tests pass. Full Trello write operations now available in UI. Co-Authored-By: Claude Sonnet 4.5 --- issues/phase3_step3_trello_ui.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 issues/phase3_step3_trello_ui.md (limited to 'issues') diff --git a/issues/phase3_step3_trello_ui.md b/issues/phase3_step3_trello_ui.md new file mode 100644 index 0000000..92dd8a5 --- /dev/null +++ b/issues/phase3_step3_trello_ui.md @@ -0,0 +1,36 @@ +# Phase 3 Step 3: Trello UI & Handlers + +**Status:** Open +**Priority:** High +**Created:** 2024-05-22 + +## Description +Implement the UI and backend handlers to enable creating and completing Trello cards directly from the dashboard. + +## Requirements + +### 1. UI Updates +* **Refactor:** Extract individual board rendering into a new partial `web/templates/partials/trello-board.html`. +* **Add Card:** Add a "Quick Add" form to each board (using `
` for simplicity) that allows selecting a List and entering a Name. +* **Complete Card:** Add a checkbox to each card that marks it as complete (archives/closes it). + +### 2. Backend Handlers +* `HandleCreateCard`: + * POST `/cards` + * Params: `board_id`, `list_id`, `name` + * Action: Call `CreateCard` API. + * Response: Re-render the specific board partial with updated data. +* `HandleCompleteCard`: + * POST `/cards/complete` + * Params: `card_id` + * Action: Call `UpdateCard` API (set `closed=true`). + * Response: Empty string (removes the card from UI via HTMX). + +### 3. Routing +* Register the new routes in `cmd/dashboard/main.go`. + +## Implementation Plan +1. Create `web/templates/partials/trello-board.html`. +2. Update `web/templates/partials/trello-boards.html`. +3. Implement handlers in `internal/handlers/handlers.go`. +4. Register routes in `cmd/dashboard/main.go`. -- cgit v1.2.3