Files
gpw_next/GPW.CORE.WRKLOG/Shared/NavMenu.razor
T
Samuele Locatelli b6c6194da3 NavMenu (preliminare)
2023-01-02 14:44:50 +01:00

89 lines
3.3 KiB
Plaintext

<div class="top-row ps-2 navbar navbar-dark">
<div class="container-fluid px-0">
@if (!showText)
{
<a class="navbar-brand p-0" @onclick="() => ToggleCompress()">GPW <i class="fas fa-caret-square-right"></i></a>
}
else
{
<a class="navbar-brand" @onclick="() => ToggleCompress()">GPW Activity Logger <i class="fas fa-caret-square-left"></i></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">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> <span class="@hideText">Home</span>
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="FastRec">
<span class="fas fa-thumbtack pr-3" aria-hidden="true"></span> <span class="@hideText">Fast Rec</span>
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="WeekPlan">
<span class="oi oi-calendar" aria-hidden="true"></span> <span class="@hideText">Week Plan</span>
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="ListPlan">
<span class="oi oi-list-rich" aria-hidden="true"></span> <span class="@hideText">Record List</span>
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="Illness">
<span class="fas fa-notes-medical pr-3" aria-hidden="true"></span> <span class="@hideText">Malattia</span>
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="DayOff">
<span class="fas fa-pause-circle pr-3" aria-hidden="true"></span> <span class="@hideText">Richiesta Ferie/Permessi</span>
</NavLink>
</div>
<div class="nav-item px-3">
<a href="help/index.html" target="_blank" class="nav-link">
<span class="fas fa-question pr-3" aria-hidden="true"></span> <span class="@hideText">Help</span>
</a>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="ForceReset">
<span class="fas fa-sync-alt pr-3" aria-hidden="true"></span> <span class="@hideText">Reset Cache</span>
</NavLink>
</div>
</nav>
</div>
@code {
private bool collapseNavMenu = true;
private bool onlyIcon = false;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private string? TextCss => onlyIcon ? "d-none" : "";
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
protected bool showText { get; set; } = true;
protected void ToggleCompress()
{
showText = !showText;
EC_compressUpdated.InvokeAsync(showText);
}
protected string hideText
{
get => showText ? "" : "invisible";
}
[Parameter]
public EventCallback<bool> EC_compressUpdated { get; set; }
}