blob: 3c0ef5db445df2b8f6a8826e845ecc1d034cebe0 (
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
|
import 'package:flutter/material.dart';
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<ThemeData?> getTheme() async {
switch ((await prefs).getString('theme')) {
case 'light':
return ThemeSettings.lightTheme;
case 'dark':
return ThemeSettings.darkTheme;
}
return null;
}
static void setTheme(ThemeData? theme) {
prefs.then((p) {
if (theme == ThemeSettings.lightTheme) {
p.setString('theme', 'light');
} else if (theme == ThemeSettings.darkTheme) {
p.setString('theme', 'dark');
} else {
p.remove('theme');
}
});
}
}
|