Components
Project identity editor
Edit a project title, color, and icon in place while retaining the project context.
On this page
Purpose and usage
Edit a project title, color, and icon in place while retaining the project context.
Use on project detail pages rather than exposing unrelated project color settings in every card.
Anatomy
| Part | Contract |
|---|---|
| Title | Current project name and inline editing affordance. |
| Appearance | Color and icon choices using project-specific properties. |
| Lifecycle control | Separate completionControl slot. |
Variants and configuration
| Configuration | Behavior |
|---|---|
| Controlled values | title, color, icon plus onTitleChange/onColorChange/onIconChange. |
| Composition | completionControl is supplied by the parent. |
State coverage
| State | Implemented behavior |
|---|---|
| Resting | Project identity is prominent. |
| Appearance open | Choice surface exposes the project palette and icons. |
| Title editing | Draft title tracks local text. |
| Outside commit | Nonblank title commits; blank input restores the previous title. |
Interaction and responsive behavior
- Persist changes through the project parent, not the appearance component itself.
- Keep lifecycle decisions out of appearance controls.
- Retain identity consistency across card, agenda, and resource views.
Accessibility contract
- Separate title editing from appearance choice in the tab order.
- Verify accessible naming for every color and icon choice.
- Review focus return on Escape and outside dismissal.
Known gaps and readiness
Appearance callbacks are not network confirmation. Empty-title recovery exists locally; asynchronous rejection requires a clearer workflow contract.
Composition example
<ProjectIdentityEditor title={title} color={color} icon={icon}
onTitleChange={saveTitle} onColorChange={saveColor}
onIconChange={saveIcon} completionControl={statusControl} />Source references
| File | Responsibility |
|---|---|
| app/components/project-identity-editor.tsx | Appearance and title editors |
| app/components/agenda-block-styles.ts | Five project identity mappings |
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