diff options
Diffstat (limited to 'lib/models/data')
-rw-r--r-- | lib/models/data/recipe_data_class.dart | 15 | ||||
-rw-r--r-- | lib/models/data/settings_data_class.dart | 2 |
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/models/data/recipe_data_class.dart b/lib/models/data/recipe_data_class.dart index fd4ef22..3f707bc 100644 --- a/lib/models/data/recipe_data_class.dart +++ b/lib/models/data/recipe_data_class.dart @@ -38,14 +38,25 @@ class RecipeData { if (_result.isEmpty) return; + recipesIdentical(Recipe a, Recipe b) { + if (a.title != b.title) return false; + if (a.description != b.description) return false; + + return true; + } + _result.forEach((item) { - recipeList.add(Recipe( + Recipe recipe = Recipe( title: item["title"], description: item["description"], favorite: item["favorite"], rating: item["rating"], image: item["image"], - )); + ); + + if (RecipeData.recipeList.where((element) => recipesIdentical(element, recipe)).isEmpty) recipeList.add(recipe); }); + + save(); } } diff --git a/lib/models/data/settings_data_class.dart b/lib/models/data/settings_data_class.dart index e8cd604..5d3de60 100644 --- a/lib/models/data/settings_data_class.dart +++ b/lib/models/data/settings_data_class.dart @@ -29,5 +29,7 @@ class SettingsData { _result.forEach((key, value) { settings[key] = value; }); + + save(); } } |