51 lines
1.8 KiB
Plaintext
51 lines
1.8 KiB
Plaintext
@using Microsoft.AspNetCore.Components.Authorization
|
|
<div class="top-row ps-3 navbar navbar-dark">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="">PlaylistShared</a>
|
|
</div>
|
|
</div>
|
|
|
|
<input type="checkbox" title="Navigation menu" class="navbar-toggler" />
|
|
|
|
<div class="nav-scrollable" onclick="document.querySelector('.navbar-toggler').click()">
|
|
<nav class="nav flex-column">
|
|
<div class="nav-item px-3">
|
|
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
|
<span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Главная
|
|
</NavLink>
|
|
</div>
|
|
<div class="nav-item px-3">
|
|
<NavLink class="nav-link" href="myplaylists">
|
|
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Мои плейлисты
|
|
</NavLink>
|
|
</div>
|
|
@if (user?.Identity?.IsAuthenticated == true)
|
|
{
|
|
<div class="nav-item px-3">
|
|
<NavLink class="nav-link" href="Logout">
|
|
<span class="bi bi-box-arrow-right"></span> Выйти
|
|
</NavLink>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="nav-item px-3">
|
|
<NavLink class="nav-link" href="Login">
|
|
<span class="bi bi-box-arrow-in-right"></span> Войти
|
|
</NavLink>
|
|
</div>
|
|
}
|
|
</nav>
|
|
</div>
|
|
|
|
@code {
|
|
private AuthenticationState? _authState;
|
|
private ClaimsPrincipal? user => _authState?.User;
|
|
[CascadingParameter] private Task<AuthenticationState>? AuthenticationStateTask { get; set; }
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
if (AuthenticationStateTask is not null)
|
|
_authState = await AuthenticationStateTask;
|
|
}
|
|
} |