mirror of
https://github.com/wger-project/flutter.git
synced 2026-02-18 00:17:48 +01:00
Inject the shared preferences class for easier testing
This commit is contained in:
@@ -27,8 +27,10 @@ import 'package:wger/providers/base_provider.dart';
|
||||
class UserProvider with ChangeNotifier {
|
||||
ThemeMode themeMode = ThemeMode.system;
|
||||
final WgerBaseProvider baseProvider;
|
||||
late SharedPreferencesAsync prefs;
|
||||
|
||||
UserProvider(this.baseProvider) {
|
||||
UserProvider(this.baseProvider, {SharedPreferencesAsync? prefs}) {
|
||||
this.prefs = prefs ?? SharedPreferencesAsync();
|
||||
_loadThemeMode();
|
||||
}
|
||||
|
||||
@@ -44,15 +46,18 @@ class UserProvider with ChangeNotifier {
|
||||
|
||||
// Load theme mode from SharedPreferences
|
||||
Future<void> _loadThemeMode() async {
|
||||
final prefs = SharedPreferencesAsync();
|
||||
final prefsDarkMode = await prefs.getBool(PREFS_USER_DARK_THEME);
|
||||
|
||||
print(prefsDarkMode);
|
||||
|
||||
if (prefsDarkMode == null) {
|
||||
themeMode = ThemeMode.system;
|
||||
} else {
|
||||
themeMode = prefsDarkMode ? ThemeMode.dark : ThemeMode.light;
|
||||
}
|
||||
|
||||
print(themeMode);
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
@@ -61,7 +66,6 @@ class UserProvider with ChangeNotifier {
|
||||
themeMode = mode;
|
||||
|
||||
// Save to SharedPreferences
|
||||
final prefs = SharedPreferencesAsync();
|
||||
if (themeMode == ThemeMode.system) {
|
||||
await prefs.remove(PREFS_USER_DARK_THEME);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user