Inbox — Right Panel Summary + Full Timeline Modal

Two surfaces, one shared event model. The right-side summary card stays compact (no playback). The Full Timeline modal opens via "View full timeline" and is where recording playback lives — same hybrid call-card primitive as the conversation thread, plus filter chips for slicing by event type.

1. Right-side summary card (LeadHistoryCard)
Tight, scannable, never expanded. Shows totals, upcoming appointments, and the last 5 events (mixed types) as one-line rows. A small blue dot signals "has recording" — clicking the row opens the Full Timeline scrolled to that event. No inline players up here; this card stays calm.
Recommended
Steve Montgomery
(303) 555-0142 · [email protected]
SALES aspen-warm qualified
8 calls · 14 messages · 2 blasts · 3 campaigns
📅 Sun May 25, 2:00 PM PT  ·  Aspen lot tour
SOFT 2h ago Qualified · 5:42
APPT 3h ago Rescheduled · Sat 24 → Sun 25 2pm
SMS 3h ago ↘ Thanks for the call — please send the confir…
BLAST 1d ↗ spring-aspen-warm · Hey Steve, the lot tour…
DIAL 1d Voicemail left · 2:14

What this card shows

  • Header — name, phone, email, tags. No change.
  • Stats — totals now include all 3 call models + blast counts (calls = CallSession + PersonalCallSession + InboundCall).
  • Upcoming — appointment from CampaignLead.appointmentAt. No change.
  • Recent activity — last 5 events across calls, SMS, blasts, appointment deltas, notes. Each row: source pill + relative time + summary + recording dot (if applicable).
  • Click any row — opens Full Timeline modal scrolled to that event.
  • No playback here — keeps the card compact. Recording dot signals "playable in Full Timeline".
2. Full Timeline modal — filter chips + inline call cards
Opens from the right panel. Replaces the current "All / Calls / SMS / Notes" tab row with toggleable chips (multi-select). Recording playback is first-class via the same hybrid call card from the thread. Day-grouped, infinite scroll.
Recommended

Implementation notes