2023-02-11 22:04:02 +00:00
|
|
|
@using ImageBoardServerApp.Auth
|
2023-03-01 13:44:06 +00:00
|
|
|
@using ImageBoardServerApp.Data.Repository
|
2023-02-11 22:04:02 +00:00
|
|
|
@inject AuthenticationStateProvider authStateProvider
|
|
|
|
@inject NavigationManager navManager
|
|
|
|
|
|
|
|
<div class="top-row ps-3 navbar navbar-dark">
|
2023-01-18 12:56:24 +00:00
|
|
|
<div class="container-fluid">
|
2023-03-11 15:00:50 +00:00
|
|
|
<a class="navbar-brand" href="">BB v0.2.2</a>
|
2023-02-11 22:04:02 +00:00
|
|
|
<AuthorizeView>
|
|
|
|
<Authorized>
|
2023-03-01 13:44:06 +00:00
|
|
|
<a class="navbar-brand" @onclick="logout" href="javascript:void(0)" >[Logout]</a>
|
2023-02-11 22:04:02 +00:00
|
|
|
</Authorized>
|
|
|
|
<NotAuthorized>
|
2023-02-12 16:01:46 +00:00
|
|
|
<a class="navbar-brand" href="/sys/login">[Login]</a>
|
2023-02-11 22:04:02 +00:00
|
|
|
</NotAuthorized>
|
|
|
|
</AuthorizeView>
|
2023-01-18 12:56:24 +00:00
|
|
|
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
|
|
|
<span class="navbar-toggler-icon"></span>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
|
|
|
|
<nav class="flex-column">
|
|
|
|
<div class="nav-item px-3">
|
|
|
|
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
|
|
|
<span class="oi oi-home" aria-hidden="true"></span> Home
|
|
|
|
</NavLink>
|
|
|
|
</div>
|
2023-03-01 13:44:06 +00:00
|
|
|
@foreach (BoardData b in boards)
|
|
|
|
{
|
|
|
|
<div class="nav-item px-3">
|
|
|
|
<NavLink class="nav-link" href="@b.Tag">
|
|
|
|
<span class="oi oi-list-rich" aria-hidden="true"></span> /@b.Tag/ - @b.Topic
|
|
|
|
</NavLink>
|
|
|
|
</div>
|
|
|
|
}
|
2023-01-18 12:56:24 +00:00
|
|
|
</nav>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
@code {
|
|
|
|
private bool collapseNavMenu = true;
|
|
|
|
|
|
|
|
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
|
|
|
|
|
|
|
private void ToggleNavMenu()
|
|
|
|
{
|
|
|
|
collapseNavMenu = !collapseNavMenu;
|
|
|
|
}
|
2023-02-11 22:04:02 +00:00
|
|
|
|
|
|
|
private async Task logout()
|
|
|
|
{
|
|
|
|
var customAuthStateProvider = (CustomAuthenticationStateProvider) authStateProvider;
|
|
|
|
await customAuthStateProvider.UpdateAuthenticationStateAsync(null);
|
|
|
|
navManager.NavigateTo("/", true);
|
|
|
|
}
|
2023-03-01 13:44:06 +00:00
|
|
|
|
|
|
|
public List<BoardData> boards { get; set; }
|
|
|
|
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
|
|
{
|
|
|
|
boards = await BoardsRepository.getBoardsAsync();
|
|
|
|
}
|
|
|
|
|
2023-01-18 12:56:24 +00:00
|
|
|
}
|