Files
I150/srcs/RobotNet10/Components/RobotNet10.Components/NavMenu.razor
2026-07-03 16:37:12 +07:00

47 lines
1.7 KiB
Plaintext

@using Microsoft.AspNetCore.Components.Authorization
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.Extensions.Options
@using Microsoft.JSInterop
@using RobotNet10.Components
@inject IJSRuntime JS
@inject OptionLayout Options
<div class="sidebar">
<DivContainer HeightClass="flex-grow-1" OverflowY="overflow-y-auto" Class="d-flex flex-column">
<AuthorizeView>
<Authorized>
@foreach (var nav in Options.NavModels)
{
<div class="nav-item px-3">
<NavLink class="nav-link" href="@nav.Path" Match="@nav.Match">
<div class="d-flex align-items-center">
<div class="nav-icon">
<span class="mdi @nav.Icon mdi-36px" aria-hidden="true"></span>
</div>
<span class="nav-label">@nav.Label</span>
</div>
</NavLink>
</div>
}
</Authorized>
</AuthorizeView>
</DivContainer>
<div class="copyright d-flex align-items-center justify-content-end">
<span class="text-white" style="font-size: 10px; text-align: end; margin-right: 5px;">
© Copyright 2025 Phenikaa X <br />v@(Options.Version) | All Rights Reserved
</span>
</div>
</div>
@code {
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await JS.InvokeVoidAsync("robotnet.components.loadToggleSidebarState");
}
}
}