using Microsoft.AspNetCore.Components; using MudBlazor; namespace Manager.App.Components.Layout; public partial class BaseLayout { private readonly MudTheme _mudTheme = new MudTheme(); private MudThemeProvider? _themeProvider; private bool _isDarkTheme = true; public event EventHandler? OnDarkThemeChanged; public bool DarkTheme { get => _isDarkTheme; set { _isDarkTheme = value; ThemeChanged(); } } private void ThemeChanged() { StateHasChanged(); } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender && _themeProvider != null) { DarkTheme = await _themeProvider.GetSystemDarkModeAsync(); _themeProvider.IsDarkModeChanged = EventCallback.Factory.Create(this, x => OnDarkThemeChanged?.Invoke(this, x)); } } }