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 _notificationTimeRange = []; String _fontFamily = 'Dana-FA'; double _fontSizeScale = 1; String _brightness = 'light'; set notificationTimeRange(List value) { _notificationTimeRange = value; StorageService.setValue( key: 'notificationTimeRange', value: value, boxName: 'settings', ); } List 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 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; } }