Add accent colour picker, fix empty user card when accepting friend request, add button to transfer allocations
All checks were successful
Release / meta (push) Successful in 8s
Release / linux-build (push) Successful in 56s
Release / web-build (push) Successful in 2m15s
Release / android-build (push) Successful in 6m47s
Release / release-master (push) Successful in 19s
Release / release-dev (push) Successful in 21s
All checks were successful
Release / meta (push) Successful in 8s
Release / linux-build (push) Successful in 56s
Release / web-build (push) Successful in 2m15s
Release / android-build (push) Successful in 6m47s
Release / release-master (push) Successful in 19s
Release / release-dev (push) Successful in 21s
This commit is contained in:
47
lib/services/theme_mode_service.dart
Normal file
47
lib/services/theme_mode_service.dart
Normal file
@@ -0,0 +1,47 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class ThemeModeService extends ChangeNotifier {
|
||||
static const _prefsKey = 'theme_mode_preference';
|
||||
|
||||
ThemeMode _mode = ThemeMode.system;
|
||||
bool _loaded = false;
|
||||
|
||||
ThemeMode get mode => _mode;
|
||||
bool get isLoaded => _loaded;
|
||||
|
||||
ThemeModeService() {
|
||||
_load();
|
||||
}
|
||||
|
||||
Future<void> _load() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final saved = prefs.getString(_prefsKey);
|
||||
if (saved != null) {
|
||||
switch (saved) {
|
||||
case 'light':
|
||||
_mode = ThemeMode.light;
|
||||
break;
|
||||
case 'dark':
|
||||
_mode = ThemeMode.dark;
|
||||
break;
|
||||
default:
|
||||
_mode = ThemeMode.system;
|
||||
}
|
||||
}
|
||||
_loaded = true;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> setMode(ThemeMode mode) async {
|
||||
_mode = mode;
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final value = switch (mode) {
|
||||
ThemeMode.light => 'light',
|
||||
ThemeMode.dark => 'dark',
|
||||
_ => 'system',
|
||||
};
|
||||
await prefs.setString(_prefsKey, value);
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user