-
Notifications
You must be signed in to change notification settings - Fork 45
Open
Labels
backendSomething isn't working on the backendSomething isn't working on the backendcomplexdocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestfrontendSomething isn't working on the frontendSomething isn't working on the frontend
Description
Description:
Implement bulk task actions in CCSync so users can select multiple tasks and mark them as completed or deleted.
Requirements / Steps:
- Add a small checkbox on the left of each task row in the table.
- Add a “Select All” checkbox in the table header row to select/deselect all tasks.
- Maintain a state containing only the UUIDs of selected tasks.
- When one or more tasks are selected, display a floating/top button panel with:
- “Mark as Completed”
- “Delete”
- On clicking either button:
- Show a confirmation dialog to the user.
- Upon confirmation, trigger a job that calls a new backend endpoint (POST /complete-tasks or /delete-tasks) to mark multiple tasks as completed or deleted.
- Ensure this endpoint handles multiple UUIDs in a single request.
- Keep the UI responsive and show a loader or feedback while the operation is in progress.
Acceptance Criteria:
- Tasks can be individually selected.
- “Select All” works correctly.
- Selected tasks’ UUIDs are stored in frontend state.
- Confirmation dialog appears before completing or deleting tasks.
- Backend endpoint successfully updates multiple tasks in one request.
- UI updates immediately after operation.
Notes:
The backend endpoint should be distinct from complete-task (single task), and delete-task (multiple tasks) and handle arrays of UUIDs.
Consider edge cases: no tasks selected, partial failures, network errors.
Metadata
Metadata
Assignees
Labels
backendSomething isn't working on the backendSomething isn't working on the backendcomplexdocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestfrontendSomething isn't working on the frontendSomething isn't working on the frontend