Components
Project status menu
Expose the project lifecycle as a named choice, separate from the project’s visual identity.
On this page
Purpose and usage
Expose the project lifecycle as a named choice, separate from the project’s visual identity.
Use for project lifecycle changes; do not apply it to an individual task or schedule.
Anatomy
| Part | Contract |
|---|---|
| Trigger | Status dot, text label, chevron. |
| Options | In progress, Waiting, Back burner, Complete. |
| Selection | Menuitemradio checked state. |
Variants and configuration
| Configuration | Behavior |
|---|---|
| Controlled | status and onStatusChange. |
| Product mapping | Hyphenated UI values are mapped to server status values by the parent. |
State coverage
| State | Implemented behavior |
|---|---|
| Current | Visible label and status dot. |
| Open | All lifecycle choices and selected marker. |
| Complete requested | Parent may open the incomplete-task decision dialog. |
Interaction and responsive behavior
- Keep appearance changes separate from lifecycle changes.
- Treat Complete as a consequential action when incomplete tasks exist.
- Close the menu after a selection and persist through the parent.
Accessibility contract
- aria-haspopup=menu, aria-expanded, menuitemradio and aria-checked are present.
- Text labels preserve meaning without color.
- Escape closes; arrow-key menu traversal is not implemented as a shared primitive.
Known gaps and readiness
Status colors are literal values, not semantic theme tokens. Persistence failure feedback is not standardized.
Composition example
<ProjectStatusMenu status={status}
onStatusChange={handleStatusChange} />Source references
| File | Responsibility |
|---|---|
| app/components/project-status-menu.tsx | Status choices and selected state |
| app/components/project-detail-content.tsx | Status persistence and completion handling |
Examples from the app
Actual Radarist components with fictional data. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-07 · Revision 0103e2549959 · Documentation v0.1