| 1234567891011121314151617181920212223242526272829303132 |
- import 'package:flutter/material.dart';
- import 'package:flutter_riverpod/flutter_riverpod.dart';
- import '../util/shared_prefs_instance_util.dart';
- /// @author: bo.zeng
- /// @email: cnhbwds@gmail.com
- /// @date: 2025 2025/4/9 16:00
- /// @description:
- class GlobalThemeNotifier extends Notifier<ThemeMode> {
- @override
- ThemeMode build() {
- _loadTheme();
- return ThemeMode.light; // 初始值
- }
- void _loadTheme() async {
- final isDark = await getIsDark() ?? false;
- state = isDark ? ThemeMode.dark : ThemeMode.light;
- }
- /// 切换白天/黑夜模式
- void toggleTheme(bool isDark) async {
- state = isDark ? ThemeMode.dark : ThemeMode.light;
- await saveIsDark(isDark);
- }
- // App 跟随系统主题自动切换
- void setSystemTheme() {
- state = ThemeMode.system;
- }
- }
|