55 lines
1.4 KiB
Text
55 lines
1.4 KiB
Text
@inherits LayoutComponentBase
|
|
@using ImageBoardServerApp.Auth
|
|
@inject AuthenticationStateProvider authStateProvider
|
|
@inject NavigationManager navManager
|
|
|
|
<PageTitle>BulletBoard</PageTitle>
|
|
|
|
<div class="page">
|
|
<div class="sidebar">
|
|
<NavMenu/>
|
|
</div>
|
|
|
|
<main>
|
|
|
|
<div class="top-row px-4">
|
|
<a href="/faq">[FAQ]</a>
|
|
<a href="/rules">[Rules]</a>
|
|
<AuthorizeView>
|
|
<Authorized>
|
|
<a @onclick="logout" href="javascript:void(0)">[Logout @mail]</a>
|
|
</Authorized>
|
|
<NotAuthorized>
|
|
<a href="/login">[Login]</a>
|
|
</NotAuthorized>
|
|
</AuthorizeView>
|
|
</div>
|
|
|
|
<article class="content px-4">
|
|
@Body
|
|
</article>
|
|
</main>
|
|
</div>
|
|
|
|
@code
|
|
{
|
|
|
|
private string mail { get; set; } = "";
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
var cauthStateProvder = (CustomAuthenticationStateProvider)authStateProvider;
|
|
var user = await cauthStateProvder.GetAuthenticationStateAsync();
|
|
if (user.User.Identity.IsAuthenticated)
|
|
{
|
|
mail = user.User.Identity.Name;
|
|
}
|
|
}
|
|
|
|
private async Task logout()
|
|
{
|
|
var customAuthStateProvider = (CustomAuthenticationStateProvider) authStateProvider;
|
|
await customAuthStateProvider.UpdateAuthenticationStateAsync(null);
|
|
navManager.NavigateTo("/", true);
|
|
}
|
|
}
|