using CommunityToolkit.Mvvm.ComponentModel;
namespace YZWater.Core.Services;
///
/// 主题切换服务(纯状态管理,不依赖 Avalonia)
///
public partial class ThemeService : ObservableObject
{
private static ThemeService? _instance;
public static ThemeService Instance => _instance ??= new ThemeService();
[ObservableProperty]
private bool _isDarkTheme = true;
///
/// 主题变更事件(由 App.axaml.cs 订阅执行实际切换)
///
public event Action? ThemeChanged;
private ThemeService() { }
///
/// 切换主题
///
public void ToggleTheme()
{
IsDarkTheme = !IsDarkTheme;
ThemeChanged?.Invoke();
}
}