feat(arguments): inline status banners + fix double-card nesting #328

Merged
chaim merged 1 commits from worktree-arguments-banners into main 2026-06-20 18:36:22 +00:00
Owner

מה זה עושה

מטמיע את ה-banners המאושרים (כרטיס Claude Design 25-legal-arguments-panel) לפאנל "חשב טיעונים". ארבעת מצבי-הסטטוס של ה-endpoint מוצגים עכשיו כ-banner inline צבוע מתחת לכותרת, במקום toast חולף:

מצב גוון
queued info (כחול) — "נשלח לאנליטיקאי…"
exists gold — "כבר חושב…"
no_claims אפור-rule — "אין טענות גולמיות…"
skipped warn (כתום) — "לא ניתן אוטומטית… הרץ ידנית mcp__…"

toast נשמר רק לשגיאות-transport קשות.

תיקון שנמצא בסקירת-הקוד של הדף

באג double-card קיים-מראש: טאב "טיעונים" ב-page.tsx:151-155 כבר עוטף את הפאנל ב-<Card><CardContent>, אבל LegalArgumentsPanel רינדר Card משלו בנוסף — בניגוד לפאנלי-האחים (DecisionBlocksPanel/DraftsPanel/AgentActivityFeed) שמרנדרים <div> פשוט ונשענים על עטיפת-הדף. התוצאה: מסגרת כפולה + padding כפול. הפאנל עכשיו תואם את הקונבנציה (כרטיס יחיד), בהתאמה למוקאפ המאושר.

Invariants / שער-עיצוב

  • שינוי-UI מאושר דרך שער-Claude-Design (כרטיס 25, אישר חיים).
  • אין שינוי-backend; חוזה ה-API ללא שינוי.

בדיקות

  • tsc --noEmit — OK · eslint — נקי
  • כל טוקני-העיצוב (info-bg/warn-bg/gold-wash/rule-soft/ink-light…) אומתו מול globals.css

🤖 Generated with Claude Code

## מה זה עושה מטמיע את **ה-banners המאושרים** (כרטיס Claude Design `25-legal-arguments-panel`) לפאנל "חשב טיעונים". ארבעת מצבי-הסטטוס של ה-endpoint מוצגים עכשיו כ-banner inline צבוע מתחת לכותרת, במקום toast חולף: | מצב | גוון | |------|------| | `queued` | info (כחול) — "נשלח לאנליטיקאי…" | | `exists` | gold — "כבר חושב…" | | `no_claims` | אפור-rule — "אין טענות גולמיות…" | | `skipped` | warn (כתום) — "לא ניתן אוטומטית… הרץ ידנית `mcp__…`" | toast נשמר רק לשגיאות-transport קשות. ## תיקון שנמצא בסקירת-הקוד של הדף באג **double-card** קיים-מראש: טאב "טיעונים" ב-[page.tsx:151-155](web-ui/src/app/cases/[caseNumber]/page.tsx#L151-L155) כבר עוטף את הפאנל ב-`<Card><CardContent>`, אבל `LegalArgumentsPanel` רינדר **Card משלו** בנוסף — בניגוד לפאנלי-האחים (`DecisionBlocksPanel`/`DraftsPanel`/`AgentActivityFeed`) שמרנדרים `<div>` פשוט ונשענים על עטיפת-הדף. התוצאה: מסגרת כפולה + padding כפול. הפאנל עכשיו תואם את הקונבנציה (כרטיס יחיד), בהתאמה למוקאפ המאושר. ## Invariants / שער-עיצוב - שינוי-UI **מאושר** דרך שער-Claude-Design (כרטיס 25, אישר חיים). - אין שינוי-backend; חוזה ה-API ללא שינוי. ## בדיקות - `tsc --noEmit` — OK · `eslint` — נקי - כל טוקני-העיצוב (`info-bg`/`warn-bg`/`gold-wash`/`rule-soft`/`ink-light`…) אומתו מול globals.css 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-20 18:36:18 +00:00
feat(arguments): inline status banners + fix double-card nesting
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 3s
Lint — undefined names / undefined-names (pull_request) Successful in 11s
31029b2d43
Implements the Claude-Design-approved inline status banners for the
"חשב טיעונים" panel (mockup 25-legal-arguments-panel): the four endpoint
states (queued / exists / no_claims / skipped) now render as tone-coded
banners below the header instead of a transient toast. Toast is kept only
for hard transport errors.

Also fixes a pre-existing double-card bug found while reviewing the page:
the page's "arguments" tab already wraps the panel in <Card><CardContent>
(page.tsx:151-155), yet LegalArgumentsPanel rendered its OWN <Card> too —
unlike its sibling tab panels (DecisionBlocksPanel/DraftsPanel/
AgentActivityFeed) which render a plain <div>. The panel now matches that
convention (single card, no double border/padding), consistent with the
approved single-card mockup.

Design gate: card 25 approved by חיים. tsc + eslint clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 148b4b9bf6 into main 2026-06-20 18:36:22 +00:00
chaim deleted branch worktree-arguments-banners 2026-06-20 18:36:22 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/legal-ai#328