@php $tenant = current_tenant(); $user = auth()->user(); // Helper to filter menu items by permission $can = fn ($permission) => $user && $user->hasPermission($permission); $canAny = fn ($permissions) => $user && $user->hasAnyPermission($permissions); $hasRoute = fn ($route) => Route::has($route); $menu = [ ['label' => __('Dashboard'), 'route' => 'dashboard', 'icon' => 'home', 'active' => request()->routeIs('dashboard')], ['label' => __('POS'), 'route' => 'pos.create', 'icon' => 'shopping-cart', 'active' => request()->routeIs('pos*'), 'permission' => 'sales.create'], ['label' => __('Products'), 'icon' => 'cube', 'children' => [ ['label' => __('All Products'), 'route' => 'products.index', 'permission' => 'products.view'], ['label' => __('Categories'), 'route' => 'categories.index', 'permission' => 'products.view'], ['label' => __('Batches'), 'route' => 'batches.index', 'permission' => 'products.view'], ['label' => __('Import Products'), 'route' => 'products.import.form', 'permission' => 'products.create'], ['label' => __('Low Stock'), 'route' => 'products.low-stock', 'permission' => 'products.view'], ['label' => __('Expiring Soon'), 'route' => 'products.expiring-soon', 'permission' => 'products.view'], ]], ['label' => __('Stock'), 'icon' => 'archive', 'children' => [ ['label' => __('Global stock'), 'route' => 'stock.global', 'permission' => 'stock.view'], ['label' => __('Warehouse'), 'route' => 'stock.warehouse', 'permission' => 'stock.view'], ['label' => __('POS'), 'route' => 'stock.pos', 'permission' => 'stock.view'], ['label' => __('Transfers'), 'route' => 'transfers.index', 'permission' => 'stock.transfer'], ['label' => __('Inventory'), 'route' => 'inventories.index', 'permission' => 'stock.adjust'], ]], ['label' => __('Sales / POS'), 'icon' => 'shopping-cart', 'children' => [ ['label' => __('New Sale'), 'route' => 'pos.create', 'permission' => 'sales.create'], ['label' => __('Sales History'), 'route' => 'sales.index', 'permission' => 'sales.view'], ['label' => __('Quotes'), 'route' => 'quotes.index', 'permission' => 'sales.create'], ['label' => __('Invoices'), 'route' => 'sales.invoices', 'permission' => 'sales.view'], ['label' => __('Returns'), 'route' => 'returns.index', 'permission' => 'sales.create'], ]], ['label' => __('Purchases'), 'icon' => 'truck', 'children' => [ ['label' => __('New Purchase'), 'route' => 'purchases.create', 'permission' => 'purchases.create'], ['label' => __('Purchase History'), 'route' => 'purchases.index', 'permission' => 'purchases.view'], ['label' => __('Suppliers'), 'route' => 'suppliers.index', 'permission' => 'purchases.view'], ['label' => __('Supplier Payments'), 'route' => 'supplier-payments.index', 'permission' => 'purchases.create'], ['label' => __('Low Stock Reorder'), 'route' => 'reorder.index', 'permission' => 'purchases.create'], ]], ['label' => __('Clients'), 'icon' => 'users', 'children' => [ ['label' => __('Manage Clients'), 'route' => 'clients.index', 'permission' => 'clients.manage'], ]], ['label' => __('Employees'), 'icon' => 'identification', 'children' => [ ['label' => __('Manage Employees'), 'route' => 'employees.index', 'permission' => 'employees.manage'], ['label' => __('Roles & Permissions'), 'route' => 'roles.index', 'permission' => 'roles.manage'], ]], ['label' => __('Reports'), 'route' => 'reports.index', 'icon' => 'chart-bar', 'active' => request()->routeIs('reports.*'), 'permission' => 'reports.view'], ['label' => __('Accounting'), 'icon' => 'chart-bar', 'children' => [ ['label' => __('Journal'), 'route' => 'accounting.journal', 'permission' => 'reports.view'], ['label' => __('General ledger'), 'route' => 'accounting.ledger', 'permission' => 'reports.view'], ['label' => __('Balance sheet'), 'route' => 'accounting.balance-sheet', 'permission' => 'reports.view'], ]], ['label' => __('SaaS'), 'icon' => 'cloud', 'children' => [ ['label' => __('Tenants'), 'route' => 'saas.tenants.index', 'permission' => 'saas.manage'], ['label' => __('Subscriptions'), 'route' => 'saas.subscriptions.index', 'permission' => 'saas.manage'], ['label' => __('Plans'), 'route' => 'saas.plans.index', 'permission' => 'saas.manage'], ['label' => __('Accounts'), 'route' => 'saas.users.index', 'permission' => 'saas.manage'], ]], ['label' => __('Settings'), 'icon' => 'cog', 'children' => [ ['label' => __('App & Company'), 'route' => 'settings.index', 'permission' => 'settings.manage'], ['label' => __('Auto-backup'), 'route' => 'backups.index', 'permission' => 'backups.manage'], ['label' => __('Data export / import'), 'route' => 'data.index', 'permission' => 'settings.manage'], ['label' => __('Activity Log'), 'route' => 'activity.index', 'permission' => 'settings.manage'], ]], ]; @endphp