feat(dashboard): add Roles CRUD with permission-based menu filtering

- Roles CRUD: List/Create/Update/Delete actions, controller, requests
- Roles Vue pages: Index, Create, Edit (Options API, DashboardLayout)
- SidebarNav: filter menu items by user permissions via Inertia shared data
- HandleInertiaRequests: share permissions and roles arrays to frontend
- HttpKernel: register dashboard.permission middleware alias
- SidebarNavItem: add shield-check icon mapping
This commit is contained in:
F4ilji
2026-08-03 10:39:15 +05:00
parent d4ef7daeb1
commit 63e456088d
15 changed files with 725 additions and 3 deletions
@@ -33,6 +33,8 @@ class HandleInertiaRequests extends Middleware
],
'auth' => [
'user' => $request->user() ? $request->user()->only('id', 'name', 'email', 'created_at') : null,
'permissions' => $request->user()?->getAllPermissions()->pluck('name')->toArray() ?? [],
'roles' => $request->user()?->getRoleNames()->toArray() ?? [],
],
'ziggy' => function() {
return array_merge((new Ziggy())->toArray(), [