Userverwaltung improved
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
@inherits LayoutComponentBase
|
||||
@inject AuthenticationStateProvider AuthStateProvider
|
||||
@inject NavigationManager Nav
|
||||
@inject timetracker.Data.UserNotificationService UserNotificationService
|
||||
@implements IDisposable
|
||||
@using System.Security.Claims
|
||||
|
||||
<MudThemeProvider Theme="_theme" />
|
||||
<MudPopoverProvider />
|
||||
@@ -29,6 +34,26 @@
|
||||
@code {
|
||||
private bool _drawerOpen = true;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
UserNotificationService.OnUserDeleted += HandleUserDeleted;
|
||||
}
|
||||
|
||||
private async Task HandleUserDeleted(int deletedUserId)
|
||||
{
|
||||
var state = await AuthStateProvider.GetAuthenticationStateAsync();
|
||||
var idClaim = state.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
if (idClaim != null && int.TryParse(idClaim, out var myId) && myId == deletedUserId)
|
||||
{
|
||||
await InvokeAsync(() => Nav.NavigateTo("/auth/logout", forceLoad: true));
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
UserNotificationService.OnUserDeleted -= HandleUserDeleted;
|
||||
}
|
||||
|
||||
private readonly MudTheme _theme = new()
|
||||
{
|
||||
PaletteLight = new PaletteLight
|
||||
|
||||
@@ -25,5 +25,12 @@
|
||||
</MudNavMenu>
|
||||
</Authorized>
|
||||
</AuthorizeView>
|
||||
<MudText Typo="Typo.caption" Class="px-4 py-2" Style="color: var(--mud-palette-text-disabled); text-align:center;">Version 1.1</MudText>
|
||||
<MudTooltip Text="Changelog anzeigen" Placement="Placement.Top">
|
||||
<MudNavMenu>
|
||||
<MudNavLink Href="/changelog" Icon="@Icons.Material.Filled.NewReleases"
|
||||
Style="color: var(--mud-palette-text-disabled); font-size:0.75rem;">
|
||||
Version 1.1
|
||||
</MudNavLink>
|
||||
</MudNavMenu>
|
||||
</MudTooltip>
|
||||
</div>
|
||||
Reference in New Issue
Block a user