feat(ui): פאנל אישור-תכניות — טאב /precedents + מרכז-אישורים (PR-B) #254
Reference in New Issue
Block a user
Delete Branch "worktree-plans-ui"
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?
מה ולמה
הטמעת ה-UI למרשם-התכניות (השלמת פריט 3) — אחרי אישור-עיצוב ב-Claude Design (מוקאפ
22-plans-review.html, פרויקט X17). משלים את ה-backend מ-#253.לפי הכרעת-היו"ר: טאב "תכניות" ב-/precedents + מונה ב-/approvals (שער-אחד, INV-IA — לא עמוד נפרד), ומניעת-כפילות בהצפה ידנית (לא מיזוג-אוטומטי, G10).
השינויים
web-ui/src/lib/api/plans.ts(חדש) — טיפוסPlan+ hooks:usePlansPending,usePlanDuplicates,useUpsertPlan,useUpdatePlan,useReviewPlan,useMergePlans(מראָה ל-precedent-library).plans-review-panel.tsx(חדש) — כרטיס-תכנית עם משפט-הציטוט הקנוני (כפי שייכתב בבלוק ט), שדות-תוקף, סימון חוסר-תאריך, באנר "כפילות אפשרית → מזג לכאן", ועריכה/הוספה inline עם תצוגה-מקדימה חיה של הציטוט (מראת-לקוח שלformat_plan_citation).precedents/page.tsx— טאב "תכניות" +PlansPendingPill+ deep-link?tab=plans.web/app.py— href קטגוריית-התכניות במרכז-האישורים →/precedents?tab=plans.types.ts— מחודש מ-openapi החי (npm run api:types; 5 נתיבי /api/plans).מרכז-האישורים (
/approvals) מרנדר קטגוריות גנרית → קטגוריית "תכניות הממתינות לאישור" (PR-A) מופיעה אוטומטית.Invariants — הצהרה
format_plan_citation(דטרמיניסטי, ללא המצאת-תאריך).apiRequest+ טיפוסים; שער-העיצוב Claude Design עבר (feedback_claude_design_gate).צ'קליסט
אימות
npm run api:types✓ (5 נתיבי /api/plans) ·npx tsc --noEmit✓ נקי ·npm run lintexit=0. בנייה מלאה ב-CI (Turbopack שובר build ב-worktree עם symlink node_modules — reference_worktree_turbopack_build). UI ויזואלי ייבדק בסביבה הפרוסה אחרי merge.🤖 Generated with Claude Code