101 lines
3.4 KiB
Plaintext
101 lines
3.4 KiB
Plaintext
@using Microsoft.AspNetCore.Components.Authorization
|
|
@inject AuthenticationStateProvider AuthenticationStateProvider
|
|
|
|
<div class="top-row ps-3 navbar navbar-dark">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="">MagMan.UI</a>
|
|
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
|
|
<nav class="flex-column">
|
|
<AuthorizeView>
|
|
<NotAuthorized>
|
|
<div class="nav-item px-2" title="Login">
|
|
<NavLink class="nav-link py-0 px-2 mb-0" href="Identity/Account/LogIn">
|
|
<i class="fa-solid fa-user-alt pe-2"></i>Non Autenticato
|
|
</NavLink>
|
|
</div>
|
|
</NotAuthorized>
|
|
<Authorized>
|
|
<div class="nav-item px-2">
|
|
<NavLink class="nav-link py-0 px-2 mb-0" href="" Match="NavLinkMatch.All">
|
|
<i class="fa-solid fa-house pe-2"></i> Home
|
|
</NavLink>
|
|
</div>
|
|
</Authorized>
|
|
</AuthorizeView>
|
|
|
|
<AuthorizeView Roles="SuperAdmin">
|
|
<Authorized>
|
|
<div class="nav-item px-2">
|
|
<NavLink class="nav-link py-0 px-2 mb-0" href="AdminArea">
|
|
<i class="fa-solid fa-building pe-2"></i> Admin Area
|
|
</NavLink>
|
|
</div>
|
|
</Authorized>
|
|
</AuthorizeView>
|
|
|
|
<AuthorizeView Roles="SuperAdmin, Admin, User">
|
|
<Authorized>
|
|
<div class="nav-item px-2">
|
|
<NavLink class="nav-link py-0 px-2 mb-0" href="MachineStatus">
|
|
<i class="fa-solid fa-screwdriver-wrench pe-2"></i> Dati Macchine
|
|
</NavLink>
|
|
</div>
|
|
<div class="nav-item px-2">
|
|
<NavLink class="nav-link py-0 px-2 mb-0" href="WareHouse">
|
|
<i class="fa-solid fa-warehouse pe-2"></i> Magazzino
|
|
</NavLink>
|
|
</div>
|
|
<div class="nav-item px-2">
|
|
<NavLink class="nav-link py-0 px-2 mb-0" href="ResetCache">
|
|
<i class="fa-solid fa-exclamation-triangle pe-2"></i> Reset Cache
|
|
</NavLink>
|
|
</div>
|
|
</Authorized>
|
|
</AuthorizeView>
|
|
</nav>
|
|
</div>
|
|
|
|
@code {
|
|
|
|
|
|
[CascadingParameter]
|
|
private Task<AuthenticationState> AuthenticationStateTask { get; set; }
|
|
|
|
private bool collapseNavMenu = true;
|
|
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
|
protected bool showText { get; set; } = true;
|
|
private string userName = "";
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
|
|
var user = authState.User;
|
|
if (user.Identity.IsAuthenticated)
|
|
{
|
|
userName = $"{user.Identity.Name}";
|
|
}
|
|
else
|
|
{
|
|
userName = "Non Autenticato";
|
|
}
|
|
}
|
|
|
|
private void ToggleNavMenu()
|
|
{
|
|
collapseNavMenu = !collapseNavMenu;
|
|
}
|
|
protected string hideText
|
|
{
|
|
get => showText ? "" : "invisible";
|
|
}
|
|
|
|
[Parameter]
|
|
public EventCallback<bool> EC_compressUpdated { get; set; }
|
|
}
|