@inherits LayoutComponentBase @implements IDisposable @inject AppThemeState ThemeState @inject IJSRuntime JS
@Body
An unhandled error has occurred. Reload 🗙
@code { private bool sidebarCollapsed = true; protected override void OnInitialized() { ThemeState.ThemeModeChanged += HandleThemeModeChanged; } protected override async Task OnAfterRenderAsync(bool firstRender) { if (!firstRender) { return; } var themeMode = await ThemeState.EnsureLoadedAsync(); await ApplyThemeAsync(themeMode); } private void ToggleSidebar() { sidebarCollapsed = !sidebarCollapsed; } private void HandleThemeModeChanged(AppThemeMode themeMode) { _ = InvokeAsync(() => ApplyThemeAsync(themeMode).AsTask()); } private ValueTask ApplyThemeAsync(AppThemeMode themeMode) { return JS.InvokeVoidAsync("workTrackerTheme.setTheme", themeMode.ToString().ToLowerInvariant()); } public void Dispose() { ThemeState.ThemeModeChanged -= HandleThemeModeChanged; } }