@using JSMR.UI.Blazor.Services
@inject SessionState Session
@inherits LayoutComponentBase
@if (Session.IsAuthenticated)
{
Logged in as @Session.Me?.name (@Session.Me?.role)
Logout
}
else
{
Login
}
JSMR
Home
Voice Works
Circles
Tags
Creators
Scanner
Analytics
@Body
@* Required *@
@* Needed for dialogs *@
@* Needed for snackbars *@
@code{
private bool _open = false;
private bool _dense = true;
private Breakpoint _breakpoint = Breakpoint.Lg;
private DrawerClipMode _clipMode = DrawerClipMode.Always;
private void ToggleDrawer()
{
_open = !_open;
}
private bool _isDarkMode;
private MudThemeProvider _mudThemeProvider;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
_isDarkMode = await _mudThemeProvider.GetSystemDarkModeAsync();
StateHasChanged();
}
}
protected override void OnInitialized()
{
Session.Changed += OnSessionChanged;
}
private void OnSessionChanged() => InvokeAsync(StateHasChanged);
private async Task OnLogout(MouseEventArgs _)
{
await Session.LogoutAsync();
}
public void Dispose()
{
Session.Changed -= OnSessionChanged;
}
}