import 'dart:convert'; import 'package:kulinar_app/models/recipe_class.dart'; import 'package:kulinar_app/util/storage_handler.dart'; class RecipeData { static List remoteRecipeList = []; static List recipeList = []; static Future save() async { await StorageHandler.store("recipes", encode()); } static Future load() async { decode(await StorageHandler.fetch("recipes") ?? "[]"); } static String encode() { List> _tempList = []; recipeList.forEach((element) { Map _map = Map(); _map["title"] = element.title; _map["description"] = element.description; _map["favorite"] = element.favorite; _map["rating"] = element.rating; _map["image"] = element.image; _tempList.add(_map); }); return jsonEncode(_tempList); } static void decode(String data) { final _result = jsonDecode(data); if (_result.isEmpty) return; _result.forEach((item) { recipeList.add(Recipe( title: item["title"], description: item["description"], favorite: item["favorite"], rating: item["rating"], image: item["image"], )); }); } }