DayDivider · MessageTime

Chronology in a long thread: days marked, exact times on hover.

Install it:

npx shadcn add @ambientui/timestamps

Live

A thread across two days

4:12 PMWhy does the draft survive a reload?
9:03 AMAnd across thread switches?

Behavior

  • ·A day boundary is the only moment a reader actually needs orienting — a timestamp on every message is noise.
  • ·Exact times live on hover or keyboard focus (MessageTime), so precision is available without being ambient.
  • ·The divider is a real separator with an accessible label, not a decorative line with text over it.
  • ·MessageTime reveals inside a group-hover container, so the whole row is the target rather than the timestamp itself.

When to use

  • ·Threads that span sessions or days.
  • ·Anywhere the age of an answer changes how much to trust it.

When not to

  • ·In a short-lived surface — quick ask, the palette — where everything happened just now.