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