import {
  LayoutDashboard, FileText, CheckSquare, Calendar, AlertTriangle,
  FolderKanban, Car, Users, DollarSign, Scale, Phone, Home,
  BarChart3, CalendarDays, PieChart, Receipt, UserCircle, CreditCard,
  Gavel, UserCheck, Megaphone, FileSearch, FileEdit, BookOpen,
  MessageCircle, Contact, Wallet, ShieldAlert,
} from "lucide-react";

export type PortalType = "board" | "homeowner" | "rv_boat_lot" | "client";

export const homeownerFunctionItems = [
  { key: "dashboard", title: "Dashboard", label: "Dashboard", href: "/homeowner", icon: LayoutDashboard, end: true },
  { key: "ledger", title: "Account Ledger", label: "Account Ledger", href: "/homeowner/ledger", icon: Receipt },
  { key: "payments", title: "Payments", label: "Payments", href: "/homeowner/payments", icon: DollarSign },
  { key: "amenity-calendar", title: "Amenity Calendar", label: "Amenity Calendar", href: "/homeowner/amenity-calendar", icon: CalendarDays },
  { key: "documents", title: "Documents", label: "Documents", href: "/homeowner/documents", icon: FileText },
  { key: "arc", title: "ARC Applications", label: "ARC Applications", href: "/homeowner/arc", icon: Gavel },
  { key: "statements", title: "Statements", label: "Statements", href: "/homeowner/statements", icon: FileText },
  { key: "violations", title: "Violations", label: "Violations", href: "/homeowner/violations", icon: ShieldAlert },
  { key: "messages", title: "Messages", label: "Messages", href: "/homeowner/messages", icon: MessageCircle },
  { key: "directory", title: "Directory", label: "Directory", href: "/homeowner/directory", icon: Contact },
  { key: "profile", title: "Profile", label: "Profile", href: "/homeowner/profile", icon: UserCircle },
];

export const clientFunctionItems = [
  { key: "dashboard", title: "Home", url: "/client", icon: LayoutDashboard, end: true },
  { key: "documents", title: "Documents", url: "/client/documents", icon: FileText },
  { key: "tasks", title: "Tasks", url: "/client/tasks", icon: CheckSquare },
  { key: "violations", title: "Violations", url: "/client/violations", icon: AlertTriangle },
  { key: "violation-reports", title: "Violation Reports", url: "/client/violation-reports", icon: PieChart },
  { key: "calendar", title: "Calendar", url: "/client/calendar", icon: Calendar },
  { key: "personal-calendar", title: "My Calendar", url: "/client/personal-calendar", icon: CalendarDays },
  { key: "projects", title: "Projects", url: "/client/projects", icon: FolderKanban },
  { key: "collections", title: "Collections", url: "/client/collections", icon: DollarSign },
  { key: "estoppels", title: "Estoppels", url: "/client/estoppels", icon: FileText },
  { key: "status-updates", title: "Status Updates", url: "/client/status-updates", icon: BarChart3 },
  { key: "owner-updates", title: "Owner Updates", url: "/client/owner-updates", icon: Users },
  { key: "homeowner-requests", title: "Homeowner Requests", url: "/client/homeowner-requests", icon: Home },
  { key: "directory", title: "Directory", url: "/client/directory", icon: Contact },
  { key: "parking", title: "Parking", url: "/client/parking", icon: Car },
  { key: "board-votes", title: "Board Votes", url: "/client/board-votes", icon: Users },
  { key: "payment-plans", title: "Payment Plans", url: "/client/payment-plans", icon: DollarSign },
  { key: "bids-quotes", title: "Bids & Quotes", url: "/client/bids-quotes", icon: Scale },
  { key: "call-logs", title: "Call Logs", url: "/client/call-logs", icon: Phone },
];

export const boardFunctionItems = [
  { key: "messages", title: "Messages", url: "/homeowner/board/messages", icon: MessageCircle, section: "Communication", group: "Messaging" },
  { key: "projects", title: "Projects", url: "/homeowner/board/projects", icon: FolderKanban, section: "Operations", group: "Projects & Tasks" },
  { key: "tasks", title: "Tasks", url: "/homeowner/board/tasks", icon: CheckSquare, section: "Operations", group: "Projects & Tasks" },
  { key: "client-requests", title: "Client Requests", url: "/homeowner/board/client-requests", icon: FileSearch, section: "Operations", group: "Projects & Tasks" },
  { key: "homeowner-requests", title: "Homeowner Requests", url: "/homeowner/board/homeowner-requests", icon: Home, section: "Operations", group: "Projects & Tasks" },
  { key: "owner-roster", title: "Owner Roster", url: "/homeowner/board/owner-roster", icon: Users, section: "Operations", group: "Owners" },
  { key: "calendar", title: "Calendar", url: "/homeowner/board/calendar", icon: Calendar, section: "Communication", group: "Messaging" },
  { key: "documents", title: "Documents", url: "/homeowner/board/documents", icon: FileText, section: "Documents", group: "Content" },
  { key: "collaborative-docs", title: "Collab Docs", url: "/homeowner/board/collaborative-docs", icon: FileEdit, section: "Documents", group: "Content" },
  { key: "status-updates", title: "Status Updates", url: "/homeowner/board/status-updates", icon: BarChart3, section: "Documents", group: "Content" },
  { key: "resources", title: "Board Resources", url: "/homeowner/board/resources", icon: BookOpen, section: "Documents", group: "Content" },
  { key: "arc-applications", title: "ARC Applications", url: "/homeowner/board/arc-applications", icon: Gavel, section: "Operations", group: "Compliance" },
  { key: "violations", title: "Violations", url: "/homeowner/board/violations", icon: AlertTriangle, section: "Operations", group: "Compliance" },
  { key: "parking", title: "Parking", url: "/homeowner/board/parking", icon: Car, section: "Operations", group: "Compliance" },
  { key: "bids-quotes", title: "Bids & Quotes", url: "/homeowner/board/bids-quotes", icon: Scale, section: "Governance", group: "Finance" },
  { key: "bill-approvals", title: "Bill Approvals", url: "/homeowner/board/bill-approvals", icon: UserCheck, section: "Governance", group: "Finance" },
  { key: "financial-overview", title: "Financial Overview", url: "/homeowner/board/financial-overview", icon: Wallet, section: "Governance", group: "Finance" },
  { key: "financial-reports", title: "Financial Reports", url: "/homeowner/board/financial-reports", icon: BarChart3, section: "Governance", group: "Finance" },
  { key: "board-votes", title: "Board Votes", url: "/homeowner/board/board-votes", icon: Users, section: "Governance", group: "Board" },
  { key: "elections", title: "Elections", url: "/homeowner/board/elections", icon: Users, section: "Governance", group: "Board" },
  { key: "announcements", title: "Announcements", url: "/homeowner/board/announcements", icon: Megaphone, section: "Governance", group: "Board" },
  { key: "estoppels", title: "Estoppels", url: "/homeowner/board/estoppels", icon: FileText, section: "Operations", group: "Owners" },
];
