{{-- resources/views/admin/partials/sidebar.blade.php --}} {{-- Admin sidebar — nav items shown only if user has direct .view permission --}} {{-- Admin role bypasses all checks. Non-admin uses direct permissions only --}} @php $u = auth()->user(); $isAdmin = $u->hasRole('admin'); // Load direct permissions once into a simple array for fast lookup $directPerms = $isAdmin ? [] : $u->permissions->pluck('name')->flip()->toArray(); function canView(string $module, bool $isAdmin, array $directPerms): bool { return $isAdmin || isset($directPerms[$module . '.view']); } @endphp