Entwicklung_BLAZOR/LambertzPortalPersonalverkauf/LambertzPortalPersonalverkauf/Components/Layout/NavMenu.razor
2026-03-13 11:17:08 +01:00

34 lines
1.3 KiB
Plaintext

@inject NavigationManager NavigationManager
@implements IDisposable
<div>
<DxMenu Orientation="@Orientation.Vertical" CssClass="menu">
<Items>
<DxMenuItem NavigateUrl="/" Text="Startseite" CssClass="@MenuItemCssClass("/")" IconCssClass="icon icon-home"></DxMenuItem>
<DxMenuItem NavigateUrl="/pvk" Text="Startseite PVK" CssClass="@MenuItemCssClass("/pvk")" IconCssClass="icon icon-home"></DxMenuItem>
<DxMenuItem NavigateUrl="cookiecheck" Text="Cookie Checker" CssClass="@MenuItemCssClass("cookiecheck")" IconCssClass="icon icon-counter"></DxMenuItem>
</Items>
</DxMenu>
</div>
@code {
private string? currentLocalPath;
protected override void OnInitialized() {
currentLocalPath = new Uri(NavigationManager.Uri).LocalPath;
NavigationManager.LocationChanged += OnLocationChanged;
}
private void OnLocationChanged(object? sender, LocationChangedEventArgs e) {
currentLocalPath = new Uri(NavigationManager.Uri).LocalPath;
InvokeAsync(StateHasChanged);
}
private string? MenuItemCssClass(string itemPath) {
return string.Equals(currentLocalPath, itemPath, StringComparison.OrdinalIgnoreCase) ? "menu-item-active" : null;
}
public void Dispose() {
NavigationManager.LocationChanged -= OnLocationChanged;
}
}