# [FEATURE] Keep completed tasks visible until refresh ## Description Leave completed tasks in view until refresh and don't confirm completion. ## User Story As a user, I want completed tasks to stay visible (struck through) until I refresh so I can see my progress and undo mistakes. ## Technical Context - Affects: `partials/todoist-tasks.html` (HTMX swap behavior), possibly JS state - Currently completion likely removes item via `hx-swap="delete"` or similar - Need to change to in-place update with completed styling ## Test Strategy ### E2E Test (Red) ``` 1. Load tasks page with uncompleted task 2. Click complete button on task 3. Assert task still visible with .completed class (strikethrough) 4. Assert no confirmation dialog appeared 5. Refresh page 6. Assert completed task no longer visible ``` ## Proposed Approach 1. **Change completion endpoint response:** - Instead of empty response (for delete), return updated task HTML - Task HTML includes completed styling (strikethrough, muted colors) 2. **Update HTMX swap:** - Change from `hx-swap="delete"` or `hx-swap="outerHTML"` with empty - To `hx-swap="outerHTML"` with completed task HTML 3. **Remove confirmation:** - Remove any `hx-confirm` attribute on complete button - Or remove JS confirmation dialog if present 4. **Completed task styling:** - Add `.completed` class with `line-through text-gray-400` - Optionally add "undo" button that appears on completed tasks ## Affected Components - `internal/handlers/handlers.go` (completion endpoint response) - `web/templates/partials/todoist-tasks.html` - `web/templates/partials/task-item.html` (if exists, for completed variant) ## Definition of Done - [ ] Completing a task keeps it visible with strikethrough - [ ] No confirmation dialog on completion - [ ] Task disappears on page refresh - [ ] Optional: Undo button on completed tasks - [ ] E2E test confirms behavior