Status Badge

ready

Semantic status pill that maps a status string to a color tone.

The Status Badge turns an application status into a color-coded pill with a leading dot. It powers the Application Status column in the Sub Table and Table screens, replacing plain text with a scannable signal.

Anatomy

Approved
  1. 1 Dot — tone-colored indicator for quick scanning
  2. 2 Label — the status text, as provided

Tones

The status string is matched (case-insensitive) to a tone; unknown values fall back to neutral.

Approved Under Review Denied Waiting on applicant Withdrawn
<StatusBadge status="Approved" />
<StatusBadge status="Under Review" />
<StatusBadge status="Denied" />
<StatusBadge status="Waiting on applicant" />
<StatusBadge status="Withdrawn" />

Registration states

The registration screens pass the display labels from src/data/registration/labels.ts straight through, so every application and requirement state resolves to a tone.

Met In progress Awaiting third party Blocked Not started
<StatusBadge status="Met" />
<StatusBadge status="In progress" />
<StatusBadge status="Awaiting third party" />
<StatusBadge status="Blocked" />
<StatusBadge status="Not started" />

States

Approved

Success

approved · active · complete · met

Under Review

Warning

under review · pending · submitted · in review · in exception review · awaiting third party

Denied

Danger

denied · rejected · refused · not met · blocked

Waiting on applicant

Info

waiting on applicant · awaiting applicant · in progress

Withdrawn

Neutral

withdrawn · closed · draft · not started · unknown

Usage

✓ Do
Approved

Use for a bounded set of known statuses.

✕ Don't
Waiting on the applicant to send documents

Don't pass free-form sentences — it's a status label.

Accessibility

  • The dot is decorative; the status text carries the meaning, so it never relies on color alone.
  • Keep the visible label identical to the underlying data value.

Content

  • Use the canonical status values (“Approved”, “Under Review”, “Denied”, “Withdrawn”). Add new statuses to the tone map to color them.
  • For registration screens, pass the label helpers from src/data/registration/labels.ts rather than raw dataset enums — they emit exactly the strings the tone map keys on.

Props

PropTypeDefaultNotes
statusstring—Status text; matched to a tone, displayed as-is.

Tone map:

ToneStatusesTokens
successapproved active complete met--color-success / --color-success-tint
warningunder review pending submitted in review in exception review awaiting third party--color-warning / --color-warning-tint
dangerdenied rejected refused not met blocked--color-danger / --color-danger-tint
infowaiting on applicant awaiting applicant in progress--color-info / --color-info-tint
neutralwithdrawn closed inactive draft not started · anything unmatched--color-neutral / --color-neutral-tint

info reads as “live, but nothing is wrong” — it marks the turn sitting with someone rather than a problem needing attention.

  • Data Table — renders this in its status column.
  • Badge — count / label pill.
  • Tokens — the status color tokens.