From b72464a7ec03fbb449e79480a323360da8244bf1 Mon Sep 17 00:00:00 2001 From: saridsa2 Date: Wed, 18 Mar 2026 11:27:44 +0530 Subject: [PATCH] feat: add AI assistant chat panel for call center agents Wire a tabbed sidebar (Stats | AI Assistant) into the call desk page, replacing the static DailyStats-only sidebar. The AI chat panel sends queries to the sidecar POST /api/ai/chat endpoint and renders responses in a chat-style UI with quick-ask buttons, caller context banner, typing indicator, and basic markdown formatting. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/pages/call-desk.tsx | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/pages/call-desk.tsx b/src/pages/call-desk.tsx index 65aaaee..1e8a434 100644 --- a/src/pages/call-desk.tsx +++ b/src/pages/call-desk.tsx @@ -81,12 +81,15 @@ const SectionHeader = ({ ); +type SidebarTab = 'stats' | 'ai'; + export const CallDeskPage = () => { const { user } = useAuth(); const { calls, leadActivities, campaigns } = useData(); const { leads: fallbackLeads } = useLeads(); const { connectionStatus, isRegistered } = useSip(); const { missedCalls, followUps, marketingLeads, totalPending, loading, error } = useWorklist(); + const [sidebarTab, setSidebarTab] = useState('stats'); const todaysCalls = calls.filter( (c) => c.agentName === user.name && c.startedAt !== null && isToday(c.startedAt), @@ -325,8 +328,38 @@ export const CallDeskPage = () => { -