36 lines
783 B
C#
36 lines
783 B
C#
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<bool> 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();
|
|
}
|
|
}
|
|
} |