blob: 715225a7e0b48695c64e9d71901f588e508bb1cc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import 'package:shared_preferences/shared_preferences.dart';
import '../settings/themes.dart';
class Preferences {
static SharedPreferences? _prefs;
static Future<SharedPreferences> get prefs async {
_prefs ??= await SharedPreferences.getInstance();
return _prefs!;
}
static Future<ThemeEnum> getTheme() async {
switch ((await prefs).getString('theme')) {
case 'light':
return ThemeEnum.light;
case 'dark':
return ThemeEnum.dark;
}
return ThemeEnum.auto;
}
static void setTheme(ThemeEnum? theme) {
prefs.then((p) {
if (theme == ThemeEnum.light) {
p.setString('theme', 'light');
} else if (theme == ThemeEnum.dark) {
p.setString('theme', 'dark');
} else {
p.remove('theme');
}
});
}
static Future<bool> getShowOnboarding() async =>
(await prefs).getBool('show-onboarding') ?? true;
static void setShowOnboarding(bool show) {
prefs.then((p) {
p.setBool('show-onboarding', show);
});
}
}
|