Updated front-end authentication.

This commit is contained in:
2026-02-22 21:47:34 -05:00
parent 8348603b13
commit 80ca1296e5
13 changed files with 184 additions and 56 deletions

View File

@@ -1,27 +1,30 @@
@using JSMR.UI.Blazor.Services
@using JSMR.UI.Blazor.Components
@using JSMR.UI.Blazor.Services
@inject SessionState Session
@inject NavigationManager Navigation
@inherits LayoutComponentBase
<div class="topbar">
@if (Session.IsAuthenticated)
{
<span>Logged in as <b>@Session.Me?.name</b> (@Session.Me?.role)</span>
<a href="" @onclick="OnLogout" style="margin-left: 12px;">Logout</a>
}
else
{
<a href="/login">Login</a>
}
</div>
<MudLayout>
<MudAppBar Elevation="1" Dense="@_dense">
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start" OnClick="@ToggleDrawer" />
<MudText>JSMR</MudText>
<MudSpacer />
<MudIconButton Icon="@Icons.Custom.Brands.GitHub" Color="Color.Inherit" Href="https://github.com/MudBlazor/MudBlazor" Target="_blank" />
@* <MudIconButton Icon="@Icons.Custom.Brands.GitHub" Color="Color.Inherit" Href="https://github.com/MudBlazor/MudBlazor" Target="_blank" /> *@
@if (Session.IsAuthenticated)
{
@* <span>Logged in as <b>@Session.Me?.Name</b> (@Session.Me?.Role)</span> *@
<Chip Graphic="Enums.Graphic.Avatar" IconVarient="Enums.IconVarient.Fill" IconSize="Enums.SizeVarient.Small" Color="Enums.ColorVarient.Blue">
<span>@Session.Me?.Name @* (@Session.Me?.Role) *@</span>
</Chip>
<Chip Graphic="Enums.Graphic.Headphones" Color="Enums.ColorVarient.Primary" Click="@LogoutAsync">Logout</Chip>
}
else
{
<Chip Graphic="Enums.Graphic.Headphones" Color="Enums.ColorVarient.Primary" Url="/login">Login</Chip>
}
</MudAppBar>
<MudDrawer @bind-Open="@_open" ClipMode="_clipMode" Breakpoint="@_breakpoint" Elevation="1" Variant="@DrawerVariant.Mini">
<MudNavMenu>
@@ -89,4 +92,10 @@
{
Session.Changed -= OnSessionChanged;
}
private async Task LogoutAsync()
{
await Session.LogoutAsync();
Navigation.NavigateTo("/login");
}
}