feat(ui): WS6 — אקורדיון-צד בטיעונים, compose רוחב-מלא, status-hero בסקירה (#206) #363
Reference in New Issue
Block a user
Delete Branch "worktree-agent-a31f83020f84e89bf"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
מה ולמה
WS6 (TaskMaster
legal-ai#206) — שלושת שינויי-ה-UI לפי המוקאפים המאושרים של Claude Design (X17):25b(טיעונים),03b(compose),18b(סקירה). presentation-only — אין endpoints/contract חדשים,api:typesללא שינוי.1. טאב "טיעונים" — אקורדיון ברמת-הצד, סגור כברירת-מחדל (מוקאפ 25b)
components/cases/legal-arguments-panel.tsx: הצדדים עטופים כעת ב-Accordion type="multiple"ללאdefaultValue→ כל הצדדים מתחילים מקופלים. כל trigger מציג סימן-צבע-צד + שם-הצד + תת-כותרת-תפקיד + באדג'-מונה-טיעונים. בתוך כל צד נשמרים הקיבוץ-לפי-קדימות והאקורדיון-הפנימי ברמת-הטיעון (כולל popover הפרופוזיציות).2. טאב "עמדות וטענות" (compose) — רוחב-דף מלא (מוקאפ 03b)
app/cases/[caseNumber]/compose/page.tsx: בוטל ה-grid1fr/320px; ראיל "מסמכי התיק" הוסר (ה-DocumentsPanelבסקירה הוא הבעלים-היחיד) ועבר לפס-מסמכים מתקפל למעלה (accordionsingle collapsible, סגור כברירת-מחדל, pointer read-only). כרטיסי הטענות/הסוגיות נפרשים 2-up על כל הרוחב. פסיקה-מצורפת (case-level) ושערי הייצוא/העלאה (FinishRail— DOCX export, העלאת-ניתוח, הורדה) שומרו ועברו מהראיל לתחתית הטאב (relocate, לא remove). מפת-ה-StatusChipהמקבילה הוסרה →StatusBadgeהמשותף.3. סטטוס רק בסקירה (מוקאפ 18b)
app/cases/[caseNumber]/page.tsx+ רכיב חדשcomponents/cases/status-hero.tsx: ה-grid הדו-טורי עם הראיל-סטטוס הוסר; כעתStatusHeroבולט (stepper אופקי על 5 השלבים + chip "כעת" + שינוי-סטטוס ידני inline + meta-strip תוצאה/דיון/עודכן + AgentStatusWidget + מפת-סטטוסים progressive-disclosure) — חי רק בטאב הסקירה.WorkflowTimeline/StatusChanger/AgentStatusWidget/StatusGuideירדו משאר הטאבים; כל הטאבים האחרים רוחב-מלא.StatusBadgeread-only נשאר ב-H1 של ה-case-header בכל מקום.שערי-אנוש — אף אחד לא הוסר: שינוי-הסטטוס הידני חי במקום-יחיד (hero בסקירה); ייצוא-DOCX/העלאת-ניתוח חיים במקום-יחיד (compose). הוסרו רק משטחי-קריאה כפולים.
Invariants — הצהרה (חובה)
StatusHeroבסקירה הוא המשטח-היחיד שמריץ שינוי-סטטוס/timeline; שאר הטאבים אינם מרנדרים מונה/שער-מתחרה.StatusChipשל compose הוסרה לטובתStatusBadgeהמשותף; ה-StatusHeroעושה reuse ל-StatusChanger/StatusGuide/AgentStatusWidgetהקיימים ול-PHASESה-SSoT.צ'קליסט — פרוטוקול כתיבת-קוד
docs/spec/00-constitution.md(G2) +docs/spec/X17(INV-IA1–IA6, INV-UI7/8) +web-ui/AGENTS.md(Next 16) לפני הכתיבהdocs/spec/gap-audit.md— זו הטמעת WS6/X17 המאושרת, לא פתרון-מחדש של FUאימות
accordion/badge/card, tokens, RTL), בלי העתקת CSS גולמי.npx tsc --noEmit— נקי (exit 0), גם אחרי rebase ל-origin/mainהנוכחי (4feac75).eslintעל 5 הקבצים — נקי.type="multiple"ללא defaultValue → מתחיל סגור; חיפוש מאשר שאיןStatusChanger/WorkflowTimeline/AgentStatusWidgetבקובץ ה-compose ושה-StatusHeroחי רק בתוךTabsContent value="overview".origin/main(4feac75) לאחר rebase.next buildמלא — symlink שלnode_modulesב-worktree שובר את Turbopack ([reference_worktree_turbopack_build]); ה-build המלא רץ ב-CI/main.🤖 Generated with Claude Code