18 lines
1.4 KiB
Plaintext
18 lines
1.4 KiB
Plaintext
---
|
|
description: Lab Tasks tab — sort, grouping, filters, prosthesis colors
|
|
globs: frontend/src/components/ui/lab/TasksPage.tsx,frontend/src/components/ui/lab/Task*.tsx,frontend/src/components/ui/lab/Case*.tsx,frontend/src/components/ui/treatment/LabCasesDispatchPanel.tsx,frontend/src/components/lab/taskListGrouping.ts,frontend/src/components/lab/labCaseDueDateDisplay.ts,frontend/src/components/treatment/prosthesisTypeDisplay.ts,frontend/src/components/shared/catalog-type-colors.ts,backend/src/modules/tasks/**,backend/src/common/lab-case-due-date.ts,backend/src/modules/treatments/**
|
|
alwaysApply: false
|
|
---
|
|
|
|
# Lab Tasks
|
|
|
|
- **Default sort:** newest `labCase.sentAt` first; `stepOrder` asc within prosthesis group (backend `buildOrderBy`).
|
|
- **Grouping:** only when `sortBy=date`; flat list + hint for other sorts.
|
|
- **Prosthesis colors:** `PROSTHESIS_TYPE_COLORS` + `prosthesisTypeBadgeStyleFromCatalog` — never row index.
|
|
- **Important first:** `pinImportant=true` (sort pin, not filter).
|
|
- **Task assignment:** assign in Cases (`TAB_CASES_EDIT`); status edit on Tasks only for assignee or unassigned tasks; others see “Assigned to {name}”.
|
|
- **Case due dates:** clinic sets in Treatment lab dispatch; lab sees on Cases/Tasks; `overdue` filter + `sortBy=dueDate` on Tasks.
|
|
- **Show in case:** `GET /tasks/locate-page` finds page in full list; highlight + scroll.
|
|
|
|
Full map: `.cursor/skills/lab-tasks/SKILL.md`
|