74 lines
1.8 KiB
Dart
74 lines
1.8 KiB
Dart
import 'package:didvan/models/enums.dart';
|
|
import 'package:didvan/providers/core_provider.dart';
|
|
import 'package:didvan/services/storage/storage.dart';
|
|
|
|
class SettingsState extends CoreProvier {
|
|
SettingsState() {
|
|
getSettingsFromStorage();
|
|
}
|
|
|
|
List<String> _notificationTimeRange = [];
|
|
String _fontFamily = 'Dana-FA';
|
|
double _fontSizeScale = 1;
|
|
String _brightness = 'light';
|
|
|
|
set notificationTimeRange(List<String> value) {
|
|
_notificationTimeRange = value;
|
|
StorageService.setValue(
|
|
key: 'notificationTimeRange',
|
|
value: value,
|
|
boxName: 'settings',
|
|
);
|
|
}
|
|
|
|
List<String> get notificationTimeRange => _notificationTimeRange;
|
|
|
|
set fontFamily(String value) {
|
|
_fontFamily = value;
|
|
StorageService.setValue(
|
|
key: 'fontFamily',
|
|
value: value,
|
|
boxName: 'settings',
|
|
);
|
|
notifyListeners();
|
|
}
|
|
|
|
String get fontFamily => _fontFamily;
|
|
|
|
set fontSizeScale(double value) {
|
|
_fontSizeScale = value;
|
|
StorageService.setValue(
|
|
key: 'fontSizeScale',
|
|
value: value,
|
|
boxName: 'settings',
|
|
);
|
|
notifyListeners();
|
|
}
|
|
|
|
double get fontSizeScale => _fontSizeScale;
|
|
|
|
set brightness(String value) {
|
|
_brightness = value;
|
|
StorageService.setValue(
|
|
key: 'brightness',
|
|
value: value,
|
|
boxName: 'settings',
|
|
);
|
|
notifyListeners();
|
|
}
|
|
|
|
String get brightness => _brightness;
|
|
|
|
Future<void> getSettingsFromStorage() async {
|
|
appState = AppState.busy;
|
|
final Map settingsData = await StorageService.getBoxData(
|
|
boxName: 'settings',
|
|
);
|
|
_notificationTimeRange = settingsData['notificationTimeRange'];
|
|
_fontFamily = settingsData['fontFamily'];
|
|
_fontSizeScale = settingsData['fontSizeScale'];
|
|
_brightness = settingsData['brightness'];
|
|
appState = AppState.idle;
|
|
}
|
|
}
|