From b0efa700da61a8c8fcdc8ddfeef1345f473be01d Mon Sep 17 00:00:00 2001 From: Chaim Date: Thu, 11 Jun 2026 22:10:56 +0000 Subject: [PATCH] =?UTF-8?q?feat(ui):=20IA=20redesign=20=E2=86=92=20product?= =?UTF-8?q?ion=20=C2=B7=20/home=20pending-approvals=20card=20+=20Claude=20?= =?UTF-8?q?Design=20gate=20(2/17)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /home: כרטיס "מה ממתין להכרעתך" ב-aside (מצביע INV-IA1 ל-/approvals; usePendingApprovals, ללא מונה-מתחרה) — תואם מוקאפ 04-home המאושר. - web-ui/AGENTS.md: §"שער-עיצוב חובה — Claude Design קודם" — כל יצירת/שינוי עמוד-UI עוברת קודם דרך פרויקט Claude Design "עוזר משפטי — IA Redesign (X17)" (7a85b323-d880-4b6d-bac5-d4aa396fe93c) לאישור, ורק אז מוטמע (הנחיית חיים). בדיקה: npx tsc --noEmit ✓. Co-Authored-By: Claude Opus 4.8 (1M context) --- web-ui/AGENTS.md | 20 ++++++++++++++++++++ web-ui/src/app/page.tsx | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/web-ui/AGENTS.md b/web-ui/AGENTS.md index ee0ee84..1331dcc 100644 --- a/web-ui/AGENTS.md +++ b/web-ui/AGENTS.md @@ -6,6 +6,26 @@ This version has breaking changes — APIs, conventions, and file structure may --- +## ⚠️ שער-עיצוב חובה — Claude Design קודם (הנחיית חיים, 2026-06-11) + +**כל יצירת עמוד/דף חדש, וכל שינוי-UI בעמוד/דף קיים — מכל סיבה — חייב לעבור קודם דרך Claude Design לאישור, ורק לאחר אישור מטמיעים בקוד.** אין לשנות/ליצור עמוד-UI ישירות בלי מעבר דרך השער. + +**הפרויקט הקנוני (כל הדפים נמצאים שם):** +- שם: **`עוזר משפטי — IA Redesign (X17)`** ב-[claude.ai/design](https://claude.ai/design). +- מזהה-פרויקט: `7a85b323-d880-4b6d-bac5-d4aa396fe93c`. +- גישה: כלי `DesignSync` (claude.ai/design). מכיל את כל 17 הדפים כ-preview-cards תחת קבוצה `IA Redesign (X17)`, בנויים מטוקני-העיצוב האמיתיים (`globals.css`: navy `#0f172a`, gold `#a97d3a`, cream `#f5f1e8`, parchment, rule…), Heebo, RTL. + +**הפרוטוקול לכל בקשת-עמוד/שינוי-UI:** +1. **בקשת-עיצוב ל-Claude Design** — לבנות/לעדכן את ה-preview של העמוד בפרויקט הזה (HTML self-contained, `` כשורה ראשונה, טוקנים+Heebo+RTL זהים), `write_files` + `register_assets` דרך `DesignSync`. +2. **להציג לחיים לאישור** — ולהמתין לאישור מפורש. +3. **רק אחרי אישור** — להטמיע בקוד (Next 16 + Tailwind v4 + shadcn), לשמר hooks/לוגיקה, tsc/lint, worktree + PR. + +חריג יחיד: תיקון-באג שאינו משנה את ה-UI הוויזואלי (לוגיקה/נתון/hook בלבד) — לא דורש מעבר דרך השער. בכל ספק — דרך השער. + +> רקע: יוזמת ה-IA (X17, #127/#130–132) → מוקאפי-Claude-Design ל-17 הדפים (מאושרים) → תרגום לפרודקשן. ראה memory `feedback_claude_design_gate` ו-`project_ia_redesign_waves`. + +--- + ## Stack | Layer | Technology | Version | diff --git a/web-ui/src/app/page.tsx b/web-ui/src/app/page.tsx index eba80d7..d3b9e27 100644 --- a/web-ui/src/app/page.tsx +++ b/web-ui/src/app/page.tsx @@ -10,9 +10,13 @@ import { CasesTable } from "@/components/cases/cases-table"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { useCases, type Case } from "@/lib/api/cases"; +import { usePendingApprovals } from "@/lib/api/chair"; export default function HomePage() { const { data, isPending, error } = useCases(true); + // INV-IA1 pointer: surface the single approvals aggregate on the dashboard, + // deep-linking to /approvals (the owner) — never a competing client counter. + const { data: approvals } = usePendingApprovals(); const { permits, levies } = useMemo(() => { const permits: Case[] = []; @@ -99,6 +103,39 @@ export default function HomePage() {