import { NavLink, useLocation } from "react-router-dom"; import { Settings, Users, Mail, ShieldCheck, Bell, UserCircle, Landmark, ScrollText, LayoutDashboard, Network, BookOpen, Paintbrush, CreditCard, BellRing, Building2, CalendarClock, Eye, PenLine, Wallet, } from "lucide-react"; import { cn } from "@/lib/utils"; export const SETTINGS_PAGES = [ { category: "My Account", items: [ { path: "/dashboard/settings/profile", title: "My Profile", icon: UserCircle }, ], }, { category: "General Settings", items: [ { path: "/dashboard/settings/general", title: "General Config", icon: Settings }, { path: "/dashboard/settings/branding", title: "Branding & Logos", icon: Paintbrush }, { path: "/dashboard/settings/role-permissions", title: "Role Permissions", icon: ShieldCheck }, { path: "/dashboard/settings/portal-visibility", title: "Portal Visibility", icon: Eye }, ], }, { category: "User Management", items: [ { path: "/dashboard/user-management", title: "User Management", icon: Users }, ], }, { category: "Accounting Setup", items: [ { path: "/dashboard/chart-of-accounts", title: "Chart of Accounts", icon: Network }, { path: "/dashboard/settings/recurring-rules", title: "Recurring Rules", icon: CalendarClock }, { path: "/dashboard/company-bank-accounts", title: "Company Banking", icon: Landmark }, { path: "/dashboard/company-bank-register", title: "Company Bank Register", icon: Wallet }, { path: "/dashboard/company-checks", title: "Company Checks", icon: PenLine }, ], }, { category: "Email & Notifications", items: [ { path: "/dashboard/email-senders", title: "Email Senders & SMTP", icon: Mail }, { path: "/dashboard/email-templates", title: "Template Library", icon: ScrollText }, { path: "/dashboard/notify-owners", title: "Blast Notifications", icon: BellRing }, ], }, { category: "Integrations", items: [ { path: "/dashboard/settings/buildium", title: "Buildium", icon: Building2 }, { path: "/dashboard/settings/stripe-accounts", title: "Payment Gateways", icon: CreditCard }, { path: "/dashboard/hostinger-reach", title: "Hostinger Reach", icon: Mail }, ], }, ]; interface SettingsSidebarProps { onItemClick?: () => void; } export default function SettingsSidebar({ onItemClick }: SettingsSidebarProps) { const location = useLocation(); return (
System Configuration