@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; } }