aboutsummaryrefslogtreecommitdiff
path: root/lib/models/data/settings_data_class.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/data/settings_data_class.dart')
-rw-r--r--lib/models/data/settings_data_class.dart33
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;
+ });
+ }
+}