import 'package:flutter/material.dart'; import '../services/preferences_service.dart'; class ThemeProvider extends ChangeNotifier { ThemeMode _themeMode = ThemeMode.system; ThemeMode get themeMode => _themeMode; ThemeProvider() { _loadThemeMode(); } Future _loadThemeMode() async { try { final mode = await PreferencesService.instance.getThemeMode(); _themeMode = _fromString(mode); } catch (_) { _themeMode = ThemeMode.system; } notifyListeners(); } Future setThemeMode(ThemeMode mode) async { _themeMode = mode; notifyListeners(); await PreferencesService.instance.setThemeMode(_toString(mode)); } static ThemeMode _fromString(String mode) { switch (mode) { case 'light': return ThemeMode.light; case 'dark': return ThemeMode.dark; default: return ThemeMode.system; } } static String _toString(ThemeMode mode) { switch (mode) { case ThemeMode.light: return 'light'; case ThemeMode.dark: return 'dark'; case ThemeMode.system: return 'system'; } } }