import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; class ThemeProvider with ChangeNotifier { static const String _themeModeKey = 'user_theme_mode'; ThemeMode _themeMode = ThemeMode.system; ThemeMode get themeMode => _themeMode; ThemeProvider() { loadThemeMode(); } Future loadThemeMode() async { final prefs = await SharedPreferences.getInstance(); final modeIndex = prefs.getInt(_themeModeKey); if (modeIndex != null) { _themeMode = ThemeMode.values[modeIndex]; notifyListeners(); } } Future setThemeMode(ThemeMode mode) async { if (_themeMode == mode) return; _themeMode = mode; notifyListeners(); final prefs = await SharedPreferences.getInstance(); await prefs.setInt(_themeModeKey, mode.index); } String get themeModeName { switch (_themeMode) { case ThemeMode.system: return 'Automatique'; case ThemeMode.light: return 'Clair'; case ThemeMode.dark: return 'Sombre'; } } }