mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2025-12-21 10:49:55 -06:00
feat(tasks,ui): enhance task management UI; update routes; add tests
Improve task workflows and overall UX, and align backend routes with the new UI flows. Update docs and development setup accordingly. - UI: refine task list/view/edit templates, project views, and Kanban partial (`_kanban_tailwind.html`) - CSS: polish `app/static/enhanced-ui.css` for spacing, layout, and responsiveness - Routes: update `app/routes/tasks.py` and `app/routes/clients.py` to support new edit/delete/filter behaviors and validations - Templates: align clients/projects pages for consistency and navigation - Docs: refresh `docs/GETTING_STARTED.md` and `docs/TASK_MANAGEMENT_README.md` - Dev: adjust `docker-compose.yml` and `setup.py` to match the latest runtime/build expectations - Tests: add coverage for delete actions, task project editing, and task filters UI (`tests/test_delete_actions.py`, `tests/test_task_edit_project.py`, `tests/test_tasks_filters_ui.py`); update existing tests Why: - Streamlines common task operations and improves discoverability - Ensures backend and UI are consistent and well-tested
This commit is contained in:
@@ -8,6 +8,14 @@ The Task Management feature allows you to break down projects into manageable ta
|
||||
|
||||
### Core Functionality
|
||||
- **Task Creation**: Create tasks within projects with names, descriptions, and priorities
|
||||
### Markdown Support
|
||||
|
||||
Task and project descriptions support Markdown formatting with a rich editor:
|
||||
|
||||
- Editing: Task create/edit and Project create/edit pages include a Markdown editor with dark-mode and image uploads
|
||||
- Rendering: View pages render Markdown via the `markdown` Jinja filter (`app/utils/template_filters.py`), sanitized with Bleach
|
||||
- Supported: headings, emphasis, lists, links, code blocks, tables, images
|
||||
|
||||
- **Status Tracking**: Monitor task progress through different states (To Do, In Progress, Review, Done)
|
||||
- **Priority Management**: Set and track task priorities (Low, Medium, High, Urgent)
|
||||
- **Time Estimation**: Estimate and track actual time for tasks
|
||||
@@ -72,6 +80,21 @@ Task Management migration check completed
|
||||
- **Project Tasks**: Tasks within a specific project
|
||||
- **Overdue Tasks**: Admin view of all overdue tasks
|
||||
|
||||
### Filters UI
|
||||
- The **All Tasks** page includes a filter panel that is **collapsible**.
|
||||
- Use the chevron button near "Filter Tasks" to show/hide the filters.
|
||||
- Your preference is **remembered** using `localStorage` so the panel stays collapsed or expanded across visits.
|
||||
|
||||
### Inline Client Creation (Quality of Life)
|
||||
|
||||
When creating a new project on `Projects → Create`, you can now create a new client without losing your filled-in project data:
|
||||
|
||||
- Click "Create new client" under the Client dropdown to open a modal
|
||||
- Fill in the minimal client details and submit
|
||||
- The newly created client is selected automatically and the default hourly rate is prefilled if available
|
||||
|
||||
This flow uses an AJAX request to `POST /clients/create` and updates the client select dynamically, preserving the current project form state.
|
||||
|
||||
## Database Schema
|
||||
|
||||
### Tasks Table
|
||||
|
||||
Reference in New Issue
Block a user