diff --git a/src/components/admin/AdminSidebar.tsx b/src/components/admin/AdminSidebar.tsx index ca96cd8..84a6675 100644 --- a/src/components/admin/AdminSidebar.tsx +++ b/src/components/admin/AdminSidebar.tsx @@ -9,7 +9,16 @@ import { supabase } from "@/lib/supabase"; // Elegant warm sidebar design // Colors: parchment 100 bg, soft linen text, powder petal accent -const TOP_LINKS = [ +// Flat admin navigation - no dropdowns +type NavItem = { + href?: string; + label: string; + icon?: string; + divider?: boolean; +}; + +const NAV_ITEMS: NavItem[] = [ + // Main { href: "/admin", label: "Dashboard", icon: "grid" }, { href: "/admin/orders", label: "Orders", icon: "shopping-cart" }, { href: "/admin/stops", label: "Stops & Routes", icon: "map-pin" }, @@ -17,8 +26,15 @@ const TOP_LINKS = [ { href: "/admin/route-trace", label: "Route Trace", icon: "clipboard" }, { href: "/admin/time-tracking", label: "Time Tracking", icon: "clock" }, { href: "/admin/communications", label: "Communications", icon: "mail" }, + // Settings section + { divider: true, label: "Settings" }, { href: "/admin/settings", label: "Settings", icon: "settings" }, - { href: "/admin/advanced", label: "Advanced", icon: "advanced" }, + { href: "/admin/settings/billing", label: "Billing", icon: "billing" }, + { href: "/admin/settings/apps", label: "Add-ons", icon: "puzzle" }, + { href: "/admin/settings/integrations", label: "Integrations", icon: "plug" }, + { href: "/admin/settings/ai", label: "AI", icon: "sparkles" }, + { href: "/admin/settings/shipping", label: "Shipping", icon: "truck" }, + { href: "/admin/settings/square-sync", label: "Square Sync", icon: "square" }, ]; function GridIcon({ className }: { className?: string }) { @@ -110,6 +126,46 @@ function HamburgerIcon() { ); } +function BillingIcon({ className }: { className?: string }) { + return ( + + + + ); +} + +function PuzzleIcon({ className }: { className?: string }) { + return ( + + + + ); +} + +function PlugIcon({ className }: { className?: string }) { + return ( + + + + ); +} + +function TruckIcon({ className }: { className?: string }) { + return ( + + + + ); +} + +function SquareIcon({ className }: { className?: string }) { + return ( + + + + ); +} + const ICON_MAP: Record = { grid: , "shopping-cart": , @@ -120,6 +176,12 @@ const ICON_MAP: Record = { mail: , settings: , advanced: , + billing: , + puzzle: , + plug: , + sparkles: , + truck: , + square: , }; type SidebarProps = { @@ -205,16 +267,28 @@ export default function AdminSidebar({ userRole }: SidebarProps) { {/* Nav links */}