bridge: REQ — task module improvements (sort, filter, kanban, slide-out)
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
# Code Request — Task Module Improvements
|
||||
|
||||
**Filed by:** Chronicler #88
|
||||
**Date:** 2026-04-14
|
||||
**Priority:** Medium
|
||||
**Task DB:** task_number 105 (Trinity Console Review Workflow — repurpose or create new)
|
||||
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
The current task module at `/admin/tasks` shows a flat list. Michael wants
|
||||
significant UX improvements. This request covers everything Code can build
|
||||
without further architecture decisions.
|
||||
|
||||
---
|
||||
|
||||
## Feature 1: Click Task → Slide-Out Detail Panel
|
||||
|
||||
When clicking a task name, show a slide-out panel (right side) with:
|
||||
- Full title, status badge, priority badge, owner
|
||||
- Full description (rendered as markdown)
|
||||
- Tags
|
||||
- Created/updated/completed timestamps
|
||||
- Completed by
|
||||
- spec_path (if set)
|
||||
- Close button (X or click outside)
|
||||
|
||||
Do NOT navigate away from the list — panel overlays on top.
|
||||
|
||||
Use a simple CSS transition (translate from right). No external libraries needed.
|
||||
|
||||
---
|
||||
|
||||
## Feature 2: Sorting
|
||||
|
||||
Add sort controls above the task list:
|
||||
|
||||
```
|
||||
Sort by: [Number ▼] [Priority] [Status] [Updated]
|
||||
```
|
||||
|
||||
Default: task_number ASC. Clicking active sort toggles ASC/DESC.
|
||||
Persist sort preference in localStorage.
|
||||
|
||||
---
|
||||
|
||||
## Feature 3: Filter Chips
|
||||
|
||||
Add filter chips row above the list:
|
||||
|
||||
**Status:** All | Open | In Progress | Blocked | Done | Obsolete
|
||||
**Priority:** All | Critical | High | Medium | Low | Wish
|
||||
|
||||
Chips are toggleable. Multiple status/priority selections allowed.
|
||||
Active chips highlighted in cyan.
|
||||
|
||||
---
|
||||
|
||||
## Feature 4: Saved Filter Presets
|
||||
|
||||
Add a "Presets" dropdown with these saved filters:
|
||||
|
||||
- **Launch Fires** — status=open, priority=high OR critical
|
||||
- **Code Queue** — tags contains 'code' OR title contains 'Code'
|
||||
- **Post-Launch** — status=open, priority=low OR wish
|
||||
- **All Open** — status IN (open, in_progress, blocked)
|
||||
|
||||
Presets are hardcoded in the view for now (no CRUD needed yet).
|
||||
|
||||
---
|
||||
|
||||
## Feature 5: Kanban View
|
||||
|
||||
Add a view toggle: **[List] [Kanban]**
|
||||
|
||||
Kanban shows 4 columns: Open | In Progress | Blocked | Done
|
||||
|
||||
Cards show: task_number, title, priority badge.
|
||||
Cards are NOT draggable yet (drag-to-reorder is Phase 2).
|
||||
|
||||
---
|
||||
|
||||
## Feature 6: Session Summary Badge
|
||||
|
||||
Add a small banner or badge at the top of the task list:
|
||||
|
||||
```
|
||||
✅ 3 tasks completed today
|
||||
```
|
||||
|
||||
Query: `SELECT COUNT(*) FROM tasks WHERE completed_at::date = CURRENT_DATE`
|
||||
|
||||
Show only if count > 0.
|
||||
|
||||
---
|
||||
|
||||
## Feature 7: Code Queue Indicator
|
||||
|
||||
In the nav sidebar next to "Tasks", show a badge with the count of tasks
|
||||
where tags contains 'code' AND status IN ('open', 'in_progress').
|
||||
|
||||
Query:
|
||||
```sql
|
||||
SELECT COUNT(*) FROM tasks
|
||||
WHERE 'code' = ANY(tags) AND status IN ('open', 'in_progress')
|
||||
```
|
||||
|
||||
Badge style: small cyan circle with white number, same as Discord notification badges.
|
||||
|
||||
---
|
||||
|
||||
## API Notes
|
||||
|
||||
All data comes from existing `/admin/tasks` route. Check what data is already
|
||||
passed to the view and add any missing fields (description, tags, completed_by,
|
||||
spec_path) to the route query if needed.
|
||||
|
||||
---
|
||||
|
||||
## Deliverable
|
||||
|
||||
- Updated `src/views/admin/tasks/` view(s)
|
||||
- Updated `src/routes/admin/tasks.js` if additional fields needed
|
||||
- No new tables required
|
||||
- Update `ACTIVE_CONTEXT.md`
|
||||
|
||||
**Fire + Frost + Foundation** 💙🔥❄️
|
||||
Reference in New Issue
Block a user