Display custom role names on projects dashboard
What does this MR do and why?
This MR enhances the project dashboard to display custom role names instead of generic access level labels (Guest, Developer, Maintainer, etc.) when users have custom roles assigned.
- Adds a new humanAccess field to the maxAccessLevel GraphQL type that returns the custom role name when available
- Implements role resolution logic that prioritizes direct project memberships over inherited group memberships
References
Screenshots or screen recordings
| Before | After | 
|---|---|
|  |  | 
How to set up and validate locally
Scenario 1
- Create a custom role and assign it to a user in a project.
- Navigate to http://gdk.test:3000/dashboard/projects
- Confirm that the custom role is correctly displayed.
Scenario 2
- Create a custom role and assign it to a user in a group.
- Navigate to http://gdk.test:3000/dashboard/projects
- Confirm that the custom role is correctly displayed.
Scenario 3
- Keep the user as a member at both the group and project levels.
- Navigate to http://gdk.test:3000/dashboard/projects
- Verify that the direct project membership role takes precedence and is visible.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #474430
Edited  by Ayush Billore