@inject INavigationService navigationService;
@inject NavigationManager navigationManager;
@if (isOnPage)
{
@Page.Name
}
else
{
{ navigationService.ChangeNavigationState(NavigationStateType.Default); navigationService.ChangeNavigationSectionId(-1); }" href="@Page.Href" class="desktopNavLink">
@Page.Name
}
@code {
[Parameter]
public WebPageModel Page { get; set; } = default!;
bool isOnPage = false;
protected override Task OnParametersSetAsync()
{
var uri = navigationManager.Uri.Remove(0, navigationManager.BaseUri.Count()).ToLower();
isOnPage = Page.Href.ToLower().Equals(uri);
return Task.CompletedTask;
}
void OnNavigationChanged()
{
StateHasChanged();
}
void OnBack()
{
navigationService.Back();
}
}