diff --git a/web-ui/src/components/app-shell.tsx b/web-ui/src/components/app-shell.tsx index fd98e9d..63c41ed 100644 --- a/web-ui/src/components/app-shell.tsx +++ b/web-ui/src/components/app-shell.tsx @@ -1,6 +1,6 @@ "use client"; -import type { ReactNode } from "react"; +import { Fragment, type ReactNode } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { ChevronDown, Settings } from "lucide-react"; @@ -22,7 +22,7 @@ import { usePendingApprovals } from "@/lib/api/chair"; * Ezer Mishpati navigation shell — two-row header. * * Row 1 (brand): logo + dynamic context subtitle · global search · agent boards - * Row 2 (nav): work group · knowledge group · admin dropdown + * Row 2 (nav): work links · knowledge dropdowns (פסיקה/סגנון) · admin dropdown * * Editorial/judicial aesthetic preserved: * - Navy background with a gold hairline rule (border-b-3) @@ -33,29 +33,39 @@ import { usePendingApprovals } from "@/lib/api/chair"; * sighted users see where they are. */ -type NavItem = { href: string; label: string }; -type NavGroup = { id: string; items: NavItem[] }; +// `groupLabel`, when present, renders a separator + sub-heading inside a +// dropdown *before* this item — used to set off secondary tools. +type NavItem = { href: string; label: string; groupLabel?: string }; +type NavMenuDef = { id: string; label: string; items: NavItem[] }; -const NAV_GROUPS: NavGroup[] = [ +// Work cluster — direct links, the daily hubs. +const WORK_LINKS: NavItem[] = [ + { href: "/", label: "בית" }, + { href: "/approvals", label: "מרכז אישורים" }, + { href: "/feedback", label: "הערות יו״ר" }, + { href: "/archive", label: "ארכיון" }, +]; + +// Knowledge cluster — grouped under dropdowns so the bar stays scannable. +// All routes are preserved; only their placement in the nav changes. +const KNOWLEDGE_MENUS: NavMenuDef[] = [ { - id: "work", + id: "precedents", + label: "פסיקה", items: [ - { href: "/", label: "בית" }, - { href: "/approvals", label: "מרכז אישורים" }, - { href: "/feedback", label: "הערות יו״ר" }, - { href: "/archive", label: "ארכיון" }, + { href: "/precedents", label: "ספריית פסיקה" }, + { href: "/digests", label: "יומונים" }, + { href: "/missing-precedents", label: "פסיקה חסרה" }, + { href: "/graph", label: "מפת הקורפוס", groupLabel: "ניתוח וכיול" }, + { href: "/goldset", label: "מדגם-זהב" }, ], }, { - id: "knowledge", + id: "style", + label: "סגנון", items: [ - { href: "/precedents", label: "ספריית פסיקה" }, - { href: "/graph", label: "מפת הקורפוס" }, - { href: "/digests", label: "יומונים" }, - { href: "/missing-precedents", label: "פסיקה חסרה" }, - { href: "/goldset", label: "מדגם-זהב" }, - { href: "/training", label: "אימון סגנון" }, - { href: "/methodology", label: "מתודולוגיה" }, + { href: "/training", label: "אימון סגנון" }, + { href: "/methodology", label: "מתודולוגיה" }, ], }, ]; @@ -162,21 +172,17 @@ export function AppShell({ children }: { children: ReactNode }) { {/* ─── Row 2 — section nav ─── */}