- Shipped
- April 27, 2026 at 2:19 AM UTC
- Author
- kamo
- Commit
- 32e79e5
Extracts a new SoftphoneContacts component that wires the softphone contacts tab to the real contacts API via useContacts(). Replaces 4 hardcoded mock contacts with live data from all contact books. Features: - Book and group filter pills with dropdown selectors - Debounced search, sort by last/first/full name - Colour-coded avatar initials (deterministic hash), photo support - Contact list with hover-reveal quick-call button - Detail view (replaces list) showing phones, emails, org, notes - Inline edit mode for all fields (phones/emails multi-value with add/remove) - Delete contact with confirmation step - Empty and loading skeleton states - "New contact" navigates to /contacts?action=create Updates contacts/page.tsx to auto-open the create dialog when the ?action=create query param is present (used by the softphone "New" button).