using Microsoft.AspNetCore.Components; using MudBlazor; namespace Manager.App.Components.Layout; public partial class BaseLayout { private readonly MudTheme _mudTheme = new(); private MudThemeProvider? _themeProvider; private bool _isDarkTheme = true; public EventCallback 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(); } } }