{{-- Mobile bottom menu (6 entries): Caisse, Produits, Stock, Ventes, Achats, Rapports. Mirrors the sidebar: filtered by permission and by route existence, so a role only sees the sections it is allowed to open. Hidden from `lg` up, where the sidebar already provides navigation. --}} @php $user = auth()->user(); $can = fn ($permission) => $user && $user->hasPermission($permission); $hasRoute = fn ($route) => Route::has($route); $items = [ ['label' => __('POS'), 'icon' => 'cash-register', 'route' => 'pos.create', 'match' => ['pos*'], 'permission' => 'sales.create'], ['label' => __('Products'), 'icon' => 'cube', 'route' => 'products.index', 'match' => ['products*', 'categories*', 'batches*'], 'permission' => 'products.view'], ['label' => __('Stock'), 'icon' => 'archive', 'route' => 'stock.global', 'match' => ['stock*', 'transfers*', 'inventories*'], 'permission' => 'stock.view'], ['label' => __('Sales'), 'icon' => 'receipt', 'route' => 'sales.index', 'match' => ['sales*', 'quotes*', 'returns*'], 'permission' => 'sales.view'], ['label' => __('Purchases'), 'icon' => 'truck', 'route' => 'purchases.index', 'match' => ['purchases*', 'suppliers*', 'supplier-payments*', 'reorder*'], 'permission' => 'purchases.view'], ['label' => __('Reports'), 'icon' => 'chart-bar', 'route' => 'reports.index', 'match' => ['reports*', 'accounting*'], 'permission' => 'reports.view'], ]; $visible = collect($items)->filter(function ($item) use ($can, $hasRoute) { if (isset($item['permission']) && ! $can($item['permission'])) { return false; } return $hasRoute($item['route']); })->values()->all(); @endphp