From ac8f05d0647411ff7615d98eb9012ae8e5c7ed4b Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 10 Jun 2026 15:40:39 +0000 Subject: [PATCH] Add src/app/admin/layout.tsx --- src/app/admin/layout.tsx | 69 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/app/admin/layout.tsx diff --git a/src/app/admin/layout.tsx b/src/app/admin/layout.tsx new file mode 100644 index 0000000..5ae2c39 --- /dev/null +++ b/src/app/admin/layout.tsx @@ -0,0 +1,69 @@ +"use client"; + +import Link from 'next/link'; +import { usePathname } from 'next/navigation'; +import { Home, Package, LayoutGrid, ShoppingCart, Users, ReceiptText, Settings, Menu } from 'lucide-react'; +import React, { useState } from 'react'; + +const adminNavItems = [ + { href: '/admin', label: 'Overview', icon: Home }, + { href: '/admin/services', label: 'Services', icon: Package }, + { href: '/admin/categories', label: 'Categories', icon: LayoutGrid }, + { href: '/admin/orders', label: 'Orders', icon: ShoppingCart }, + { href: '/admin/users', label: 'Users', icon: Users }, + { href: '/admin/transactions', label: 'Transactions', icon: ReceiptText }, + { href: '/admin/settings', label: 'Settings', icon: Settings }, +]; + +export default function AdminLayout({ children }: { children: React.ReactNode }) { + const pathname = usePathname(); + const [isSidebarOpen, setIsSidebarOpen] = useState(false); + + return ( +
+ {/* Mobile Menu Button */} + + + {/* Sidebar */} + + + {/* Main Content */} +
+
+ {children} +
+
+
+ ); +}