Navmenu related to current authorized user's role

This commit is contained in:
2024-09-12 00:08:22 +03:00
parent 96c70ef0ba
commit 18e02792ec
7 changed files with 50 additions and 15 deletions

View File

@@ -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;