Navmenu related to current authorized user's role
This commit is contained in:
		| @@ -1,4 +1,5 @@ | ||||
| <div class="top-row ps-3 navbar navbar-dark"> | ||||
| @using BlazorWebAssemblyVisaApiClient.Infrastructure.Services.UserDataProvider | ||||
| <div class="top-row ps-3 navbar navbar-dark"> | ||||
|     <div class="container-fluid"> | ||||
|         <a class="navbar-brand" href="">Schengen Visa</a> | ||||
|         <button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu"> | ||||
| @@ -15,13 +16,18 @@ | ||||
|             </NavLink> | ||||
|         </div> | ||||
|     </nav> | ||||
|     <nav class="flex-column"> | ||||
|         <div class="nav-item px-3"> | ||||
|             <NavLink class="nav-link" href="applications" Match="NavLinkMatch.All"> | ||||
|                 <span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Applications | ||||
|             </NavLink> | ||||
|         </div> | ||||
|     </nav> | ||||
|     @if (UserDataProvider.CurrentRole is Constants.ApplicantRole or Constants.ApprovingAuthorityRole) | ||||
|     { | ||||
|         <nav class="flex-column"> | ||||
|             <div class="nav-item px-3"> | ||||
|                 <NavLink class="nav-link" href="applications" Match="NavLinkMatch.All"> | ||||
|                     <span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Applications | ||||
|                 </NavLink> | ||||
|             </div> | ||||
|         </nav> | ||||
|     } | ||||
|     @if(UserDataProvider.CurrentRole is Constants.ApplicantRole) | ||||
|     { | ||||
|     <nav class="flex-column"> | ||||
|         <div class="nav-item px-3"> | ||||
|             <NavLink class="nav-link" href="applications/new" Match="NavLinkMatch.All"> | ||||
| @@ -29,13 +35,22 @@ | ||||
|             </NavLink> | ||||
|         </div> | ||||
|     </nav> | ||||
|     } | ||||
| </div> | ||||
|  | ||||
| @code { | ||||
|     private bool collapseNavMenu = true; | ||||
|     private string? currentRole = null!; | ||||
|  | ||||
|     private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null; | ||||
|  | ||||
|     [Inject] private IUserDataProvider UserDataProvider { get; set; } = null!; | ||||
|  | ||||
|     protected override void OnInitialized() | ||||
|     { | ||||
|         UserDataProvider.OnRoleChanged += StateHasChanged; | ||||
|     } | ||||
|  | ||||
|     private void ToggleNavMenu() | ||||
|     { | ||||
|         collapseNavMenu = !collapseNavMenu; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user