import React from "react"; import { Briefcase, PlusCircle, FileText, Files, Users, Sliders, Shield, CheckCircle, Calendar, Sparkles, Award, GitCompare, Download, History, Activity, Cpu, } from "lucide-react"; export type NavTabId = | "drives" | "create_drive" | "announcements" | "students" | "rule_editor" | "policies" | "policy_simulator" | "eligibility" | "schedule" | "what_if" | "results" | "dispute" | "export" | "audit" | "offline_audit"; interface NavigationProps { activeTab: NavTabId; onSelectTab: (tab: NavTabId) => void; userRole?: string; } interface NavGroup { name: string; tabs: Array<{ id: NavTabId; label: string; icon: React.ComponentType<{ className?: string }>; badge?: string; }>; } export const Navigation: React.FC = ({ activeTab, onSelectTab, userRole = "officer", }) => { const navGroups: NavGroup[] = [ { name: "Setup & Roster", tabs: [ { id: "drives", label: "Drives", icon: Briefcase }, { id: "create_drive", label: "New Drive", icon: PlusCircle, badge: "Create" }, { id: "announcements", label: "25 Announcements", icon: Files, badge: "25 Docs" }, { id: "students", label: "Students & Importer", icon: Users }, ], }, { name: "Rules & Policy", tabs: [ { id: "rule_editor", label: "Rule Editor", icon: Sliders }, { id: "policies", label: "Offer Policies", icon: Shield }, { id: "policy_simulator", label: "Policy Simulator", icon: Cpu, badge: "New" }, ], }, { name: "Execution", tabs: [ { id: "eligibility", label: "Eligibility Runs", icon: CheckCircle }, { id: "schedule", label: "Schedule Grid", icon: Calendar, badge: "0 Clashes" }, { id: "what_if", label: "What-If & Publish", icon: Sparkles }, { id: "results", label: "Result Entry", icon: Award }, ], }, { name: "Governance", tabs: [ { id: "dispute", label: "Dispute Explainer", icon: GitCompare }, { id: "export", label: "Company Export", icon: Download }, { id: "audit", label: "Event Replay", icon: History }, { id: "offline_audit", label: "Offline Audit", icon: Activity }, ], }, ]; return ( ); };