Radarist project

Radarist / Design system

Documentation v0.1 · Product in progress

Design system contents

Components

Project completion decision

Make the treatment of unfinished tasks explicit before completing a project.

On this page

Purpose and usage

Make the treatment of unfinished tasks explicit before completing a project.

Use for project completion with unresolved work; a routine binary task toggle does not need this dialog.

Anatomy

Anatomy
PartContract
QuestionNames the project being completed.
Remaining workCount of incomplete tasks.
ChoicesCancel, complete remaining tasks, or leave tasks incomplete.

Variants and configuration

Variants and configuration
ConfigurationBehavior
incompleteCountNumber of unfinished tasks to explain the decision.
CallbacksonCancel, onCompleteAll, onLeaveIncomplete.

State coverage

State coverage
StateImplemented behavior
OpenBody scroll locked and an initial focus target requested.
CancelReturns to the previous context without completing.
Decision madeParent chooses the actual status/task mutations.

Interaction and responsive behavior

  • Show this decision only when incomplete work exists.
  • State clearly what each choice will do to task records.
  • Restore the previous focus when the dialog leaves the page.

Accessibility contract

  • role=alertdialog with title/description IDs and aria-modal.
  • Escape calls cancel; an initial focus target is selected by data attribute.
  • Test containment and focus restoration independently.

Known gaps and readiness

No complete accessibility certification is implied. Captures use no-op mutation callbacks, so they do not change tasks or project status.

Composition example

<ProjectCompletionDialog projectTitle={project.project}
  incompleteCount={remainingCount} onCancel={close}
  onCompleteAll={completeRemaining} onLeaveIncomplete={completeOnly} />

Source references

Source references
FileResponsibility
app/components/project-completion-dialog.tsxDecision alertdialog
app/components/project-detail-content.tsxCompletion orchestration

Examples from the app

Actual Radarist components with fictional data. Captured at 2× resolution or higher. Select an image to inspect it full size.

Completion · Dialog detail · Light · Desktop · 1120 × 832 px

Source audit: 2026-10-07 · Revision 0103e2549959 · Documentation v0.1