import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; final themeModeProvider = StateNotifierProvider((ref) { return ThemeModeNotifier(); }); class ThemeModeNotifier extends StateNotifier { ThemeModeNotifier() : super(ThemeMode.system) { _load(); } final _storage = const FlutterSecureStorage(); static const _key = 'theme_mode'; Future _load() async { final value = await _storage.read(key: _key); if (value == 'light') state = ThemeMode.light; if (value == 'dark') state = ThemeMode.dark; } Future setTheme(ThemeMode mode) async { state = mode; final value = mode == ThemeMode.light ? 'light' : mode == ThemeMode.dark ? 'dark' : 'system'; await _storage.write(key: _key, value: value); } }