{{-- resources/views/partials/admin/sidebar.blade.php --}} @php use Illuminate\Support\Facades\Route; $make = function (string $name, string $route, string $icon, string $pattern) { return [ 'name' => $name, 'route' => $route, 'url' => Route::has($route) ? route($route) : '#', 'active' => request()->routeIs($pattern), 'icon' => $icon, ]; }; $isAdmin = auth()->check() && auth()->user()->hasRole('admin'); $items = []; $items[] = $make('Inicio', 'zapatera.admin.panel', 'home', 'zapatera.admin.panel'); $items[] = $make('Productos', 'zapatera.admin.products.index', 'tag', 'zapatera.admin.products.*'); $items[] = $make('Categorías', 'zapatera.admin.categories.index', 'folder', 'zapatera.admin.categories.*'); $items[] = $make('Atributos', 'zapatera.admin.attributes.index', 'adjustments', 'zapatera.admin.attributes.*'); $items[] = $make('Monedas', 'zapatera.admin.currencies.index', 'currency', 'zapatera.admin.currencies.*'); $items[] = $make('Gestores', 'zapatera.admin.gestors.index', 'users', 'zapatera.admin.gestors.*'); $items[] = $make('Inventario', 'zapatera.admin.inventory.index', 'inventory', 'zapatera.admin.inventory.*'); $items[] = $make('Locales', 'zapatera.admin.locals.index', 'store', 'zapatera.admin.locals.*'); $items[] = $make('Periodos Contables', 'zapatera.admin.accounting_period.index', 'accounting_period', 'zapatera.admin.accounting_period.*'); if ($isAdmin) { if (Route::has('zapatera.admin.users.index')) { $items[] = $make('Usuarios', 'zapatera.admin.users.index', 'shield', 'zapatera.admin.users.*'); } // 👉 NUEVO: Settings (solo admin) if (Route::has('zapatera.admin.settings.edit')) { $items[] = $make('Configuración', 'zapatera.admin.settings.index', 'settings', 'zapatera.admin.settings.*'); } } $base = 'group flex items-center gap-3 px-3 py-2 rounded-md'; $active = 'bg-indigo-50 text-indigo-700 border border-indigo-100'; $idle = 'text-slate-700 hover:bg-slate-50'; @endphp