From f1b2c7147a863b2b309e7ea99a1240ea9474c09b Mon Sep 17 00:00:00 2001 From: mawkone Date: Mon, 8 Jun 2026 14:22:10 -0700 Subject: [PATCH] feat(agency): redefine agency sidebar navigation to match Bonsai OS patterns with Client Management, nested Delivery Hubs, and Finance & Ops --- .../app/[workspace]/agency/layout.tsx | 248 ++++++++++++++++-- 1 file changed, 224 insertions(+), 24 deletions(-) diff --git a/vibn-frontend/app/[workspace]/agency/layout.tsx b/vibn-frontend/app/[workspace]/agency/layout.tsx index d0edb03..2ebe061 100644 --- a/vibn-frontend/app/[workspace]/agency/layout.tsx +++ b/vibn-frontend/app/[workspace]/agency/layout.tsx @@ -6,16 +6,177 @@ import { useParams, usePathname } from "next/navigation"; // Minimal SVG Icons const Icons = { - Search: () => , - Target: () => , - MessageCircle: () => , - Kanban: () => , - FileText: () => , - Users: () => , - Folder: () => , - CreditCard: () => , - TrendingDown: () => , - Settings: () => , + Search: () => ( + + + + + ), + Target: () => ( + + + + + + ), + MessageCircle: () => ( + + + + ), + Kanban: () => ( + + + + + + + ), + FileText: () => ( + + + + + + + + ), + Users: () => ( + + + + + + + ), + Folder: () => ( + + + + ), + CreditCard: () => ( + + + + + ), + TrendingDown: () => ( + + + + + ), + Clock: () => ( + + + + + ), + Settings: () => ( + + + + + ), }; function NavItem({ @@ -30,6 +191,7 @@ function NavItem({ active?: boolean; badge?: string; href: string; + inset?: boolean; }) { return ( - Growth + Growth (CRM) - + - Clients + Delivery (Projects) {clients.map((client) => { const clientPath = `/${workspace}/agency/client/${client.id}`; const isActive = pathname.startsWith(clientPath); return ( - + + + {isActive && ( +
+ + + + +
+ )} +
); })} Finance & Ops - + @@ -256,9 +458,7 @@ export default function AgencyLayout({ {/* ── MAIN CONTENT AREA ── */} -
- {children} -
+
{children}
); }