Components · Lists

Activity feed

What just happened across a team — the recent-activity timeline that sits in the dashboard rail and every entity's history tab. A single connector rail threads down through actor medallions — a tinted avatar for a person, an icon for a system event — and each item reads as an actor + action line with an inline entity link, an optional one-line detail, and a right-aligned relative time. The medallion tone carries the event kind (a join is accent, an approval good, a flag warn, a post neutral); the rail runs between items and stops at the last one.

Recent activity · Sunrise Beagle Brigade — newest first
Recent activity Last 24 hours
  1. Priya Nair joined Sunrise Beagle Brigade 8m ago
    Intake & vet liaison · Queens · via NVDA rescue form
  2. Marisol Reyes approved Hannah Weiss's data-access request 1h ago
    Roster export unlocked for the transport team
  3. You RSVP'd to Saturday neighborhood march 3h ago
    Jun 28 · 10:00 AM · City Hall steps · going
  4. Deshawn Carter flagged a duplicate roster entry 5h ago
    Two records for “D. Okafor” in Hudson Valley — needs a merge
  5. Jordan Delgado posted in Downtown organizers Yesterday
    “Anyone free to foster two beagles this weekend?”
  6. BeagleBot synced 3 WhatsApp groups Yesterday
    Volunteer drivers · Adoption events crew · City council

One rail runs behind the medallions (each ringed 3px in the surface so the line tucks under it) and stops at the last item. Actor medallions are tinted avatarsaccent join · good approval · warn flag · neutral post — and the closing system event swaps the avatar for a refresh icon. The Hannah Weiss link is pinned :hover; hover / tab the rest live. Times sit right, tabular-nums, faint.

connector rail
A 1px --rule line centred under each 34px node, from the medallion's foot to the next item; display:none on :last-child so the timeline terminates cleanly rather than trailing into space.
medallion
A 32px pill with a 3px surface ring so the rail passes behind it. A tinted Avatar (initials) for a person-actor, a lucide icon for a system event; tone maps to the event kind.
actor + action
One line: actor (semibold), a verb, and the entity as an accent link (approved …, joined …, posted in …). The current user reads as You with an accent medallion.
detail
An optional second line — text-xs faint — carrying the payload (role · area, event time, a quoted snippet). Truncates; omit it for a bare one-line event.
relative time
Right-aligned, font-[540] faint, tabular-nums8m ago / 1h ago / Yesterday. Coarsens with age; a title can carry the absolute timestamp.

Source · @phauna/ds Timeline (rail + medallion, from ds/surface) · ds/political/CampaignStatusCard.tsx recent-activity list · Avatar (tinted initials) · Badge tones · --color-rule from globals.css.