@inject INavigationService navigationService;
@inject NavigationManager navigationManager;
@if (isOnPage) {
@Page.Name
}
else {
navigationService.ChangeNavigationState(NavigationStateType.Default)" 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();
}
}