Introduce a shared SipProvider context so all components use the same SIP
connection. Add a floating CallWidget (idle pill, ringing, active with
disposition, ended states) visible for CC agents on every page. Add a
ClickToCallButton for the worklist. Wire SIP status badge and worklist
into the call-desk page.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements full Follow-ups page with overdue/upcoming/completed sections
and left-border color-coded cards. Adds Call History table filtered by
current agent with disposition badges and duration formatting.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Wrap lead cards in AnimatePresence/motion.div so they fade+slide out when removed from the NEW filter
- Update "View All" link to pass active source filter as ?source= URL param
- Initialize AllLeadsPage sourceFilter from URL search params on mount
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add cc-agent role alongside executive and admin. Login page now has 3 tabs
(Marketing Executive, Call Center, Admin). RoleRouter renders the appropriate
home page per role. Sidebar shows completely different nav items per role with
role subtitle. Placeholder pages added for Team Dashboard, Call Desk, Call
History, and Follow-ups.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Sidebar: use useAuth() for isAdmin and pass auth user to NavAccountCard
- NavAccountCard: fix bug where items prop was ignored (used placeholderAccounts)
- TopBar: replace hardcoded "SM" initials with user.initials from auth
- All Leads: add "My Leads" tab filtering by assignedAgent matching user
- Lead Card: add role-aware action buttons (Call/Disposition for assigned leads)
- Lead Workspace: pass onLogCall/onUpdateStatus handlers to LeadCard
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>