From fa2fc9390cc751404b10062a4d825cc883018f24 Mon Sep 17 00:00:00 2001 From: Chaim Date: Tue, 30 Jun 2026 19:06:48 +0000 Subject: [PATCH] feat(case-ui): agents roster + awaiting-you banner; Hebraize drafts table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Agents tab: render the AgentStatusWidget roster at the top of the activity feed ("who's doing what right now") and surface pending agent interactions in an amber "ממתין לתשובתך" banner above the timeline (mockup 18i key wins). - Drafts tab: Hebraize the drafts-table headers File/Size/Date → קובץ/גודל/תאריך (mockup 18h). All existing feed logic, mutations and interaction forms preserved. tsc --noEmit + eslint clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../src/components/cases/agent-activity-feed.tsx | 15 +++++++++++++++ web-ui/src/components/cases/drafts-panel.tsx | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/web-ui/src/components/cases/agent-activity-feed.tsx b/web-ui/src/components/cases/agent-activity-feed.tsx index 43961da..a7ebe5d 100644 --- a/web-ui/src/components/cases/agent-activity-feed.tsx +++ b/web-ui/src/components/cases/agent-activity-feed.tsx @@ -5,6 +5,7 @@ import { Button } from "@/components/ui/button"; import { Textarea } from "@/components/ui/textarea"; import { Badge } from "@/components/ui/badge"; import { Markdown } from "@/components/ui/markdown"; +import { AgentStatusWidget } from "@/components/cases/agent-status-widget"; import { useAgentActivity, useSendComment, @@ -689,6 +690,7 @@ export function AgentActivityFeed({ const comments = data.comments ?? []; const interactions = data.interactions ?? []; + const pendingCount = interactions.filter((i) => i.status === "pending").length; // Unified, time-sorted feed: comments + interactions interleaved. type FeedItem = @@ -716,6 +718,19 @@ export function AgentActivityFeed({ return (
+ {/* agent roster — who's doing what right now (mockup 18i) */} +
+ +
+ + {/* pending interactions surfaced to the top (mockup 18i — awaiting you) */} + {pendingCount > 0 && ( +
+ + ממתין לתשובתך — {pendingCount} {pendingCount === 1 ? "בקשה" : "בקשות"} בהמשך הזרם +
+ )} + {/* Issue summary bar */}
{data.issues.map((iss) => ( diff --git a/web-ui/src/components/cases/drafts-panel.tsx b/web-ui/src/components/cases/drafts-panel.tsx index 5fa7bdc..1f17fd8 100644 --- a/web-ui/src/components/cases/drafts-panel.tsx +++ b/web-ui/src/components/cases/drafts-panel.tsx @@ -396,9 +396,9 @@ export function DraftsPanel({ - - - + + +
FileSizeDateקובץגודלתאריך