diff options
Diffstat (limited to 'lib/models/data/settings_data_class.dart')
-rw-r--r-- | lib/models/data/settings_data_class.dart | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/models/data/settings_data_class.dart b/lib/models/data/settings_data_class.dart new file mode 100644 index 0000000..e8cd604 --- /dev/null +++ b/lib/models/data/settings_data_class.dart @@ -0,0 +1,33 @@ +import 'dart:convert'; + +import 'package:kulinar_app/util/storage_handler.dart'; + +class SettingsData { + static Map<String, String> settings = { + "showPhotos": "0", + "photoSource": "1", + "serverURL": "", + }; + + static Future<void> save() async { + await StorageHandler.store("settings", encode()); + } + + static Future<void> load() async { + decode(await StorageHandler.fetch("settings") ?? "{}"); + } + + static String encode() { + return jsonEncode(settings); + } + + static void decode(String data) { + final _result = jsonDecode(data); + + if (_result.isEmpty) return; + + _result.forEach((key, value) { + settings[key] = value; + }); + } +} |