Lozenge

A lozenge says the status of something in one or two words. It is read-only: you can't press it, and it never holds a count or a label someone made up.

Previewapps/web/components/ui/KbBadge.tsx

Status categories

Statuses fall into fixed categories with fixed colours, so a person learns them once. A status can't be recoloured.

NewOpenResolvedHanded offNeeds review
Show code
<KbLozenge>New</KbLozenge>
<KbLozenge tone="sky">Open</KbLozenge>
<KbLozenge tone="teal">Resolved</KbLozenge>
<KbLozenge tone="ruby">Handed off</KbLozenge>
<KbLozenge tone="gold">Needs review</KbLozenge>
Which tone each status takes
ToneCategoryStatuses
InkTo doNew
SkyIn progressOpen, waiting on customer, waiting on engineering
TealDoneResolved, closed
RubyHandoff or breachHanded off, SLA breached
GoldAttentionNeeds review, draft

Dot, emphasis and loud

Emphasis marks a waiting state inside in progress
OpenWaiting on customer
Show code
<KbLozenge tone="sky">Open</KbLozenge>
<KbLozenge tone="sky" emphasis>Waiting on customer</KbLozenge>
A dot marks a live state
LiveBreached, 2h over
Show code
<KbLozenge tone="teal" dot>Live</KbLozenge>
<KbLozenge tone="ruby" dot>Breached, 2h over</KbLozenge>
Loud is for one flag that must be read first
Needs help
Show code
<KbLozenge tone="ruby" loud>Needs help</KbLozenge>