import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; class ThemeModeController with ChangeNotifier { ThemeMode _currentThemeMode = ThemeMode.system; ThemeMode get currentThemeMode => _currentThemeMode; Future loadThemeMode() async { final prefs = await SharedPreferences.getInstance(); final savedMode = prefs.getString('theme_mode'); if (savedMode != null) { switch (savedMode) { case 'light': _currentThemeMode = ThemeMode.light; break; case 'dark': _currentThemeMode = ThemeMode.dark; break; default: _currentThemeMode = ThemeMode.system; } notifyListeners(); } } Future toggleThemeMode() async { if (_currentThemeMode == ThemeMode.light) { _currentThemeMode = ThemeMode.dark; } else { _currentThemeMode = ThemeMode.light; } notifyListeners(); final prefs = await SharedPreferences.getInstance(); await prefs.setString( 'theme_mode', _currentThemeMode == ThemeMode.light ? 'light' : 'dark', ); } }