From f0d936a8399e3412581fd75fa5f854272b59a236 Mon Sep 17 00:00:00 2001 From: Elvis Ponjevic Date: Sat, 11 Oct 2025 02:12:55 +0200 Subject: [PATCH 1/3] My updates --- index.html | 43 + script.js | 4431 ++++++++++++++++++++++++++++++++++++++++++++++++++++ styles.css | 0 3 files changed, 4474 insertions(+) create mode 100644 index.html create mode 100644 script.js create mode 100644 styles.css diff --git a/index.html b/index.html new file mode 100644 index 000000000..1e4bd628b --- /dev/null +++ b/index.html @@ -0,0 +1,43 @@ + + + + + + Document + + + +
+

Recipe library

+
+ +
+
+

Filter on kitchen

+ + + + + +
+ +
+

Sort on time

+ + + +
+
+ +
+ +
+ + + diff --git a/script.js b/script.js new file mode 100644 index 000000000..e242bcb1b --- /dev/null +++ b/script.js @@ -0,0 +1,4431 @@ +let activeSort = "ascending"; +let cuisineQueryParam = ""; +let sortQueryParam = ""; +let activeFilter = document.getElementById("filter__all"); + +function setActiveFilter(filter) { + if (activeFilter === filter) { + return; + } + // remove active class from activeFilter element + activeFilter.classList.remove("active"); + if (filter === "all") { + cuisineQueryParam = ""; + activeFilter = document.getElementById("filter__all"); + } else { + cuisineQueryParam = "&cuisine=" + filter; + activeFilter = document.getElementById(`filter__${filter}`); + } + activeFilter.className = "active"; +} + +function setActiveSort(direction) { + if (activeSort === direction) { + return; + } + sortQueryParam = `&sort=readyInMinutes&sortDirection=${direction}`; + + activeSort = document.getElementById(`sort__${decending}`); + activeSort.className = "active"; +} + +async function fetchRecipes() { + const URL = `https://api.spoonacular.com/recipes/complexSearch?fillIngredients=true&addRecipeInformation=true&apiKey=3f2445631f2d458b92fe40f9832bcc51${cuisineQueryParam}${sortQueryParam}`; + // fetch(URL) + // .then((response) => response.json()) + // .then((result) => console.log(result)) + // .catch((error) => console.error(error)); + + const recepies = response.map((recipe) => ({ + image: recipe.image, + title: recipe.title, + cuisines: recipe.cuisines, + readyInMinutes: recipe.readyInMinutes, + ingredients: recipe.extendedIngredients.map( + (ingredient) => ingredient.name + ), + })); + + return recepies; +} + +console.log(URL); + +function showCase(recepies) { + const load = document.getElementById("loading"); + + recepies.forEach((recipe) => { + const recipeCard = document.createElement("div"); + recipeCard.className = "recipe__card"; + + recipeCard.innerHTML = ` + +

${recipe.title}

+

Cuisine:${recipe.cuisines}

+

Time:${recipe.readyInMinutes}

+

Ingredients:

+ + + }); + `; + }); +} + +showCase(fetchRecipes()); + +var response = { + results: [ + { + id: 157101, + image: "https://img.spoonacular.com/recipes/157101-312x231.jpg", + imageType: "jpg", + title: "Chocolate Chai Panna Cotta", + readyInMinutes: 20, + servings: 4, + sourceUrl: "http://spoonacular.com/-1381771108088", + vegetarian: false, + vegan: false, + glutenFree: true, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 11, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 0, + healthScore: 1.0, + creditsText: "Because I Like Chocolate ", + license: "spoonacular's terms", + sourceName: "spoonacular", + pricePerServing: 47.22, + extendedIngredients: [ + { + id: 13711111, + aisle: "Tea and Coffee", + image: "tea-bags.jpg", + consistency: "SOLID", + name: "chai tea bag", + nameClean: "chai tea bag", + original: "1 chai tea bag", + originalName: "chai tea bag", + amount: 1.0, + unit: "", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 1077, + aisle: "Milk, Eggs, Other Dairy", + image: "milk.png", + consistency: "LIQUID", + name: "milk", + nameClean: "milk", + original: "2 cups milk", + originalName: "milk", + amount: 2.0, + unit: "cups", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 488.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 10099278, + aisle: "Baking", + image: "chocolate-chips.jpg", + consistency: "SOLID", + name: "milk chocolate chips", + nameClean: "milk chocolate chips", + original: "1/3 cup milk chocolate chips", + originalName: "milk chocolate chips", + amount: 0.33333334, + unit: "cup", + meta: [], + measures: { + us: { + amount: 0.33333334, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 60.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 1052050, + aisle: "Baking", + image: "vanilla.jpg", + consistency: "SOLID", + name: "vanilla", + nameClean: "vanilla", + original: "1 tsp. vanilla", + originalName: "vanilla", + amount: 1.0, + unit: "tsp", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + metric: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + }, + }, + { + id: 14412, + aisle: "Beverages", + image: "water.png", + consistency: "LIQUID", + name: "water", + nameClean: "water", + original: "3 tbsp. cold water", + originalName: "cold water", + amount: 3.0, + unit: "tbsp", + meta: ["cold"], + measures: { + us: { + amount: 3.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 3.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 10719335, + aisle: "Baking", + image: "sugar-in-bowl.png", + consistency: "SOLID", + name: "sugar", + nameClean: "sugar", + original: "1/4 cup white sugar", + originalName: "white sugar", + amount: 0.25, + unit: "cup", + meta: ["white"], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 50.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + ], + summary: + 'Chocolate Chai Panna Cotta might be just the Mediterranean recipe you are searching for. This gluten free recipe serves 4 and costs 47 cents per serving. One serving contains 199 calories, 4g of protein, and 8g of fat. Head to the store and pick up water, milk, milk chocolate chips, and a few other things to make it today. It works well as a very reasonably priced dessert. It is brought to you by spoonacular user Because I Like Chocolate . From preparation to the plate, this recipe takes roughly 20 minutes. Similar recipes include Vanilla Panna Cotta with Chocolate Ganache, Apothic Granitan and Vanilla Panna Cotta, and Durian Panna Cotta.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["dessert"], + diets: ["gluten free"], + occasions: [], + spoonacularScore: 0.717885434627533, + spoonacularSourceUrl: + "https://spoonacular.com/chocolate-chai-panna-cotta-157101", + usedIngredientCount: 0, + missedIngredientCount: 4, + missedIngredients: [ + { + id: 13711111, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Tea and Coffee", + name: "chai tea bag", + original: "1 chai tea bag", + originalName: "chai tea bag", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/tea-bags.jpg", + }, + { + id: 1077, + amount: 2.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Milk, Eggs, Other Dairy", + name: "milk", + original: "2 cups milk", + originalName: "milk", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/milk.png", + }, + { + id: 10099278, + amount: 0.33333334, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Baking", + name: "milk chocolate chips", + original: "1/3 cup milk chocolate chips", + originalName: "milk chocolate chips", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/chocolate-chips.jpg", + }, + { + id: 1052050, + amount: 1.0, + unit: "tsp", + unitLong: "teaspoon", + unitShort: "tsp", + aisle: "Baking", + name: "vanilla", + original: "1 tsp. vanilla", + originalName: "vanilla", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/vanilla.jpg", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 648155, + image: "https://img.spoonacular.com/recipes/648155-312x231.jpg", + imageType: "jpg", + title: "Italian Kale and Potato Soup", + readyInMinutes: 45, + servings: 6, + sourceUrl: + "https://www.foodista.com/recipe/54VL6QJD/italian-kale-and-potato-soup", + vegetarian: false, + vegan: false, + glutenFree: true, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 15, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 2, + healthScore: 36.0, + creditsText: "foodista.com", + license: null, + sourceName: "foodista.com", + pricePerServing: 206.4, + extendedIngredients: [ + { + id: 4053, + aisle: "Oil, Vinegar, Salad Dressing", + image: "olive-oil.jpg", + consistency: "LIQUID", + name: "olive oil", + nameClean: "olive oil", + original: "2 teaspoons olive oil", + originalName: "olive oil", + amount: 2.0, + unit: "teaspoons", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 7036, + aisle: "Meat", + image: "raw-pork-sausage.png", + consistency: "SOLID", + name: "ground turkey sausage", + nameClean: "ground turkey sausage", + original: "1 1/4 pounds ground turkey Italian sausage", + originalName: "ground turkey Italian sausage", + amount: 1.25, + unit: "pounds", + meta: ["italian"], + measures: { + us: { + amount: 1.25, + unitShort: "lb", + unitLong: "pounds", + }, + metric: { + amount: 566.99, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 11352, + aisle: "Produce", + image: "potatoes-yukon-gold.png", + consistency: "SOLID", + name: "potatoes", + nameClean: "potatoes", + original: "1 1/4 pounds potatoes", + originalName: "potatoes", + amount: 1.25, + unit: "pounds", + meta: [], + measures: { + us: { + amount: 1.25, + unitShort: "lb", + unitLong: "pounds", + }, + metric: { + amount: 566.99, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 11282, + aisle: "Produce", + image: "brown-onion.png", + consistency: "SOLID", + name: "onion", + nameClean: "onion", + original: "1 medium onion, chopped", + originalName: "onion, chopped", + amount: 1.0, + unit: "medium", + meta: ["chopped"], + measures: { + us: { + amount: 1.0, + unitShort: "medium", + unitLong: "medium", + }, + metric: { + amount: 1.0, + unitShort: "medium", + unitLong: "medium", + }, + }, + }, + { + id: 11215, + aisle: "Produce", + image: "garlic.png", + consistency: "SOLID", + name: "garlic", + nameClean: "garlic", + original: "3 cloves garlic, minced", + originalName: "garlic, minced", + amount: 3.0, + unit: "cloves", + meta: ["minced"], + measures: { + us: { + amount: 3.0, + unitShort: "cloves", + unitLong: "cloves", + }, + metric: { + amount: 3.0, + unitShort: "cloves", + unitLong: "cloves", + }, + }, + }, + { + id: 11233, + aisle: "Produce", + image: "kale.jpg", + consistency: "SOLID", + name: "kale", + nameClean: "kale", + original: + "1 bunch kale washed, stems removed and chopped into pieces", + originalName: "kale washed, stems removed and chopped into pieces", + amount: 1.0, + unit: "bunch", + meta: ["washed", "chopped"], + measures: { + us: { + amount: 1.0, + unitShort: "bunch", + unitLong: "bunch", + }, + metric: { + amount: 1.0, + unitShort: "bunch", + unitLong: "bunch", + }, + }, + }, + { + id: 6970, + aisle: "Canned and Jarred", + image: "chicken-broth.png", + consistency: "LIQUID", + name: "chicken broth", + nameClean: "chicken broth", + original: "6 cups low-sodium chicken broth", + originalName: "low-sodium chicken broth", + amount: 6.0, + unit: "cups", + meta: ["low-sodium"], + measures: { + us: { + amount: 6.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 1.416, + unitShort: "l", + unitLong: "liters", + }, + }, + }, + { + id: 2003, + aisle: "Spices and Seasonings", + image: "basil.jpg", + consistency: "SOLID", + name: "basil", + nameClean: "basil", + original: "2 teaspoons dried basil", + originalName: "dried basil", + amount: 2.0, + unit: "teaspoons", + meta: ["dried"], + measures: { + us: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 2027, + aisle: "Spices and Seasonings", + image: "oregano.jpg", + consistency: "SOLID", + name: "oregano", + nameClean: "oregano", + original: "2 teaspoons dried oregano", + originalName: "dried oregano", + amount: 2.0, + unit: "teaspoons", + meta: ["dried"], + measures: { + us: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 2018, + aisle: "Spices and Seasonings", + image: "fennel-seeds.jpg", + consistency: "SOLID", + name: "fennel seed", + nameClean: "fennel seed", + original: "2 teaspoons crushed fennel seed", + originalName: "crushed fennel seed", + amount: 2.0, + unit: "teaspoons", + meta: ["crushed"], + measures: { + us: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 1088, + aisle: "Milk, Eggs, Other Dairy", + image: "buttermilk.jpg", + consistency: "SOLID", + name: "buttermilk", + nameClean: "buttermilk", + original: "1/2 cup low-fat buttermilk", + originalName: "low-fat buttermilk", + amount: 0.5, + unit: "cup", + meta: ["low-fat"], + measures: { + us: { + amount: 0.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 120.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 1002030, + aisle: "Spices and Seasonings", + image: "pepper.jpg", + consistency: "SOLID", + name: "ground pepper", + nameClean: "ground pepper", + original: "fresh ground pepper to taste", + originalName: "fresh ground pepper to taste", + amount: 6.0, + unit: "servings", + meta: ["fresh", "to taste"], + measures: { + us: { + amount: 6.0, + unitShort: "servings", + unitLong: "servings", + }, + metric: { + amount: 6.0, + unitShort: "servings", + unitLong: "servings", + }, + }, + }, + { + id: 11233, + aisle: "Produce", + image: "kale.jpg", + consistency: "SOLID", + name: "kale", + nameClean: "kale", + original: "Kale", + originalName: "Kale", + amount: 6.0, + unit: "servings", + meta: [], + measures: { + us: { + amount: 6.0, + unitShort: "servings", + unitLong: "servings", + }, + metric: { + amount: 6.0, + unitShort: "servings", + unitLong: "servings", + }, + }, + }, + { + id: -1, + aisle: "?", + image: null, + consistency: "SOLID", + name: "to", + nameClean: "to", + original: "1/4 cup to ½ shredded pecorino", + originalName: "to ½ shredded pecorino", + amount: 0.25, + unit: "cup", + meta: ["shredded"], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 59.147, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: -1, + aisle: "?", + image: null, + consistency: "SOLID", + name: "to", + nameClean: "to", + original: "1/4 cup to ½ shredded pecorino", + originalName: "to ½ shredded pecorino", + amount: 0.25, + unit: "cup", + meta: ["shredded"], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 59.147, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + ], + summary: + 'Italian Kale and Potato Soup is a gluten free and whole 30 recipe with 6 servings. This main course has 480 calories, 22g of protein, and 33g of fat per serving. For $2.06 per serving, this recipe covers 26% of your daily requirements of vitamins and minerals. 2 people have made this recipe and would make it again. If you have oregano, ground turkey sausage, chicken broth, and a few other ingredients on hand, you can make it. It can be enjoyed any time, but it is especially good for Autumn. Not a lot of people really liked this Mediterranean dish. It is brought to you by Foodista. From preparation to the plate, this recipe takes roughly 45 minutes. All things considered, we decided this recipe deserves a spoonacular score of 80%. This score is great. Similar recipes are Italian Kale and Potato Soup, Zuppa Vegana: Italian Potato, Bean, and Kale Soup, and Zuppa Toscana {Creamy Potato & Kale Soup with Italian Sausage}.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["soup", "lunch", "main course", "main dish", "dinner"], + diets: ["gluten free", "whole 30"], + occasions: ["fall", "winter"], + spoonacularScore: 79.62730407714844, + spoonacularSourceUrl: + "https://spoonacular.com/italian-kale-and-potato-soup-648155", + usedIngredientCount: 0, + missedIngredientCount: 10, + missedIngredients: [ + { + id: 7036, + amount: 1.25, + unit: "pounds", + unitLong: "pounds", + unitShort: "lb", + aisle: "Meat", + name: "ground turkey sausage", + original: "1 1/4 pounds ground turkey Italian sausage", + originalName: "ground turkey Italian sausage", + meta: ["italian"], + extendedName: "italian ground turkey sausage", + image: + "https://img.spoonacular.com/ingredients_100x100/raw-pork-sausage.png", + }, + { + id: 11352, + amount: 1.25, + unit: "pounds", + unitLong: "pounds", + unitShort: "lb", + aisle: "Produce", + name: "potatoes", + original: "1 1/4 pounds potatoes", + originalName: "potatoes", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/potatoes-yukon-gold.png", + }, + { + id: 11282, + amount: 1.0, + unit: "medium", + unitLong: "medium", + unitShort: "medium", + aisle: "Produce", + name: "onion", + original: "1 medium onion, chopped", + originalName: "onion, chopped", + meta: ["chopped"], + image: + "https://img.spoonacular.com/ingredients_100x100/brown-onion.png", + }, + { + id: 11215, + amount: 3.0, + unit: "cloves", + unitLong: "cloves", + unitShort: "cloves", + aisle: "Produce", + name: "garlic", + original: "3 cloves garlic, minced", + originalName: "garlic, minced", + meta: ["minced"], + image: "https://img.spoonacular.com/ingredients_100x100/garlic.png", + }, + { + id: 11233, + amount: 1.0, + unit: "bunch", + unitLong: "bunch", + unitShort: "bunch", + aisle: "Produce", + name: "kale", + original: + "1 bunch kale washed, stems removed and chopped into pieces", + originalName: "kale washed, stems removed and chopped into pieces", + meta: ["washed", "chopped"], + image: "https://img.spoonacular.com/ingredients_100x100/kale.jpg", + }, + { + id: 6970, + amount: 6.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Canned and Jarred", + name: "chicken broth", + original: "6 cups low-sodium chicken broth", + originalName: "low-sodium chicken broth", + meta: ["low-sodium"], + extendedName: "low sodium chicken broth", + image: + "https://img.spoonacular.com/ingredients_100x100/chicken-broth.png", + }, + { + id: 2003, + amount: 2.0, + unit: "teaspoons", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Spices and Seasonings", + name: "basil", + original: "2 teaspoons dried basil", + originalName: "dried basil", + meta: ["dried"], + extendedName: "dried basil", + image: "https://img.spoonacular.com/ingredients_100x100/basil.jpg", + }, + { + id: 2027, + amount: 2.0, + unit: "teaspoons", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Spices and Seasonings", + name: "oregano", + original: "2 teaspoons dried oregano", + originalName: "dried oregano", + meta: ["dried"], + extendedName: "dried oregano", + image: "https://img.spoonacular.com/ingredients_100x100/oregano.jpg", + }, + { + id: 2018, + amount: 2.0, + unit: "teaspoons", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Spices and Seasonings", + name: "fennel seed", + original: "2 teaspoons crushed fennel seed", + originalName: "crushed fennel seed", + meta: ["crushed"], + image: + "https://img.spoonacular.com/ingredients_100x100/fennel-seeds.jpg", + }, + { + id: 1088, + amount: 0.5, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Milk, Eggs, Other Dairy", + name: "buttermilk", + original: "1/2 cup low-fat buttermilk", + originalName: "low-fat buttermilk", + meta: ["low-fat"], + extendedName: "low fat buttermilk", + image: + "https://img.spoonacular.com/ingredients_100x100/buttermilk.jpg", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 1697783, + image: "https://img.spoonacular.com/recipes/1697783-312x231.jpg", + imageType: "jpg", + title: "Tiramisu Overnight Oats", + readyInMinutes: 5, + servings: 1, + sourceUrl: "https://maplewoodroad.com/tiramisu-overnight-oats/", + vegetarian: true, + vegan: false, + glutenFree: true, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 21, + gaps: "no", + preparationMinutes: 5, + cookingMinutes: 0, + aggregateLikes: 0, + healthScore: 14.0, + creditsText: "maplewoodroad", + license: "spoonacular's terms", + sourceName: "Maplewood Road", + pricePerServing: 241.01, + extendedIngredients: [ + { + id: 8120, + aisle: "Cereal", + image: "rolled-oats.jpg", + consistency: "SOLID", + name: "old fashioned rolled oats", + nameClean: "old fashioned rolled oats", + original: "1/2 c old fashioned rolled oats", + originalName: "old fashioned rolled oats", + amount: 0.5, + unit: "c", + meta: [], + measures: { + us: { + amount: 0.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 40.541, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 12006, + aisle: "Health Foods", + image: "chia-seeds.jpg", + consistency: "SOLID", + name: "chia seeds", + nameClean: "chia seeds", + original: "1-1/2 tsp chia seeds", + originalName: "chia seeds", + amount: 1.5, + unit: "tsp", + meta: [], + measures: { + us: { + amount: 1.5, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 1.5, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 19911, + aisle: "Cereal", + image: "maple-syrup.png", + consistency: "LIQUID", + name: "honey", + nameClean: "honey", + original: + "2 Tbsp honey, divided (or substitute agave or maple syrup instead)", + originalName: + "honey, divided (or substitute agave or maple syrup instead)", + amount: 2.0, + unit: "Tbsp", + meta: ["divided", "(or substitute agave or maple syrup instead)"], + measures: { + us: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 2050, + aisle: "Baking", + image: "vanilla-extract.jpg", + consistency: "LIQUID", + name: "vanilla extract", + nameClean: "vanilla extract", + original: "1/4 tsp vanilla extract", + originalName: "vanilla extract", + amount: 0.25, + unit: "tsp", + meta: [], + measures: { + us: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 1077, + aisle: "Milk, Eggs, Other Dairy", + image: "milk.png", + consistency: "LIQUID", + name: "milk", + nameClean: "milk", + original: "6 Tbsp milk", + originalName: "milk", + amount: 6.0, + unit: "Tbsp", + meta: [], + measures: { + us: { + amount: 6.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 6.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 10014209, + aisle: "Tea and Coffee", + image: "brewed-coffee.jpg", + consistency: "SOLID", + name: "strong coffee", + nameClean: "strong coffee", + original: "1/4 c espresso or strong brewed coffee", + originalName: "espresso or strong brewed coffee", + amount: 0.25, + unit: "c", + meta: ["brewed"], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 59.25, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 1001256, + aisle: "Milk, Eggs, Other Dairy", + image: "white-cream.png", + consistency: "LIQUID", + name: "greek yogurt", + nameClean: "greek yogurt", + original: "1/2 c plain Greek yogurt", + originalName: "plain Greek yogurt", + amount: 0.5, + unit: "c", + meta: ["plain"], + measures: { + us: { + amount: 0.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 100.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 93820, + aisle: "Cheese", + image: "white-cream-fluffy.jpg", + consistency: "SOLID", + name: "mascarpone cheese", + nameClean: "mascarpone cheese", + original: "2 Tbsp mascarpone cheese", + originalName: "mascarpone cheese", + amount: 2.0, + unit: "Tbsp", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 19165, + aisle: "Baking", + image: "cocoa-powder.png", + consistency: "SOLID", + name: "cocoa powder", + nameClean: "cocoa powder", + original: "1 tsp cocoa powder", + originalName: "cocoa powder", + amount: 1.0, + unit: "tsp", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + metric: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + }, + }, + { + id: 19165, + aisle: "Baking", + image: "cocoa-powder.png", + consistency: "SOLID", + name: "chocolate & extra cocoa powder", + nameClean: "chocolate & extra cocoa powder", + original: "Shaved chocolate & extra cocoa powder for garnish", + originalName: "Shaved chocolate & extra cocoa powder for garnish", + amount: 1.0, + unit: "serving", + meta: ["shaved", "for garnish"], + measures: { + us: { + amount: 1.0, + unitShort: "serving", + unitLong: "serving", + }, + metric: { + amount: 1.0, + unitShort: "serving", + unitLong: "serving", + }, + }, + }, + ], + summary: + 'You can never have too many Mediterranean recipes, so give Tiramisu Overnight Oats a try. One portion of this dish contains about 22g of protein, 22g of fat, and a total of 549 calories. For $2.41 per serving, this recipe covers 22% of your daily requirements of vitamins and minerals. This recipe serves 1. From preparation to the plate, this recipe takes approximately 5 minutes. It works well as a breakfast. It is a good option if you\'re following a gluten free and lacto ovo vegetarian diet. This recipe from spoonacular user maplewoodroad requires greek yogurt, chia seeds, honey, and vanillan extract. Similar recipes are 5 Ways to Top Your Overnight Oats + Vanilla Bean Overnight Oat, 5 Ways to Top Your Overnight Oats + Vanilla Bean Overnight Oat, and Overnight Oats.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["morning meal", "brunch", "breakfast"], + diets: ["gluten free", "lacto ovo vegetarian"], + occasions: [], + spoonacularScore: 19.803884506225586, + spoonacularSourceUrl: + "https://spoonacular.com/tiramisu-overnight-oats-1697783", + usedIngredientCount: 0, + missedIngredientCount: 9, + missedIngredients: [ + { + id: 8120, + amount: 0.5, + unit: "c", + unitLong: "cups", + unitShort: "cup", + aisle: "Cereal", + name: "old fashioned rolled oats", + original: "1/2 c old fashioned rolled oats", + originalName: "old fashioned rolled oats", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/rolled-oats.jpg", + }, + { + id: 12006, + amount: 1.5, + unit: "tsp", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Health Foods", + name: "chia seeds", + original: "1-1/2 tsp chia seeds", + originalName: "chia seeds", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/chia-seeds.jpg", + }, + { + id: 19911, + amount: 2.0, + unit: "Tbsp", + unitLong: "Tbsps", + unitShort: "Tbsp", + aisle: "Cereal", + name: "honey", + original: + "2 Tbsp honey, divided (or substitute agave or maple syrup instead)", + originalName: + "honey, divided (or substitute agave or maple syrup instead)", + meta: ["divided", "(or substitute agave or maple syrup instead)"], + image: + "https://img.spoonacular.com/ingredients_100x100/maple-syrup.png", + }, + { + id: 2050, + amount: 0.25, + unit: "tsp", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Baking", + name: "vanilla extract", + original: "1/4 tsp vanilla extract", + originalName: "vanilla extract", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/vanilla-extract.jpg", + }, + { + id: 1077, + amount: 6.0, + unit: "Tbsp", + unitLong: "Tbsps", + unitShort: "Tbsp", + aisle: "Milk, Eggs, Other Dairy", + name: "milk", + original: "6 Tbsp milk", + originalName: "milk", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/milk.png", + }, + { + id: 10014209, + amount: 0.25, + unit: "c", + unitLong: "cups", + unitShort: "cup", + aisle: "Tea and Coffee", + name: "strong coffee", + original: "1/4 c espresso or strong brewed coffee", + originalName: "espresso or strong brewed coffee", + meta: ["brewed"], + image: + "https://img.spoonacular.com/ingredients_100x100/brewed-coffee.jpg", + }, + { + id: 1001256, + amount: 0.5, + unit: "c", + unitLong: "cups", + unitShort: "cup", + aisle: "Milk, Eggs, Other Dairy", + name: "greek yogurt", + original: "1/2 c plain Greek yogurt", + originalName: "plain Greek yogurt", + meta: ["plain"], + extendedName: "plain greek yogurt", + image: + "https://img.spoonacular.com/ingredients_100x100/white-cream.png", + }, + { + id: 93820, + amount: 2.0, + unit: "Tbsp", + unitLong: "Tbsps", + unitShort: "Tbsp", + aisle: "Cheese", + name: "mascarpone cheese", + original: "2 Tbsp mascarpone cheese", + originalName: "mascarpone cheese", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/white-cream-fluffy.jpg", + }, + { + id: 19165, + amount: 1.0, + unit: "tsp", + unitLong: "teaspoon", + unitShort: "tsp", + aisle: "Baking", + name: "cocoa powder", + original: "1 tsp cocoa powder", + originalName: "cocoa powder", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/cocoa-powder.png", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 654571, + image: "https://img.spoonacular.com/recipes/654571-312x231.jpg", + imageType: "jpg", + title: "Panna Cotta with Raspberry and Orange Sauce", + readyInMinutes: 45, + servings: 6, + sourceUrl: + "https://www.foodista.com/recipe/K62J5T4T/panna-cotta-with-raspberry-and-orange-sauce", + vegetarian: false, + vegan: false, + glutenFree: true, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 18, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 18, + healthScore: 3.0, + creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", + license: "CC BY 3.0", + sourceName: "Foodista", + pricePerServing: 143.08, + extendedIngredients: [ + { + id: 1049, + aisle: "Milk, Eggs, Other Dairy", + image: "fluid-cream.jpg", + consistency: "SOLID", + name: "half and half", + nameClean: "half and half", + original: "4 cups of half and half", + originalName: "half and half", + amount: 4.0, + unit: "cups", + meta: [], + measures: { + us: { + amount: 4.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 968.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 93820, + aisle: "Cheese", + image: "white-cream-fluffy.jpg", + consistency: "SOLID", + name: "mascarpone", + nameClean: "mascarpone", + original: "1/2 cup mascarpone", + originalName: "mascarpone", + amount: 0.5, + unit: "cup", + meta: [], + measures: { + us: { + amount: 0.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 112.5, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 19335, + aisle: "Baking", + image: "sugar-in-bowl.png", + consistency: "SOLID", + name: "sugar", + nameClean: "sugar", + original: "1/2 cup sugar", + originalName: "sugar", + amount: 0.5, + unit: "cup", + meta: [], + measures: { + us: { + amount: 0.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 100.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 1052050, + aisle: "Baking", + image: "vanilla.jpg", + consistency: "SOLID", + name: "vanilla", + nameClean: "vanilla", + original: "1-1/2 teaspoons vanilla", + originalName: "vanilla", + amount: 1.5, + unit: "teaspoons", + meta: [], + measures: { + us: { + amount: 1.5, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 1.5, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 19177, + aisle: "Baking", + image: "gelatin-powder.jpg", + consistency: "SOLID", + name: "powdered gelatin", + nameClean: "powdered gelatin", + original: "1 tablespoon powdered unflavored gelatin", + originalName: "powdered unflavored gelatin", + amount: 1.0, + unit: "tablespoon", + meta: ["unflavored"], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 9216, + aisle: "Produce", + image: "orange-zest.png", + consistency: "SOLID", + name: "orange zest", + nameClean: "orange zest", + original: "Zest from 1 orange", + originalName: "Zest from orange", + amount: 1.0, + unit: "", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 9302, + aisle: "Produce", + image: "raspberries.jpg", + consistency: "SOLID", + name: "raspberries", + nameClean: "raspberries", + original: "2 cups fresh raspberries (or frozen, thawed)", + originalName: "fresh raspberries (or frozen, thawed)", + amount: 2.0, + unit: "cups", + meta: ["fresh", "frozen", "thawed", "(or , )"], + measures: { + us: { + amount: 2.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 240.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 9206, + aisle: "Beverages", + image: "orange-juice.jpg", + consistency: "LIQUID", + name: "orange juice", + nameClean: "orange juice", + original: "2 teaspoons orange juice", + originalName: "orange juice", + amount: 2.0, + unit: "teaspoons", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 2.0, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 19336, + aisle: "Baking", + image: "powdered-sugar.jpg", + consistency: "SOLID", + name: "confectioners sugar", + nameClean: "confectioners sugar", + original: "1-2 tablespoons confectioners sugar", + originalName: "confectioners sugar", + amount: 1.0, + unit: "tablespoons", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + ], + summary: + 'Panna Cotta with Raspberry and Orange Sauce is a dessert that serves 6. One serving contains 396 calories, 8g of protein, and 27g of fat. For $1.43 per serving, this recipe covers 8% of your daily requirements of vitamins and minerals. It is a good option if you\'re following a gluten free diet. This recipe from Foodista has 18 fans. A few people really liked this Mediterranean dish. If you have half and half, orange juice, vanilla, and a few other ingredients on hand, you can make it. From preparation to the plate, this recipe takes around 45 minutes. Overall, this recipe earns a rather bad spoonacular score of 34%. If you like this recipe, you might also like recipes such as Ghostly Panna Cottas with Ghastly Sauce(Panna Cotta with Cranberry-Orange Sauce), Panna Cotta With Raspberry Sauce, and Daring Bakers’ Challenge: Vanilla Bean & Blood Orange Panna Cotta with Orange Allspice Caramel Sauce and Orange Cardamom Hazelnut Dark Chocolate Florentines (gluten free).', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["dessert"], + diets: ["gluten free"], + occasions: [], + spoonacularScore: 42.345664978027344, + spoonacularSourceUrl: + "https://spoonacular.com/panna-cotta-with-raspberry-and-orange-sauce-654571", + usedIngredientCount: 0, + missedIngredientCount: 7, + missedIngredients: [ + { + id: 1049, + amount: 4.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Milk, Eggs, Other Dairy", + name: "half and half", + original: "4 cups of half and half", + originalName: "half and half", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/fluid-cream.jpg", + }, + { + id: 93820, + amount: 0.5, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Cheese", + name: "mascarpone", + original: "1/2 cup mascarpone", + originalName: "mascarpone", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/white-cream-fluffy.jpg", + }, + { + id: 1052050, + amount: 1.5, + unit: "teaspoons", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Baking", + name: "vanilla", + original: "1-1/2 teaspoons vanilla", + originalName: "vanilla", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/vanilla.jpg", + }, + { + id: 19177, + amount: 1.0, + unit: "tablespoon", + unitLong: "tablespoon", + unitShort: "Tbsp", + aisle: "Baking", + name: "powdered gelatin", + original: "1 tablespoon powdered unflavored gelatin", + originalName: "powdered unflavored gelatin", + meta: ["unflavored"], + extendedName: "unflavored powdered gelatin", + image: + "https://img.spoonacular.com/ingredients_100x100/gelatin-powder.jpg", + }, + { + id: 9216, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Produce", + name: "orange zest", + original: "Zest from 1 orange", + originalName: "Zest from orange", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/orange-zest.png", + }, + { + id: 9302, + amount: 2.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Produce", + name: "raspberries", + original: "2 cups fresh raspberries (or frozen, thawed)", + originalName: "fresh raspberries (or frozen, thawed)", + meta: ["fresh", "frozen", "thawed", "(or , )"], + extendedName: "fresh raspberries", + image: + "https://img.spoonacular.com/ingredients_100x100/raspberries.jpg", + }, + { + id: 9206, + amount: 2.0, + unit: "teaspoons", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Beverages", + name: "orange juice", + original: "2 teaspoons orange juice", + originalName: "orange juice", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/orange-juice.jpg", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 661427, + image: "https://img.spoonacular.com/recipes/661427-312x231.jpg", + imageType: "jpg", + title: "Spring Risotto with Shrimp, Asparagus and Artichoke Hearts", + readyInMinutes: 45, + servings: 4, + sourceUrl: + "https://www.foodista.com/recipe/F5CM7K6N/spring-risotto-with-shrimp-asparagus-and-artichoke-hearts", + vegetarian: false, + vegan: false, + glutenFree: true, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 10, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 1, + healthScore: 7.0, + creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", + license: "CC BY 3.0", + sourceName: "Foodista", + pricePerServing: 250.8, + extendedIngredients: [ + { + id: 6615, + aisle: "Canned and Jarred", + image: "chicken-broth.png", + consistency: "LIQUID", + name: "vegetable broth", + nameClean: "vegetable broth", + original: "2½ cups chicken or vegetable broth (you may not need all)", + originalName: "chicken or vegetable broth (you may not need all)", + amount: 2.5, + unit: "cups", + meta: ["(you may not need all)"], + measures: { + us: { + amount: 2.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 587.5, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 1145, + aisle: "Milk, Eggs, Other Dairy", + image: "butter-sliced.jpg", + consistency: "SOLID", + name: "butter", + nameClean: "butter", + original: "1 tablespoon unsalted butter", + originalName: "unsalted butter", + amount: 1.0, + unit: "tablespoon", + meta: ["unsalted"], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 11677, + aisle: "Produce", + image: "shallots.jpg", + consistency: "SOLID", + name: "shallot", + nameClean: "shallot", + original: "1 shallot, minced", + originalName: "shallot, minced", + amount: 1.0, + unit: "", + meta: ["minced"], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 11215, + aisle: "Produce", + image: "garlic.png", + consistency: "SOLID", + name: "garlic glove", + nameClean: "garlic glove", + original: "1 garlic glove, minced", + originalName: "garlic glove, minced", + amount: 1.0, + unit: "", + meta: ["minced"], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 10020052, + aisle: "Pasta and Rice", + image: "uncooked-white-rice.png", + consistency: "SOLID", + name: "arborio rice", + nameClean: "arborio rice", + original: "1½ cups arborio rice", + originalName: "arborio rice", + amount: 1.5, + unit: "cups", + meta: [], + measures: { + us: { + amount: 1.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 300.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 14106, + aisle: "Alcoholic Beverages", + image: "white-wine.jpg", + consistency: "LIQUID", + name: "wine", + nameClean: "wine", + original: "¼ cup dry white wine (I used chardonnay)", + originalName: "dry white wine (I used chardonnay)", + amount: 0.25, + unit: "cup", + meta: ["dry white", "(I used chardonnay)"], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 60.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 11011, + aisle: "Produce", + image: "asparagus.png", + consistency: "SOLID", + name: "asparagus", + nameClean: "asparagus", + original: "½ cup asparagus, chopped", + originalName: "asparagus, chopped", + amount: 0.5, + unit: "cup", + meta: ["chopped"], + measures: { + us: { + amount: 0.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 67.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 11304, + aisle: "Produce", + image: "peas.jpg", + consistency: "SOLID", + name: "peas", + nameClean: "peas", + original: "¼ cup peas", + originalName: "peas", + amount: 0.25, + unit: "cup", + meta: [], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 36.25, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 99242, + aisle: "Produce", + image: "artichoke-hearts.png", + consistency: "SOLID", + name: "artichoke hearts", + nameClean: "artichoke hearts", + original: "¼ cup artichoke hearts", + originalName: "artichoke hearts", + amount: 0.25, + unit: "cup", + meta: [], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 132.25, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 15270, + aisle: "Seafood", + image: "shrimp.png", + consistency: "SOLID", + name: "shrimp", + nameClean: "shrimp", + original: "10-15 shrimp, peeled & deveined", + originalName: "shrimp, peeled & deveined", + amount: 10.0, + unit: "", + meta: ["deveined", "peeled"], + measures: { + us: { + amount: 10.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 10.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 9156, + aisle: "Produce", + image: "zest-lemon.jpg", + consistency: "SOLID", + name: "lemon zest", + nameClean: "lemon zest", + original: "1 tablespoon lemon zest (a small lemon)", + originalName: "lemon zest (a small lemon)", + amount: 1.0, + unit: "tablespoon", + meta: ["(a small lemon)"], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 1032, + aisle: "Cheese", + image: "parmesan.jpg", + consistency: "SOLID", + name: "parmesan cheese", + nameClean: "parmesan cheese", + original: "¼ cup freshly grated Parmesan cheese", + originalName: "freshly grated Parmesan cheese", + amount: 0.25, + unit: "cup", + meta: ["freshly grated"], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 25.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 1102047, + aisle: "Spices and Seasonings", + image: "salt-and-pepper.jpg", + consistency: "SOLID", + name: "salt and pepper", + nameClean: "salt and pepper", + original: "Salt and pepper, to taste", + originalName: "Salt and pepper, to taste", + amount: 4.0, + unit: "servings", + meta: ["to taste"], + measures: { + us: { + amount: 4.0, + unitShort: "servings", + unitLong: "servings", + }, + metric: { + amount: 4.0, + unitShort: "servings", + unitLong: "servings", + }, + }, + }, + ], + summary: + 'If you want to add more gluten free and pescatarian recipes to your collection, Spring Risotto with Shrimp, Asparagus and Artichoke Hearts might be a recipe you should try. This recipe makes 4 servings with 385 calories, 13g of protein, and 5g of fat each. For $2.51 per serving, this recipe covers 14% of your daily requirements of vitamins and minerals. A mixture of parmesan cheese, salt and pepper, garlic glove, and a handful of other ingredients are all it takes to make this recipe so yummy. 1 person has made this recipe and would make it again. This recipe is typical of Mediterranean cuisine. It works well as a main course. From preparation to the plate, this recipe takes around 45 minutes. It will be a hit at your Spring event. It is brought to you by Foodista. All things considered, we decided this recipe deserves a spoonacular score of 41%. This score is good. If you like this recipe, take a look at these similar recipes: Spring Risotto with Shrimp, Asparagus and Artichoke Hearts, Kumquat\'s Spring Pizza With Asparagus and Artichoke Hearts, and Risotto With Artichoke Hearts And Lemon.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["side dish", "lunch", "main course", "main dish", "dinner"], + diets: ["gluten free", "pescatarian"], + occasions: ["spring", "easter"], + spoonacularScore: 46.86799621582031, + spoonacularSourceUrl: + "https://spoonacular.com/spring-risotto-with-shrimp-asparagus-and-artichoke-hearts-661427", + usedIngredientCount: 0, + missedIngredientCount: 12, + missedIngredients: [ + { + id: 6615, + amount: 2.5, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Canned and Jarred", + name: "vegetable broth", + original: "2½ cups chicken or vegetable broth (you may not need all)", + originalName: "chicken or vegetable broth (you may not need all)", + meta: ["(you may not need all)"], + image: + "https://img.spoonacular.com/ingredients_100x100/chicken-broth.png", + }, + { + id: 1145, + amount: 1.0, + unit: "tablespoon", + unitLong: "tablespoon", + unitShort: "Tbsp", + aisle: "Milk, Eggs, Other Dairy", + name: "butter", + original: "1 tablespoon unsalted butter", + originalName: "unsalted butter", + meta: ["unsalted"], + extendedName: "unsalted butter", + image: + "https://img.spoonacular.com/ingredients_100x100/butter-sliced.jpg", + }, + { + id: 11677, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Produce", + name: "shallot", + original: "1 shallot, minced", + originalName: "shallot, minced", + meta: ["minced"], + image: "https://img.spoonacular.com/ingredients_100x100/shallots.jpg", + }, + { + id: 11215, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Produce", + name: "garlic glove", + original: "1 garlic glove, minced", + originalName: "garlic glove, minced", + meta: ["minced"], + image: "https://img.spoonacular.com/ingredients_100x100/garlic.png", + }, + { + id: 10020052, + amount: 1.5, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Pasta and Rice", + name: "arborio rice", + original: "1½ cups arborio rice", + originalName: "arborio rice", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/uncooked-white-rice.png", + }, + { + id: 14106, + amount: 0.25, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Alcoholic Beverages", + name: "wine", + original: "¼ cup dry white wine (I used chardonnay)", + originalName: "dry white wine (I used chardonnay)", + meta: ["dry white", "(I used chardonnay)"], + extendedName: "dry white wine", + image: + "https://img.spoonacular.com/ingredients_100x100/white-wine.jpg", + }, + { + id: 11011, + amount: 0.5, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Produce", + name: "asparagus", + original: "½ cup asparagus, chopped", + originalName: "asparagus, chopped", + meta: ["chopped"], + image: + "https://img.spoonacular.com/ingredients_100x100/asparagus.png", + }, + { + id: 11304, + amount: 0.25, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Produce", + name: "peas", + original: "¼ cup peas", + originalName: "peas", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/peas.jpg", + }, + { + id: 99242, + amount: 0.25, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Produce", + name: "artichoke hearts", + original: "¼ cup artichoke hearts", + originalName: "artichoke hearts", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/artichoke-hearts.png", + }, + { + id: 15270, + amount: 10.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Seafood", + name: "shrimp", + original: "10-15 shrimp, peeled & deveined", + originalName: "shrimp, peeled & deveined", + meta: ["deveined", "peeled"], + image: "https://img.spoonacular.com/ingredients_100x100/shrimp.png", + }, + { + id: 9156, + amount: 1.0, + unit: "tablespoon", + unitLong: "tablespoon", + unitShort: "Tbsp", + aisle: "Produce", + name: "lemon zest", + original: "1 tablespoon lemon zest (a small lemon)", + originalName: "lemon zest (a small lemon)", + meta: ["(a small lemon)"], + image: + "https://img.spoonacular.com/ingredients_100x100/zest-lemon.jpg", + }, + { + id: 1032, + amount: 0.25, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Cheese", + name: "parmesan cheese", + original: "¼ cup freshly grated Parmesan cheese", + originalName: "freshly grated Parmesan cheese", + meta: ["freshly grated"], + image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 632445, + image: "https://img.spoonacular.com/recipes/632445-312x231.jpg", + imageType: "jpg", + title: "Apothic Granita and Vanilla Panna Cotta", + readyInMinutes: 45, + servings: 6, + sourceUrl: + "http://www.foodista.com/recipe/CWV34WHV/apothic-granita-vanilla-panna-cotta", + vegetarian: false, + vegan: false, + glutenFree: true, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 24, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 5, + healthScore: 1.0, + creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", + license: "CC BY 3.0", + sourceName: "Foodista", + pricePerServing: 260.44, + extendedIngredients: [ + { + id: 1022030, + aisle: "Spices and Seasonings", + image: "black-pepper.png", + consistency: "SOLID", + name: "peppercorns", + nameClean: "peppercorns", + original: "4 black peppercorns", + originalName: "black peppercorns", + amount: 4.0, + unit: "", + meta: ["black"], + measures: { + us: { + amount: 4.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 4.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 14034, + aisle: "Alcoholic Beverages", + image: "green-liqueur.png", + consistency: "SOLID", + name: "crème de cassis liqueur", + nameClean: "crème de cassis liqueur", + original: "2 tablespoons crème de cassis liqueur", + originalName: "crème de cassis liqueur", + amount: 2.0, + unit: "tablespoons", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 2063, + aisle: "Produce", + image: "rosemary.jpg", + consistency: "SOLID", + name: "rosemary", + nameClean: "rosemary", + original: "1 sprig fresh rosemary", + originalName: "fresh rosemary", + amount: 1.0, + unit: "sprig", + meta: ["fresh"], + measures: { + us: { + amount: 1.0, + unitShort: "sprig", + unitLong: "sprig", + }, + metric: { + amount: 1.0, + unitShort: "sprig", + unitLong: "sprig", + }, + }, + }, + { + id: 19177, + aisle: "Baking", + image: "gelatin-powder.jpg", + consistency: "SOLID", + name: "knox powdered gelatin", + nameClean: "knox powdered gelatin", + original: "4 1/2 teaspoons Knox unflavored powdered gelatin", + originalName: "Knox unflavored powdered gelatin", + amount: 4.5, + unit: "teaspoons", + meta: ["unflavored"], + measures: { + us: { + amount: 4.5, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 4.5, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 1049, + aisle: "Milk, Eggs, Other Dairy", + image: "fluid-cream.jpg", + consistency: "SOLID", + name: "half and half", + nameClean: "half and half", + original: "2 cups half and half", + originalName: "half and half", + amount: 2.0, + unit: "cups", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 484.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 1053, + aisle: "Milk, Eggs, Other Dairy", + image: "fluid-cream.jpg", + consistency: "LIQUID", + name: "heavy cream", + nameClean: "heavy cream", + original: "2 cups heavy cream", + originalName: "heavy cream", + amount: 2.0, + unit: "cups", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 476.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 9152, + aisle: "Produce", + image: "lemon-juice.jpg", + consistency: "LIQUID", + name: "lemon juice", + nameClean: "lemon juice", + original: "1 tablespoon fresh lemon juice", + originalName: "fresh lemon juice", + amount: 1.0, + unit: "tablespoon", + meta: ["fresh"], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 19335, + aisle: "Baking", + image: "sugar-in-bowl.png", + consistency: "SOLID", + name: "sugar", + nameClean: "sugar", + original: "1/2 cup sugar", + originalName: "sugar", + amount: 0.5, + unit: "cup", + meta: [], + measures: { + us: { + amount: 0.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 100.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 93622, + aisle: "Baking", + image: "vanilla.jpg", + consistency: "SOLID", + name: "vanilla bean", + nameClean: "vanilla bean", + original: "1 vanilla bean, split lengthwise", + originalName: "vanilla bean, split lengthwise", + amount: 1.0, + unit: "", + meta: ["split"], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 14412, + aisle: "Beverages", + image: "water.png", + consistency: "LIQUID", + name: "water", + nameClean: "water", + original: "6 tablespoons cold water", + originalName: "cold water", + amount: 6.0, + unit: "tablespoons", + meta: ["cold"], + measures: { + us: { + amount: 6.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 6.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 14096, + aisle: "Alcoholic Beverages", + image: "red-wine.jpg", + consistency: "LIQUID", + name: "apothic red wine", + nameClean: "apothic red wine", + original: "1 1/2 cups of Apothic Red Wine", + originalName: "Apothic Red Wine", + amount: 1.5, + unit: "cups", + meta: [], + measures: { + us: { + amount: 1.5, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 360.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + ], + summary: + 'You can never have too many Mediterranean recipes, so give Apothic Granitan and Vanilla Panna Cottan a try. This gluten free recipe serves 6 and costs $2.6 per serving. One portion of this dish contains around 7g of protein, 38g of fat, and a total of 522 calories. 5 people have tried and liked this recipe. This recipe from Foodista requires sugar, vanilla bean, lemon juice, and knox powdered gelatin. From preparation to the plate, this recipe takes around 45 minutes. Only a few people really liked this dessert. All things considered, we decided this recipe deserves a spoonacular score of 21%. This score is rather bad. Similar recipes are Vanilla Panna Cotta, Vanilla Panna Cotta, and Vanilla panna cotta.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["dessert"], + diets: ["gluten free"], + occasions: [], + spoonacularScore: 29.227785110473633, + spoonacularSourceUrl: + "https://spoonacular.com/apothic-granita-and-vanilla-panna-cotta-632445", + usedIngredientCount: 0, + missedIngredientCount: 8, + missedIngredients: [ + { + id: 14034, + amount: 2.0, + unit: "tablespoons", + unitLong: "tablespoons", + unitShort: "Tbsp", + aisle: "Alcoholic Beverages", + name: "crème de cassis liqueur", + original: "2 tablespoons crème de cassis liqueur", + originalName: "crème de cassis liqueur", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/green-liqueur.png", + }, + { + id: 2063, + amount: 1.0, + unit: "sprig", + unitLong: "sprig", + unitShort: "sprig", + aisle: "Produce", + name: "rosemary", + original: "1 sprig fresh rosemary", + originalName: "fresh rosemary", + meta: ["fresh"], + extendedName: "fresh rosemary", + image: "https://img.spoonacular.com/ingredients_100x100/rosemary.jpg", + }, + { + id: 19177, + amount: 4.5, + unit: "teaspoons", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Baking", + name: "knox powdered gelatin", + original: "4 1/2 teaspoons Knox unflavored powdered gelatin", + originalName: "Knox unflavored powdered gelatin", + meta: ["unflavored"], + extendedName: "unflavored knox powdered gelatin", + image: + "https://img.spoonacular.com/ingredients_100x100/gelatin-powder.jpg", + }, + { + id: 1049, + amount: 2.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Milk, Eggs, Other Dairy", + name: "half and half", + original: "2 cups half and half", + originalName: "half and half", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/fluid-cream.jpg", + }, + { + id: 1053, + amount: 2.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Milk, Eggs, Other Dairy", + name: "heavy cream", + original: "2 cups heavy cream", + originalName: "heavy cream", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/fluid-cream.jpg", + }, + { + id: 9152, + amount: 1.0, + unit: "tablespoon", + unitLong: "tablespoon", + unitShort: "Tbsp", + aisle: "Produce", + name: "lemon juice", + original: "1 tablespoon fresh lemon juice", + originalName: "fresh lemon juice", + meta: ["fresh"], + extendedName: "fresh lemon juice", + image: + "https://img.spoonacular.com/ingredients_100x100/lemon-juice.jpg", + }, + { + id: 93622, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Baking", + name: "vanilla bean", + original: "1 vanilla bean, split lengthwise", + originalName: "vanilla bean, split lengthwise", + meta: ["split"], + extendedName: "split vanilla bean bean", + image: "https://img.spoonacular.com/ingredients_100x100/vanilla.jpg", + }, + { + id: 14096, + amount: 1.5, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Alcoholic Beverages", + name: "apothic red wine", + original: "1 1/2 cups of Apothic Red Wine", + originalName: "Apothic Red Wine", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/red-wine.jpg", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 640819, + image: "https://img.spoonacular.com/recipes/640819-312x231.jpg", + imageType: "jpg", + title: "Crispy Italian Cauliflower Poppers Appetizer", + readyInMinutes: 45, + servings: 4, + sourceUrl: + "http://www.foodista.com/recipe/ZVNRZZ82/crispy-italian-cauliflower-poppers-with-marinara", + vegetarian: false, + vegan: false, + glutenFree: false, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 12, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 84, + healthScore: 32.0, + creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", + license: "CC BY 3.0", + sourceName: "Foodista", + pricePerServing: 212.08, + extendedIngredients: [ + { + id: 10011693, + aisle: "Canned and Jarred", + image: "tomatoes-canned.png", + consistency: "SOLID", + name: "canned tomatoes", + nameClean: "canned tomatoes", + original: "14.5 oz. can diced tomatoes", + originalName: "diced tomatoes", + amount: 14.5, + unit: "oz", + meta: ["diced", "canned"], + measures: { + us: { + amount: 14.5, + unitShort: "oz", + unitLong: "ounces", + }, + metric: { + amount: 411.068, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 11135, + aisle: "Produce", + image: "cauliflower.jpg", + consistency: "SOLID", + name: "cauliflower", + nameClean: "cauliflower", + original: + "1 head of cauliflower, cut into bite-sized pieces (no larger that 1-inch)", + originalName: + "cauliflower, cut into bite-sized pieces (no larger that 1-inch)", + amount: 1.0, + unit: "head", + meta: ["cut into bite-sized pieces (no larger that 1-inch)"], + measures: { + us: { + amount: 1.0, + unitShort: "head", + unitLong: "head", + }, + metric: { + amount: 1.0, + unitShort: "head", + unitLong: "head", + }, + }, + }, + { + id: 1123, + aisle: "Milk, Eggs, Other Dairy", + image: "egg.png", + consistency: "SOLID", + name: "eggs", + nameClean: "eggs", + original: "2 eggs, well beaten", + originalName: "eggs, well beaten", + amount: 2.0, + unit: "", + meta: ["well beaten"], + measures: { + us: { + amount: 2.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 2.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 20081, + aisle: "Baking", + image: "flour.png", + consistency: "SOLID", + name: "flour", + nameClean: "flour", + original: "1 cup All-purpose flour", + originalName: "All-purpose flour", + amount: 1.0, + unit: "cup", + meta: ["all-purpose"], + measures: { + us: { + amount: 1.0, + unitShort: "cup", + unitLong: "cup", + }, + metric: { + amount: 125.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 2044, + aisle: "Produce", + image: "fresh-basil.jpg", + consistency: "SOLID", + name: "basil", + nameClean: "basil", + original: "3-4 T. chopped fresh basil", + originalName: "chopped fresh basil", + amount: 3.0, + unit: "T", + meta: ["fresh", "chopped"], + measures: { + us: { + amount: 9.45, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 9.45, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 11215, + aisle: "Produce", + image: "garlic.png", + consistency: "SOLID", + name: "garlic", + nameClean: "garlic", + original: "1 teaspoon minced garlic", + originalName: "minced garlic", + amount: 1.0, + unit: "teaspoon", + meta: ["minced"], + measures: { + us: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + metric: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + }, + }, + { + id: 1022020, + aisle: "Spices and Seasonings", + image: "garlic-powder.png", + consistency: "SOLID", + name: "garlic powder", + nameClean: "garlic powder", + original: "3/4 t. garlic powder", + originalName: "garlic powder", + amount: 0.75, + unit: "t", + meta: [], + measures: { + us: { + amount: 0.291, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 0.291, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 1002030, + aisle: "Spices and Seasonings", + image: "pepper.jpg", + consistency: "SOLID", + name: "ground pepper", + nameClean: "ground pepper", + original: "1/8 t. fresh ground black pepper", + originalName: "fresh ground black pepper", + amount: 0.125, + unit: "t", + meta: ["fresh", "black"], + measures: { + us: { + amount: 0.042, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 0.042, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 4053, + aisle: "Oil, Vinegar, Salad Dressing", + image: "olive-oil.jpg", + consistency: "LIQUID", + name: "olive oil", + nameClean: "olive oil", + original: "2 tablespoons Olive oil", + originalName: "Olive oil", + amount: 2.0, + unit: "tablespoons", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 10018079, + aisle: "Baking", + image: "panko.jpg", + consistency: "SOLID", + name: "panko bread crumbs", + nameClean: "panko bread crumbs", + original: "2 c. panko bread crumbs", + originalName: "panko bread crumbs", + amount: 2.0, + unit: "c", + meta: [], + measures: { + us: { + amount: 2.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 120.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 1032, + aisle: "Cheese", + image: "parmesan.jpg", + consistency: "SOLID", + name: "parmesan cheese", + nameClean: "parmesan cheese", + original: "3/4 c. fresh grated Parmesan cheese", + originalName: "fresh grated Parmesan cheese", + amount: 0.75, + unit: "c", + meta: ["fresh", "grated"], + measures: { + us: { + amount: 0.75, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 75.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 1032009, + aisle: "Spices and Seasonings", + image: "red-pepper-flakes.jpg", + consistency: "SOLID", + name: "pepper flakes", + nameClean: "pepper flakes", + original: "pinch of crushed red pepper flakes", + originalName: "pinch of crushed red pepper flakes", + amount: 1.0, + unit: "pinch", + meta: ["red", "crushed"], + measures: { + us: { + amount: 1.0, + unitShort: "pinch", + unitLong: "pinch", + }, + metric: { + amount: 1.0, + unitShort: "pinch", + unitLong: "pinch", + }, + }, + }, + { + id: 2047, + aisle: "Spices and Seasonings", + image: "salt.jpg", + consistency: "SOLID", + name: "salt", + nameClean: "salt", + original: "Salt to taste", + originalName: "Salt to taste", + amount: 4.0, + unit: "servings", + meta: ["to taste"], + measures: { + us: { + amount: 4.0, + unitShort: "servings", + unitLong: "servings", + }, + metric: { + amount: 4.0, + unitShort: "servings", + unitLong: "servings", + }, + }, + }, + { + id: 14412, + aisle: "Beverages", + image: "water.png", + consistency: "LIQUID", + name: "water", + nameClean: "water", + original: "1 T. water", + originalName: "water", + amount: 1.0, + unit: "T", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + ], + summary: + 'You can never have too many hor d\'oeuvre recipes, so give Crispy Italian Cauliflower Poppers Appetizer a try. This recipe serves 4 and costs $2.12 per serving. One serving contains 478 calories, 20g of protein, and 17g of fat. From preparation to the plate, this recipe takes about 45 minutes. It is brought to you by Foodista. A couple people made this recipe, and 84 would say it hit the spot. It is a rather cheap recipe for fans of Mediterranean food. Head to the store and pick up panko bread crumbs, garlic, garlic powder, and a few other things to make it today. All things considered, we decided this recipe deserves a spoonacular score of 92%. This score is outstanding. Users who liked this recipe also liked Crispy Baked Cauliflower Poppers, Crispy Shrimp Poppers, and Chocolate Covered Crispy Poppers.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + diets: [], + occasions: [], + spoonacularScore: 93.10679626464844, + spoonacularSourceUrl: + "https://spoonacular.com/crispy-italian-cauliflower-poppers-appetizer-640819", + usedIngredientCount: 0, + missedIngredientCount: 9, + missedIngredients: [ + { + id: 10011693, + amount: 14.5, + unit: "oz", + unitLong: "ounces", + unitShort: "oz", + aisle: "Canned and Jarred", + name: "canned tomatoes", + original: "14.5 oz. can diced tomatoes", + originalName: "diced tomatoes", + meta: ["diced", "canned"], + extendedName: "diced canned tomatoes", + image: + "https://img.spoonacular.com/ingredients_100x100/tomatoes-canned.png", + }, + { + id: 11135, + amount: 1.0, + unit: "head", + unitLong: "head", + unitShort: "head", + aisle: "Produce", + name: "cauliflower", + original: + "1 head of cauliflower, cut into bite-sized pieces (no larger that 1-inch)", + originalName: + "cauliflower, cut into bite-sized pieces (no larger that 1-inch)", + meta: ["cut into bite-sized pieces (no larger that 1-inch)"], + image: + "https://img.spoonacular.com/ingredients_100x100/cauliflower.jpg", + }, + { + id: 1123, + amount: 2.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Milk, Eggs, Other Dairy", + name: "eggs", + original: "2 eggs, well beaten", + originalName: "eggs, well beaten", + meta: ["well beaten"], + image: "https://img.spoonacular.com/ingredients_100x100/egg.png", + }, + { + id: 2044, + amount: 3.0, + unit: "T", + unitLong: "tablespoons", + unitShort: "Tbsp", + aisle: "Produce", + name: "basil", + original: "3-4 T. chopped fresh basil", + originalName: "chopped fresh basil", + meta: ["fresh", "chopped"], + extendedName: "fresh basil", + image: + "https://img.spoonacular.com/ingredients_100x100/fresh-basil.jpg", + }, + { + id: 11215, + amount: 1.0, + unit: "teaspoon", + unitLong: "teaspoon", + unitShort: "tsp", + aisle: "Produce", + name: "garlic", + original: "1 teaspoon minced garlic", + originalName: "minced garlic", + meta: ["minced"], + image: "https://img.spoonacular.com/ingredients_100x100/garlic.png", + }, + { + id: 1022020, + amount: 0.75, + unit: "t", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Spices and Seasonings", + name: "garlic powder", + original: "3/4 t. garlic powder", + originalName: "garlic powder", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/garlic-powder.png", + }, + { + id: 10018079, + amount: 2.0, + unit: "c", + unitLong: "cups", + unitShort: "cup", + aisle: "Baking", + name: "panko bread crumbs", + original: "2 c. panko bread crumbs", + originalName: "panko bread crumbs", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/panko.jpg", + }, + { + id: 1032, + amount: 0.75, + unit: "c", + unitLong: "cups", + unitShort: "cup", + aisle: "Cheese", + name: "parmesan cheese", + original: "3/4 c. fresh grated Parmesan cheese", + originalName: "fresh grated Parmesan cheese", + meta: ["fresh", "grated"], + extendedName: "fresh parmesan cheese", + image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", + }, + { + id: 1032009, + amount: 1.0, + unit: "pinch", + unitLong: "pinch", + unitShort: "pinch", + aisle: "Spices and Seasonings", + name: "pepper flakes", + original: "pinch of crushed red pepper flakes", + originalName: "pinch of crushed red pepper flakes", + meta: ["red", "crushed"], + extendedName: "crushed red pepper flakes", + image: + "https://img.spoonacular.com/ingredients_100x100/red-pepper-flakes.jpg", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 655822, + image: "https://img.spoonacular.com/recipes/655822-312x231.jpg", + imageType: "jpg", + title: "Pesto Fresh Caprese Sandwich", + readyInMinutes: 10, + servings: 1, + sourceUrl: + "http://www.foodista.com/recipe/LYJBTV2G/pesto-fresh-caprese-sandwich", + vegetarian: true, + vegan: false, + glutenFree: false, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 18, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 1, + healthScore: 13.0, + creditsText: "foodista.com", + license: null, + sourceName: "foodista.com", + pricePerServing: 327.36, + extendedIngredients: [ + { + id: 2069, + aisle: "Oil, Vinegar, Salad Dressing", + image: "balsamic-vinegar.jpg", + consistency: "LIQUID", + name: "balsamic vinegar", + nameClean: "balsamic vinegar", + original: "1 1 tablespoon balsamic vinegar (optional)", + originalName: "balsamic vinegar (optional)", + amount: 1.0, + unit: "tablespoon", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 93698, + aisle: "Pasta and Rice", + image: "basil-pesto.png", + consistency: "SOLID", + name: "basil pesto", + nameClean: "basil pesto", + original: "1 tablespoon basil pesto (optional see recipe below)", + originalName: "basil pesto (optional see recipe below)", + amount: 1.0, + unit: "tablespoon", + meta: ["(optional see recipe below)"], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 93699, + aisle: "Bakery/Bread", + image: "ciabatta-roll.png", + consistency: "SOLID", + name: "ciabatta roll", + nameClean: "ciabatta roll", + original: "1 ciabatta roll", + originalName: "ciabatta roll", + amount: 1.0, + unit: "", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 2044, + aisle: "Produce", + image: "fresh-basil.jpg", + consistency: "SOLID", + name: "basil leaves", + nameClean: "basil leaves", + original: "1 handful fresh basil leaves", + originalName: "fresh basil leaves", + amount: 1.0, + unit: "handful", + meta: ["fresh"], + measures: { + us: { + amount: 1.0, + unitShort: "handful", + unitLong: "handful", + }, + metric: { + amount: 1.0, + unitShort: "handful", + unitLong: "handful", + }, + }, + }, + { + id: 1021026, + aisle: "Cheese", + image: "mozzarella.png", + consistency: "SOLID", + name: "mozzarella", + nameClean: "mozzarella", + original: "1 4 oz ball fresh mozzarella (sliced)", + originalName: "fresh mozzarella (sliced)", + amount: 4.0, + unit: "oz", + meta: ["fresh", "sliced", "()"], + measures: { + us: { + amount: 4.0, + unitShort: "oz", + unitLong: "ounces", + }, + metric: { + amount: 113.398, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 11529, + aisle: "Produce", + image: "tomato.png", + consistency: "SOLID", + name: "tomato", + nameClean: "tomato", + original: "1 fresh ripe tomato (sliced)", + originalName: "fresh ripe tomato (sliced)", + amount: 1.0, + unit: "", + meta: ["fresh", "ripe", "sliced", "()"], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + ], + summary: + 'If you have around 10 minutes to spend in the kitchen, Pesto Fresh Caprese Sandwich might be an amazing lacto ovo vegetarian recipe to try. This recipe makes 1 servings with 563 calories, 32g of protein, and 32g of fat each. For $3.27 per serving, this recipe covers 18% of your daily requirements of vitamins and minerals. 1 person has made this recipe and would make it again. It works well as a Mediterranean main course. This recipe from Foodista requires balsamic vinegar, basil pesto, mozzarella, and tomato. With a spoonacular score of 58%, this dish is solid. If you like this recipe, you might also like recipes such as Pesto Fresh Caprese Sandwich, Caprese Pesto Panini Sandwich, and Open-Faced Grilled Eggplant Sandwich with Pesto, Tomatoes, and Fresh Mozzarella (The Kids Cook Monday).', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["lunch", "main course", "main dish", "dinner"], + diets: ["lacto ovo vegetarian"], + occasions: [], + spoonacularScore: 61.86119842529297, + spoonacularSourceUrl: + "https://spoonacular.com/pesto-fresh-caprese-sandwich-655822", + usedIngredientCount: 0, + missedIngredientCount: 6, + missedIngredients: [ + { + id: 2069, + amount: 1.0, + unit: "tablespoon", + unitLong: "tablespoon", + unitShort: "Tbsp", + aisle: "Oil, Vinegar, Salad Dressing", + name: "balsamic vinegar", + original: "1 1 tablespoon balsamic vinegar (optional)", + originalName: "balsamic vinegar (optional)", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/balsamic-vinegar.jpg", + }, + { + id: 93698, + amount: 1.0, + unit: "tablespoon", + unitLong: "tablespoon", + unitShort: "Tbsp", + aisle: "Pasta and Rice", + name: "basil pesto", + original: "1 tablespoon basil pesto (optional see recipe below)", + originalName: "basil pesto (optional see recipe below)", + meta: ["(optional see recipe below)"], + image: + "https://img.spoonacular.com/ingredients_100x100/basil-pesto.png", + }, + { + id: 93699, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Bakery/Bread", + name: "ciabatta roll", + original: "1 ciabatta roll", + originalName: "ciabatta roll", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/ciabatta-roll.png", + }, + { + id: 2044, + amount: 1.0, + unit: "handful", + unitLong: "handful", + unitShort: "handful", + aisle: "Produce", + name: "basil leaves", + original: "1 handful fresh basil leaves", + originalName: "fresh basil leaves", + meta: ["fresh"], + extendedName: "fresh basil leaves", + image: + "https://img.spoonacular.com/ingredients_100x100/fresh-basil.jpg", + }, + { + id: 1021026, + amount: 4.0, + unit: "oz", + unitLong: "ounces", + unitShort: "oz", + aisle: "Cheese", + name: "mozzarella", + original: "1 4 oz ball fresh mozzarella (sliced)", + originalName: "fresh mozzarella (sliced)", + meta: ["fresh", "sliced", "()"], + extendedName: "fresh mozzarella", + image: + "https://img.spoonacular.com/ingredients_100x100/mozzarella.png", + }, + { + id: 11529, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Produce", + name: "tomato", + original: "1 fresh ripe tomato (sliced)", + originalName: "fresh ripe tomato (sliced)", + meta: ["fresh", "ripe", "sliced", "()"], + extendedName: "fresh tomato", + image: "https://img.spoonacular.com/ingredients_100x100/tomato.png", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 634404, + image: "https://img.spoonacular.com/recipes/634404-312x231.jpg", + imageType: "jpg", + title: "Basic Risotto", + readyInMinutes: 45, + servings: 2, + sourceUrl: "https://www.foodista.com/recipe/HQMJRX88/basic-risotto", + vegetarian: false, + vegan: false, + glutenFree: true, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 20, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 1, + healthScore: 19.0, + creditsText: "foodista.com", + license: null, + sourceName: "foodista.com", + pricePerServing: 255.6, + extendedIngredients: [ + { + id: 1001, + aisle: "Milk, Eggs, Other Dairy", + image: "butter-sliced.jpg", + consistency: "SOLID", + name: "butter", + nameClean: "butter", + original: "1 tbs. butter", + originalName: "butter", + amount: 1.0, + unit: "Tbs", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 4053, + aisle: "Oil, Vinegar, Salad Dressing", + image: "olive-oil.jpg", + consistency: "LIQUID", + name: "olive oil", + nameClean: "olive oil", + original: "1 tbs. Olive oil", + originalName: "Olive oil", + amount: 1.0, + unit: "Tbs", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + metric: { + amount: 1.0, + unitShort: "Tbsp", + unitLong: "Tbsp", + }, + }, + }, + { + id: 10020052, + aisle: "Pasta and Rice", + image: "uncooked-white-rice.png", + consistency: "SOLID", + name: "arborio rice", + nameClean: "arborio rice", + original: "1 cup Arborio rice", + originalName: "Arborio rice", + amount: 1.0, + unit: "cup", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "cup", + unitLong: "cup", + }, + metric: { + amount: 200.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 10211215, + aisle: "Produce", + image: "garlic.jpg", + consistency: "SOLID", + name: "garlic cloves", + nameClean: "garlic cloves", + original: "2 garlic cloves, minced", + originalName: "garlic cloves, minced", + amount: 2.0, + unit: "", + meta: ["minced"], + measures: { + us: { + amount: 2.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 2.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 11677, + aisle: "Produce", + image: "shallots.jpg", + consistency: "SOLID", + name: "shallot", + nameClean: "shallot", + original: "1 shallot, minced", + originalName: "shallot, minced", + amount: 1.0, + unit: "", + meta: ["minced"], + measures: { + us: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 1.0, + unitShort: "", + unitLong: "", + }, + }, + }, + { + id: 10211297, + aisle: "Produce", + image: "parsley.jpg", + consistency: "SOLID", + name: "flat leaf parsley", + nameClean: "flat leaf parsley", + original: "2 tbs. fresh flat leaf parsley, chopped", + originalName: "fresh flat leaf parsley, chopped", + amount: 2.0, + unit: "Tbs", + meta: ["fresh", "chopped"], + measures: { + us: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 2.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 6172, + aisle: "Canned and Jarred", + image: "chicken-broth.png", + consistency: "LIQUID", + name: "chicken stock - heated", + nameClean: "chicken stock - heated", + original: "3 cups chicken stock – heated (I used Wolfgang Puck)", + originalName: "chicken stock – heated (I used Wolfgang Puck)", + amount: 3.0, + unit: "cups", + meta: ["(I used Wolfgang Puck)"], + measures: { + us: { + amount: 3.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 720.0, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 1033, + aisle: "Cheese", + image: "parmesan.jpg", + consistency: "SOLID", + name: "parmesan cheese", + nameClean: "parmesan cheese", + original: "4 tablespoons fresh parmesan cheese", + originalName: "fresh parmesan cheese", + amount: 4.0, + unit: "tablespoons", + meta: ["fresh"], + measures: { + us: { + amount: 4.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + metric: { + amount: 4.0, + unitShort: "Tbsps", + unitLong: "Tbsps", + }, + }, + }, + { + id: 1102047, + aisle: "Spices and Seasonings", + image: "salt-and-pepper.jpg", + consistency: "SOLID", + name: "salt and pepper", + nameClean: "salt and pepper", + original: "Salt and Pepper to taste", + originalName: "Salt and Pepper to taste", + amount: 2.0, + unit: "servings", + meta: ["to taste"], + measures: { + us: { + amount: 2.0, + unitShort: "servings", + unitLong: "servings", + }, + metric: { + amount: 2.0, + unitShort: "servings", + unitLong: "servings", + }, + }, + }, + { + id: 11260, + aisle: "Produce", + image: "mushrooms.png", + consistency: "SOLID", + name: "suggested optional items to add -mushrooms", + nameClean: "suggested optional items to add -mushrooms", + original: + "inch Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper,", + originalName: + "Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper", + amount: 1.0, + unit: "inch", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "inch", + unitLong: "inch", + }, + metric: { + amount: 1.0, + unitShort: "inch", + unitLong: "inch", + }, + }, + }, + ], + summary: + 'Basic Risotto is a gluten free main course. This recipe serves 2 and costs $2.56 per serving. One serving contains 655 calories, 20g of protein, and 20g of fat. Only a few people made this recipe, and 1 would say it hit the spot. This recipe from Foodista requires butter, olive oil, arborio rice, and salt and pepper. It is a budget friendly recipe for fans of Mediterranean food. From preparation to the plate, this recipe takes about 45 minutes. Overall, this recipe earns a solid spoonacular score of 59%. Users who liked this recipe also liked Basic Risotto, Basic Risotto, and Basic Risotto.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["side dish", "lunch", "main course", "main dish", "dinner"], + diets: ["gluten free"], + occasions: [], + spoonacularScore: 16.694459915161133, + spoonacularSourceUrl: "https://spoonacular.com/basic-risotto-634404", + usedIngredientCount: 0, + missedIngredientCount: 8, + missedIngredients: [ + { + id: 1001, + amount: 1.0, + unit: "Tbs", + unitLong: "Tb", + unitShort: "Tbsp", + aisle: "Milk, Eggs, Other Dairy", + name: "butter", + original: "1 tbs. butter", + originalName: "butter", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/butter-sliced.jpg", + }, + { + id: 10020052, + amount: 1.0, + unit: "cup", + unitLong: "cup", + unitShort: "cup", + aisle: "Pasta and Rice", + name: "arborio rice", + original: "1 cup Arborio rice", + originalName: "Arborio rice", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/uncooked-white-rice.png", + }, + { + id: 10211215, + amount: 2.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Produce", + name: "garlic cloves", + original: "2 garlic cloves, minced", + originalName: "garlic cloves, minced", + meta: ["minced"], + image: "https://img.spoonacular.com/ingredients_100x100/garlic.jpg", + }, + { + id: 11677, + amount: 1.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Produce", + name: "shallot", + original: "1 shallot, minced", + originalName: "shallot, minced", + meta: ["minced"], + image: "https://img.spoonacular.com/ingredients_100x100/shallots.jpg", + }, + { + id: 10211297, + amount: 2.0, + unit: "Tbs", + unitLong: "Tbs", + unitShort: "Tbsp", + aisle: "Produce", + name: "flat leaf parsley", + original: "2 tbs. fresh flat leaf parsley, chopped", + originalName: "fresh flat leaf parsley, chopped", + meta: ["fresh", "chopped"], + extendedName: "fresh flat leaf parsley", + image: "https://img.spoonacular.com/ingredients_100x100/parsley.jpg", + }, + { + id: 6172, + amount: 3.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Canned and Jarred", + name: "chicken stock - heated", + original: "3 cups chicken stock – heated (I used Wolfgang Puck)", + originalName: "chicken stock – heated (I used Wolfgang Puck)", + meta: ["(I used Wolfgang Puck)"], + image: + "https://img.spoonacular.com/ingredients_100x100/chicken-broth.png", + }, + { + id: 1033, + amount: 4.0, + unit: "tablespoons", + unitLong: "tablespoons", + unitShort: "Tbsp", + aisle: "Cheese", + name: "parmesan cheese", + original: "4 tablespoons fresh parmesan cheese", + originalName: "fresh parmesan cheese", + meta: ["fresh"], + extendedName: "fresh parmesan cheese", + image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", + }, + { + id: 11260, + amount: 1.0, + unit: "inch", + unitLong: "inch", + unitShort: "inch", + aisle: "Produce", + name: "suggested optional items to add -mushrooms", + original: + "inch Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper,", + originalName: + "Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/mushrooms.png", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + { + id: 640864, + image: "https://img.spoonacular.com/recipes/640864-312x231.jpg", + imageType: "jpg", + title: "Crock Pot Lasagna", + readyInMinutes: 45, + servings: 8, + sourceUrl: "https://www.foodista.com/recipe/QTRKQVWX/crock-pot-lasagna", + vegetarian: false, + vegan: false, + glutenFree: false, + dairyFree: false, + veryHealthy: false, + cheap: false, + veryPopular: false, + sustainable: false, + lowFodmap: false, + weightWatcherSmartPoints: 8, + gaps: "no", + preparationMinutes: null, + cookingMinutes: null, + aggregateLikes: 1, + healthScore: 11.0, + creditsText: "foodista.com", + license: null, + sourceName: "foodista.com", + pricePerServing: 173.9, + extendedIngredients: [ + { + id: 23557, + aisle: "Meat", + image: "fresh-ground-beef.jpg", + consistency: "SOLID", + name: "ground beef", + nameClean: "ground beef", + original: "1 pound lean ground beef", + originalName: "lean ground beef", + amount: 1.0, + unit: "pound", + meta: ["lean"], + measures: { + us: { + amount: 1.0, + unitShort: "lb", + unitLong: "pound", + }, + metric: { + amount: 453.592, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 11209, + aisle: "Produce", + image: "eggplant.png", + consistency: "SOLID", + name: "eggplant", + nameClean: "eggplant", + original: "2 cups diced eggplant", + originalName: "diced eggplant", + amount: 2.0, + unit: "cups", + meta: ["diced"], + measures: { + us: { + amount: 2.0, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 164.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 10111549, + aisle: "Pasta and Rice", + image: "tomato-sauce-or-pasta-sauce.jpg", + consistency: "SOLID", + name: "paul newman's marinara sauce", + nameClean: "paul newman's marinara sauce", + original: "1 jar Paul Newman's marinara sauce", + originalName: "Paul Newman's marinara sauce", + amount: 1.0, + unit: "jar", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "jar", + unitLong: "jar", + }, + metric: { + amount: 1.0, + unitShort: "jar", + unitLong: "jar", + }, + }, + }, + { + id: 1032009, + aisle: "Spices and Seasonings", + image: "red-pepper-flakes.jpg", + consistency: "SOLID", + name: "pepper flakes", + nameClean: "pepper flakes", + original: "1/4 teaspoon red pepper flakes", + originalName: "red pepper flakes", + amount: 0.25, + unit: "teaspoon", + meta: ["red"], + measures: { + us: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 1022020, + aisle: "Spices and Seasonings", + image: "garlic-powder.png", + consistency: "SOLID", + name: "garlic powder", + nameClean: "garlic powder", + original: "1/4 teaspoon garlic powder", + originalName: "garlic powder", + amount: 0.25, + unit: "teaspoon", + meta: [], + measures: { + us: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 2026, + aisle: "Spices and Seasonings", + image: "onion-powder.jpg", + consistency: "SOLID", + name: "onion powder", + nameClean: "onion powder", + original: "1/4 teaspoon onion powder", + originalName: "onion powder", + amount: 0.25, + unit: "teaspoon", + meta: [], + measures: { + us: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 2044, + aisle: "Produce", + image: "fresh-basil.jpg", + consistency: "SOLID", + name: "basil flakes", + nameClean: "basil flakes", + original: "1/4 teaspoon basil flakes", + originalName: "basil flakes", + amount: 0.25, + unit: "teaspoon", + meta: [], + measures: { + us: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + metric: { + amount: 0.25, + unitShort: "tsps", + unitLong: "teaspoons", + }, + }, + }, + { + id: 14412, + aisle: "Beverages", + image: "water.png", + consistency: "LIQUID", + name: "water", + nameClean: "water", + original: "1 cup water", + originalName: "water", + amount: 1.0, + unit: "cup", + meta: [], + measures: { + us: { + amount: 1.0, + unitShort: "cup", + unitLong: "cup", + }, + metric: { + amount: 236.588, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 1037, + aisle: "Cheese", + image: "ricotta.png", + consistency: "LIQUID", + name: "part skim ricotta cheese", + nameClean: "part skim ricotta cheese", + original: "15 ounces part skim ricotta cheese", + originalName: "part skim ricotta cheese", + amount: 15.0, + unit: "ounces", + meta: [], + measures: { + us: { + amount: 15.0, + unitShort: "oz", + unitLong: "ounces", + }, + metric: { + amount: 425.243, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 11297, + aisle: "Produce", + image: "parsley.jpg", + consistency: "SOLID", + name: "parsley", + nameClean: "parsley", + original: "1 teaspoon chopped parsley", + originalName: "chopped parsley", + amount: 1.0, + unit: "teaspoon", + meta: ["chopped"], + measures: { + us: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + metric: { + amount: 1.0, + unitShort: "tsp", + unitLong: "teaspoon", + }, + }, + }, + { + id: 93833, + aisle: "Milk, Eggs, Other Dairy", + image: "liquid-egg-substitute.jpg", + consistency: "SOLID", + name: "egg beaters", + nameClean: "egg beaters", + original: "1/4 cup Egg Beaters", + originalName: "Egg Beaters", + amount: 0.25, + unit: "cup", + meta: [], + measures: { + us: { + amount: 0.25, + unitShort: "cups", + unitLong: "cups", + }, + metric: { + amount: 56.5, + unitShort: "ml", + unitLong: "milliliters", + }, + }, + }, + { + id: 1033, + aisle: "Cheese", + image: "parmesan.jpg", + consistency: "SOLID", + name: "parmesan cheese", + nameClean: "parmesan cheese", + original: "1 cup shredded parmesan cheese (not grated, shredded)", + originalName: "shredded parmesan cheese (not grated, shredded)", + amount: 1.0, + unit: "cup", + meta: ["shredded", "grated", "(not , )"], + measures: { + us: { + amount: 1.0, + unitShort: "cup", + unitLong: "cup", + }, + metric: { + amount: 100.0, + unitShort: "g", + unitLong: "grams", + }, + }, + }, + { + id: 12420420, + aisle: "Pasta and Rice", + image: "lasagna-noodles.jpg", + consistency: "SOLID", + name: "no boil lasagna noodles", + nameClean: "no boil lasagna noodles", + original: "8 no boil lasagna noodles", + originalName: "no boil lasagna noodles", + amount: 8.0, + unit: "", + meta: [], + measures: { + us: { + amount: 8.0, + unitShort: "", + unitLong: "", + }, + metric: { + amount: 8.0, + unitShort: "", + unitLong: "", + }, + }, + }, + ], + summary: + 'Crock Pot Lasagna might be just the Mediterranean recipe you are searching for. This main course has 294 calories, 27g of protein, and 11g of fat per serving. This recipe serves 8. For $1.74 per serving, this recipe covers 17% of your daily requirements of vitamins and minerals. 1 person were impressed by this recipe. A mixture of parmesan cheese, water, paul newman\'s marinara sauce, and a handful of other ingredients are all it takes to make this recipe so scrumptious. From preparation to the plate, this recipe takes roughly 45 minutes. It is brought to you by Foodista. Taking all factors into account, this recipe earns a spoonacular score of 53%, which is pretty good. If you like this recipe, you might also like recipes such as Crock Pot Lasagna, Crock Pot Lasagna, and Crock Pot Lasagna.', + cuisines: ["Mediterranean", "Italian", "European"], + dishTypes: ["lunch", "main course", "main dish", "dinner"], + diets: [], + occasions: [], + spoonacularScore: 54.73930740356445, + spoonacularSourceUrl: "https://spoonacular.com/crock-pot-lasagna-640864", + usedIngredientCount: 0, + missedIngredientCount: 12, + missedIngredients: [ + { + id: 23557, + amount: 1.0, + unit: "pound", + unitLong: "pound", + unitShort: "lb", + aisle: "Meat", + name: "ground beef", + original: "1 pound lean ground beef", + originalName: "lean ground beef", + meta: ["lean"], + extendedName: "lean ground beef", + image: + "https://img.spoonacular.com/ingredients_100x100/fresh-ground-beef.jpg", + }, + { + id: 11209, + amount: 2.0, + unit: "cups", + unitLong: "cups", + unitShort: "cup", + aisle: "Produce", + name: "eggplant", + original: "2 cups diced eggplant", + originalName: "diced eggplant", + meta: ["diced"], + extendedName: "diced eggplant", + image: "https://img.spoonacular.com/ingredients_100x100/eggplant.png", + }, + { + id: 10111549, + amount: 1.0, + unit: "jar", + unitLong: "jar", + unitShort: "jar", + aisle: "Pasta and Rice", + name: "paul newman's marinara sauce", + original: "1 jar Paul Newman's marinara sauce", + originalName: "Paul Newman's marinara sauce", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/tomato-sauce-or-pasta-sauce.jpg", + }, + { + id: 1032009, + amount: 0.25, + unit: "teaspoon", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Spices and Seasonings", + name: "pepper flakes", + original: "1/4 teaspoon red pepper flakes", + originalName: "red pepper flakes", + meta: ["red"], + extendedName: "red pepper flakes", + image: + "https://img.spoonacular.com/ingredients_100x100/red-pepper-flakes.jpg", + }, + { + id: 1022020, + amount: 0.25, + unit: "teaspoon", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Spices and Seasonings", + name: "garlic powder", + original: "1/4 teaspoon garlic powder", + originalName: "garlic powder", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/garlic-powder.png", + }, + { + id: 2026, + amount: 0.25, + unit: "teaspoon", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Spices and Seasonings", + name: "onion powder", + original: "1/4 teaspoon onion powder", + originalName: "onion powder", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/onion-powder.jpg", + }, + { + id: 2044, + amount: 0.25, + unit: "teaspoon", + unitLong: "teaspoons", + unitShort: "tsp", + aisle: "Produce", + name: "basil flakes", + original: "1/4 teaspoon basil flakes", + originalName: "basil flakes", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/fresh-basil.jpg", + }, + { + id: 1037, + amount: 15.0, + unit: "ounces", + unitLong: "ounces", + unitShort: "oz", + aisle: "Cheese", + name: "part skim ricotta cheese", + original: "15 ounces part skim ricotta cheese", + originalName: "part skim ricotta cheese", + meta: [], + image: "https://img.spoonacular.com/ingredients_100x100/ricotta.png", + }, + { + id: 11297, + amount: 1.0, + unit: "teaspoon", + unitLong: "teaspoon", + unitShort: "tsp", + aisle: "Produce", + name: "parsley", + original: "1 teaspoon chopped parsley", + originalName: "chopped parsley", + meta: ["chopped"], + image: "https://img.spoonacular.com/ingredients_100x100/parsley.jpg", + }, + { + id: 93833, + amount: 0.25, + unit: "cup", + unitLong: "cups", + unitShort: "cup", + aisle: "Milk, Eggs, Other Dairy", + name: "egg beaters", + original: "1/4 cup Egg Beaters", + originalName: "Egg Beaters", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/liquid-egg-substitute.jpg", + }, + { + id: 1033, + amount: 1.0, + unit: "cup", + unitLong: "cup", + unitShort: "cup", + aisle: "Cheese", + name: "parmesan cheese", + original: "1 cup shredded parmesan cheese (not grated, shredded)", + originalName: "shredded parmesan cheese (not grated, shredded)", + meta: ["shredded", "grated", "(not , )"], + extendedName: "shredded parmesan cheese", + image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", + }, + { + id: 12420420, + amount: 8.0, + unit: "", + unitLong: "", + unitShort: "", + aisle: "Pasta and Rice", + name: "no boil lasagna noodles", + original: "8 no boil lasagna noodles", + originalName: "no boil lasagna noodles", + meta: [], + image: + "https://img.spoonacular.com/ingredients_100x100/lasagna-noodles.jpg", + }, + ], + likes: 0, + usedIngredients: [], + unusedIngredients: [], + }, + ], + offset: 0, + number: 10, + totalResults: 271, +}; diff --git a/styles.css b/styles.css new file mode 100644 index 000000000..e69de29bb From 3ac44228fb278f4f3c3a19a91d65c53986ab062f Mon Sep 17 00:00:00 2001 From: Elvis Ponjevic Date: Sun, 12 Oct 2025 11:55:12 +0200 Subject: [PATCH 2/3] functions with fake spoonacular API --- index.html | 66 ++++++++++--------- script.js | 183 +++++++++++++++++++++++++++++------------------------ styles.css | 100 +++++++++++++++++++++++++++++ 3 files changed, 239 insertions(+), 110 deletions(-) diff --git a/index.html b/index.html index 1e4bd628b..5b278e7bf 100644 --- a/index.html +++ b/index.html @@ -4,40 +4,48 @@ Document - + -
-

Recipe library

-
+
+

Recipe Library

-
-
-

Filter on kitchen

+
+
+

Filter on kitchen

+
+ + + + +
+
- - - - -
+
+

Sort on time

+
+ + +
+
+
-
-

Sort on time

- - - -
- - -
- -
+
+ +
+
diff --git a/script.js b/script.js index e242bcb1b..059498fd5 100644 --- a/script.js +++ b/script.js @@ -1,88 +1,12 @@ -let activeSort = "ascending"; -let cuisineQueryParam = ""; -let sortQueryParam = ""; -let activeFilter = document.getElementById("filter__all"); - -function setActiveFilter(filter) { - if (activeFilter === filter) { - return; - } - // remove active class from activeFilter element - activeFilter.classList.remove("active"); - if (filter === "all") { - cuisineQueryParam = ""; - activeFilter = document.getElementById("filter__all"); - } else { - cuisineQueryParam = "&cuisine=" + filter; - activeFilter = document.getElementById(`filter__${filter}`); - } - activeFilter.className = "active"; -} - -function setActiveSort(direction) { - if (activeSort === direction) { - return; - } - sortQueryParam = `&sort=readyInMinutes&sortDirection=${direction}`; - - activeSort = document.getElementById(`sort__${decending}`); - activeSort.className = "active"; -} - -async function fetchRecipes() { - const URL = `https://api.spoonacular.com/recipes/complexSearch?fillIngredients=true&addRecipeInformation=true&apiKey=3f2445631f2d458b92fe40f9832bcc51${cuisineQueryParam}${sortQueryParam}`; - // fetch(URL) - // .then((response) => response.json()) - // .then((result) => console.log(result)) - // .catch((error) => console.error(error)); - - const recepies = response.map((recipe) => ({ - image: recipe.image, - title: recipe.title, - cuisines: recipe.cuisines, - readyInMinutes: recipe.readyInMinutes, - ingredients: recipe.extendedIngredients.map( - (ingredient) => ingredient.name - ), - })); - - return recepies; -} - -console.log(URL); - -function showCase(recepies) { - const load = document.getElementById("loading"); - - recepies.forEach((recipe) => { - const recipeCard = document.createElement("div"); - recipeCard.className = "recipe__card"; - - recipeCard.innerHTML = ` - -

${recipe.title}

-

Cuisine:${recipe.cuisines}

-

Time:${recipe.readyInMinutes}

-

Ingredients:

- - - }); - `; - }); -} - -showCase(fetchRecipes()); - -var response = { +const response = { results: [ { id: 157101, - image: "https://img.spoonacular.com/recipes/157101-312x231.jpg", + image: + "https://img.spoonacular.com/ingredients_100x100/garlic-powder.png", imageType: "jpg", title: "Chocolate Chai Panna Cotta", - readyInMinutes: 20, + readyInMinutes: 120, servings: 4, sourceUrl: "http://spoonacular.com/-1381771108088", vegetarian: false, @@ -1322,7 +1246,7 @@ var response = { image: "https://img.spoonacular.com/recipes/654571-312x231.jpg", imageType: "jpg", title: "Panna Cotta with Raspberry and Orange Sauce", - readyInMinutes: 45, + readyInMinutes: 333, servings: 6, sourceUrl: "https://www.foodista.com/recipe/K62J5T4T/panna-cotta-with-raspberry-and-orange-sauce", @@ -4429,3 +4353,100 @@ var response = { number: 10, totalResults: 271, }; + +let activeSort = "ascending"; +let cuisineQueryParam = ""; +let sortQueryParam = ""; +let activeFilter = null; + +setActiveFilter("all"); + +function setActiveFilter(filter) { + if (activeFilter === filter) { + return; + } + if (activeFilter) { + // remove active class from activeFilter element + activeFilter.classList.remove("active"); + } + if (filter === "all") { + cuisineQueryParam = ""; + activeFilter = document.getElementById("filter__all"); + } else { + cuisineQueryParam = "&cuisine=" + filter; + activeFilter = document.getElementById(`filter__${filter}`); + } + activeFilter.className = "active"; +} + +function setActiveSort(direction) { + if (activeSort === direction) { + return; + } + if (activeSort.classList) { + activeSort.classList.remove("active"); + } + sortQueryParam = `&sort=readyInMinutes&sortDirection=${direction}`; + + activeSort = document.getElementById(`sort__${direction}`); + activeSort.className = "active"; + + console.log(direction); +} + +async function fetchRecipes() { + const URL = `https://api.spoonacular.com/recipes/complexSearch?fillIngredients=true&addRecipeInformation=true&apiKey=3f2445631f2d458b92fe40f9832bcc51${cuisineQueryParam}${sortQueryParam}`; + // fetch(URL) + // .then((response) => response.json()) + // .then((result) => console.log(result)) + // .catch((error) => console.error(error)); + + console.log(response); + const recipies = response.results.map((recipe) => ({ + image: recipe.image, + title: recipe.title, + cuisines: recipe.cuisines.join(", "), + readyInMinutes: recipe.readyInMinutes, + ingredients: recipe.extendedIngredients.map( + (ingredient) => + `${ingredient.amount} ${ingredient.unit} ${ingredient.name}` + ), + })); + + return recipies; +} + +async function showCase(recipiesPromise) { + const recipeGrid = document.getElementById("recipe__grid"); + recipeGrid.innerHTML = ""; + + const recipies = await recipiesPromise; + + console.log(recipies); + recipies.forEach((recipe) => { + const recipeCard = document.createElement("div"); + recipeCard.className = "recipe__card"; + const ingredientList = document.createElement("ul"); + recipe.ingredients.forEach((ingredient) => { + const ingredientItem = document.createElement("li"); + ingredientItem.textContent = ingredient; + ingredientList.appendChild(ingredientItem); + }); + // created recipeCard + recipeCard.innerHTML = ` + +

${recipe.title}

+

Cuisine: ${recipe.cuisines}

+

Time: ${new Intl.DurationFormat("en", {}).format({ + hours: Math.floor(recipe.readyInMinutes / 60), + minutes: recipe.readyInMinutes % 60, + })}

+

Ingredients:

+ + `; + recipeCard.appendChild(ingredientList); + recipeGrid.appendChild(recipeCard); + }); +} + +showCase(fetchRecipes()); diff --git a/styles.css b/styles.css index e69de29bb..31190bd1b 100644 --- a/styles.css +++ b/styles.css @@ -0,0 +1,100 @@ +* { + margin: 0; +} + +h1 { + color: blue; + font-size: 3.5rem; + /* margin: 0; */ +} + +#controls { + display: flex; + justify-content: space-between; + max-width: 900px; + flex-flow: row wrap; +} + +.controls__container { + display: flex; + justify-content: start; + gap: 30px; + flex-wrap: wrap; +} + +.controls__container > button { + color: #0018a4; + border: none; + padding: 15px 32px; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 16px; + cursor: pointer; + border-radius: 30px; +} +.controls__container.filter > button { + background-color: #ccffe2; +} +.controls__container.filter > button.active { + color: white; + background-color: #0018a4; +} +.controls__container.filter > button:hover { + border: 2px blue solid; +} + +.controls__container.sort > button { + background-color: #ffecea; +} +.controls__container.sort > button.active { + background-color: #ff6589; +} +.controls__container.sort > button:hover { + border: 2px blue solid; + background-color: #ff6589; +} + +#recipe__grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); + margin-top: 2rem; + column-gap: 10px; + row-gap: 20px; +} + +.recipe__card { + display: flex; + flex-direction: column; + padding: 1rem; + /* border: 2px grey solid; */ + border-radius: 10px; + width: 300px; + gap: 10px; + height: fit-content; + box-shadow: 1px 2px 3px 2px #dadada; +} + +.recipe__card > img { + border-radius: 20px; + align-self: center; + max-width: 100%; + margin: 16px; +} + +.recipe__card > h3, +h4 { + border-bottom: 1px grey solid; + padding-bottom: inherit; +} + +.recipe__card > ul { + list-style: none; + padding-inline-start: 0px; +} + +.container { + /* padding: 20px; */ + width: 90dvw; + margin: 0 auto; +} From 110dfb3fe6ca671633467777dd9a1fe6f463fc7c Mon Sep 17 00:00:00 2001 From: Elvis Ponjevic Date: Tue, 14 Oct 2025 16:36:04 +0200 Subject: [PATCH 3/3] change API to real link --- index.html | 36 +- script.js | 4523 ++-------------------------------------------------- styles.css | 7 +- 3 files changed, 132 insertions(+), 4434 deletions(-) diff --git a/index.html b/index.html index 5b278e7bf..0dc4cd940 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ - Document + Recipe Library @@ -12,39 +12,49 @@

Recipe Library

-

Filter on kitchen

+

Filter by cuisine

- - - -
-

Sort on time

+

Sort by time

- -
-
- -
+
diff --git a/script.js b/script.js index 059498fd5..74744a453 100644 --- a/script.js +++ b/script.js @@ -1,4452 +1,135 @@ -const response = { - results: [ - { - id: 157101, - image: - "https://img.spoonacular.com/ingredients_100x100/garlic-powder.png", - imageType: "jpg", - title: "Chocolate Chai Panna Cotta", - readyInMinutes: 120, - servings: 4, - sourceUrl: "http://spoonacular.com/-1381771108088", - vegetarian: false, - vegan: false, - glutenFree: true, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 11, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 0, - healthScore: 1.0, - creditsText: "Because I Like Chocolate ", - license: "spoonacular's terms", - sourceName: "spoonacular", - pricePerServing: 47.22, - extendedIngredients: [ - { - id: 13711111, - aisle: "Tea and Coffee", - image: "tea-bags.jpg", - consistency: "SOLID", - name: "chai tea bag", - nameClean: "chai tea bag", - original: "1 chai tea bag", - originalName: "chai tea bag", - amount: 1.0, - unit: "", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 1077, - aisle: "Milk, Eggs, Other Dairy", - image: "milk.png", - consistency: "LIQUID", - name: "milk", - nameClean: "milk", - original: "2 cups milk", - originalName: "milk", - amount: 2.0, - unit: "cups", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 488.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 10099278, - aisle: "Baking", - image: "chocolate-chips.jpg", - consistency: "SOLID", - name: "milk chocolate chips", - nameClean: "milk chocolate chips", - original: "1/3 cup milk chocolate chips", - originalName: "milk chocolate chips", - amount: 0.33333334, - unit: "cup", - meta: [], - measures: { - us: { - amount: 0.33333334, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 60.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 1052050, - aisle: "Baking", - image: "vanilla.jpg", - consistency: "SOLID", - name: "vanilla", - nameClean: "vanilla", - original: "1 tsp. vanilla", - originalName: "vanilla", - amount: 1.0, - unit: "tsp", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - metric: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - }, - }, - { - id: 14412, - aisle: "Beverages", - image: "water.png", - consistency: "LIQUID", - name: "water", - nameClean: "water", - original: "3 tbsp. cold water", - originalName: "cold water", - amount: 3.0, - unit: "tbsp", - meta: ["cold"], - measures: { - us: { - amount: 3.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 3.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 10719335, - aisle: "Baking", - image: "sugar-in-bowl.png", - consistency: "SOLID", - name: "sugar", - nameClean: "sugar", - original: "1/4 cup white sugar", - originalName: "white sugar", - amount: 0.25, - unit: "cup", - meta: ["white"], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 50.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - ], - summary: - 'Chocolate Chai Panna Cotta might be just the Mediterranean recipe you are searching for. This gluten free recipe serves 4 and costs 47 cents per serving. One serving contains 199 calories, 4g of protein, and 8g of fat. Head to the store and pick up water, milk, milk chocolate chips, and a few other things to make it today. It works well as a very reasonably priced dessert. It is brought to you by spoonacular user Because I Like Chocolate . From preparation to the plate, this recipe takes roughly 20 minutes. Similar recipes include Vanilla Panna Cotta with Chocolate Ganache, Apothic Granitan and Vanilla Panna Cotta, and Durian Panna Cotta.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["dessert"], - diets: ["gluten free"], - occasions: [], - spoonacularScore: 0.717885434627533, - spoonacularSourceUrl: - "https://spoonacular.com/chocolate-chai-panna-cotta-157101", - usedIngredientCount: 0, - missedIngredientCount: 4, - missedIngredients: [ - { - id: 13711111, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Tea and Coffee", - name: "chai tea bag", - original: "1 chai tea bag", - originalName: "chai tea bag", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/tea-bags.jpg", - }, - { - id: 1077, - amount: 2.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Milk, Eggs, Other Dairy", - name: "milk", - original: "2 cups milk", - originalName: "milk", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/milk.png", - }, - { - id: 10099278, - amount: 0.33333334, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Baking", - name: "milk chocolate chips", - original: "1/3 cup milk chocolate chips", - originalName: "milk chocolate chips", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/chocolate-chips.jpg", - }, - { - id: 1052050, - amount: 1.0, - unit: "tsp", - unitLong: "teaspoon", - unitShort: "tsp", - aisle: "Baking", - name: "vanilla", - original: "1 tsp. vanilla", - originalName: "vanilla", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/vanilla.jpg", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 648155, - image: "https://img.spoonacular.com/recipes/648155-312x231.jpg", - imageType: "jpg", - title: "Italian Kale and Potato Soup", - readyInMinutes: 45, - servings: 6, - sourceUrl: - "https://www.foodista.com/recipe/54VL6QJD/italian-kale-and-potato-soup", - vegetarian: false, - vegan: false, - glutenFree: true, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 15, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 2, - healthScore: 36.0, - creditsText: "foodista.com", - license: null, - sourceName: "foodista.com", - pricePerServing: 206.4, - extendedIngredients: [ - { - id: 4053, - aisle: "Oil, Vinegar, Salad Dressing", - image: "olive-oil.jpg", - consistency: "LIQUID", - name: "olive oil", - nameClean: "olive oil", - original: "2 teaspoons olive oil", - originalName: "olive oil", - amount: 2.0, - unit: "teaspoons", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 7036, - aisle: "Meat", - image: "raw-pork-sausage.png", - consistency: "SOLID", - name: "ground turkey sausage", - nameClean: "ground turkey sausage", - original: "1 1/4 pounds ground turkey Italian sausage", - originalName: "ground turkey Italian sausage", - amount: 1.25, - unit: "pounds", - meta: ["italian"], - measures: { - us: { - amount: 1.25, - unitShort: "lb", - unitLong: "pounds", - }, - metric: { - amount: 566.99, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 11352, - aisle: "Produce", - image: "potatoes-yukon-gold.png", - consistency: "SOLID", - name: "potatoes", - nameClean: "potatoes", - original: "1 1/4 pounds potatoes", - originalName: "potatoes", - amount: 1.25, - unit: "pounds", - meta: [], - measures: { - us: { - amount: 1.25, - unitShort: "lb", - unitLong: "pounds", - }, - metric: { - amount: 566.99, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 11282, - aisle: "Produce", - image: "brown-onion.png", - consistency: "SOLID", - name: "onion", - nameClean: "onion", - original: "1 medium onion, chopped", - originalName: "onion, chopped", - amount: 1.0, - unit: "medium", - meta: ["chopped"], - measures: { - us: { - amount: 1.0, - unitShort: "medium", - unitLong: "medium", - }, - metric: { - amount: 1.0, - unitShort: "medium", - unitLong: "medium", - }, - }, - }, - { - id: 11215, - aisle: "Produce", - image: "garlic.png", - consistency: "SOLID", - name: "garlic", - nameClean: "garlic", - original: "3 cloves garlic, minced", - originalName: "garlic, minced", - amount: 3.0, - unit: "cloves", - meta: ["minced"], - measures: { - us: { - amount: 3.0, - unitShort: "cloves", - unitLong: "cloves", - }, - metric: { - amount: 3.0, - unitShort: "cloves", - unitLong: "cloves", - }, - }, - }, - { - id: 11233, - aisle: "Produce", - image: "kale.jpg", - consistency: "SOLID", - name: "kale", - nameClean: "kale", - original: - "1 bunch kale washed, stems removed and chopped into pieces", - originalName: "kale washed, stems removed and chopped into pieces", - amount: 1.0, - unit: "bunch", - meta: ["washed", "chopped"], - measures: { - us: { - amount: 1.0, - unitShort: "bunch", - unitLong: "bunch", - }, - metric: { - amount: 1.0, - unitShort: "bunch", - unitLong: "bunch", - }, - }, - }, - { - id: 6970, - aisle: "Canned and Jarred", - image: "chicken-broth.png", - consistency: "LIQUID", - name: "chicken broth", - nameClean: "chicken broth", - original: "6 cups low-sodium chicken broth", - originalName: "low-sodium chicken broth", - amount: 6.0, - unit: "cups", - meta: ["low-sodium"], - measures: { - us: { - amount: 6.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 1.416, - unitShort: "l", - unitLong: "liters", - }, - }, - }, - { - id: 2003, - aisle: "Spices and Seasonings", - image: "basil.jpg", - consistency: "SOLID", - name: "basil", - nameClean: "basil", - original: "2 teaspoons dried basil", - originalName: "dried basil", - amount: 2.0, - unit: "teaspoons", - meta: ["dried"], - measures: { - us: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 2027, - aisle: "Spices and Seasonings", - image: "oregano.jpg", - consistency: "SOLID", - name: "oregano", - nameClean: "oregano", - original: "2 teaspoons dried oregano", - originalName: "dried oregano", - amount: 2.0, - unit: "teaspoons", - meta: ["dried"], - measures: { - us: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 2018, - aisle: "Spices and Seasonings", - image: "fennel-seeds.jpg", - consistency: "SOLID", - name: "fennel seed", - nameClean: "fennel seed", - original: "2 teaspoons crushed fennel seed", - originalName: "crushed fennel seed", - amount: 2.0, - unit: "teaspoons", - meta: ["crushed"], - measures: { - us: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 1088, - aisle: "Milk, Eggs, Other Dairy", - image: "buttermilk.jpg", - consistency: "SOLID", - name: "buttermilk", - nameClean: "buttermilk", - original: "1/2 cup low-fat buttermilk", - originalName: "low-fat buttermilk", - amount: 0.5, - unit: "cup", - meta: ["low-fat"], - measures: { - us: { - amount: 0.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 120.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 1002030, - aisle: "Spices and Seasonings", - image: "pepper.jpg", - consistency: "SOLID", - name: "ground pepper", - nameClean: "ground pepper", - original: "fresh ground pepper to taste", - originalName: "fresh ground pepper to taste", - amount: 6.0, - unit: "servings", - meta: ["fresh", "to taste"], - measures: { - us: { - amount: 6.0, - unitShort: "servings", - unitLong: "servings", - }, - metric: { - amount: 6.0, - unitShort: "servings", - unitLong: "servings", - }, - }, - }, - { - id: 11233, - aisle: "Produce", - image: "kale.jpg", - consistency: "SOLID", - name: "kale", - nameClean: "kale", - original: "Kale", - originalName: "Kale", - amount: 6.0, - unit: "servings", - meta: [], - measures: { - us: { - amount: 6.0, - unitShort: "servings", - unitLong: "servings", - }, - metric: { - amount: 6.0, - unitShort: "servings", - unitLong: "servings", - }, - }, - }, - { - id: -1, - aisle: "?", - image: null, - consistency: "SOLID", - name: "to", - nameClean: "to", - original: "1/4 cup to ½ shredded pecorino", - originalName: "to ½ shredded pecorino", - amount: 0.25, - unit: "cup", - meta: ["shredded"], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 59.147, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: -1, - aisle: "?", - image: null, - consistency: "SOLID", - name: "to", - nameClean: "to", - original: "1/4 cup to ½ shredded pecorino", - originalName: "to ½ shredded pecorino", - amount: 0.25, - unit: "cup", - meta: ["shredded"], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 59.147, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - ], - summary: - 'Italian Kale and Potato Soup is a gluten free and whole 30 recipe with 6 servings. This main course has 480 calories, 22g of protein, and 33g of fat per serving. For $2.06 per serving, this recipe covers 26% of your daily requirements of vitamins and minerals. 2 people have made this recipe and would make it again. If you have oregano, ground turkey sausage, chicken broth, and a few other ingredients on hand, you can make it. It can be enjoyed any time, but it is especially good for Autumn. Not a lot of people really liked this Mediterranean dish. It is brought to you by Foodista. From preparation to the plate, this recipe takes roughly 45 minutes. All things considered, we decided this recipe deserves a spoonacular score of 80%. This score is great. Similar recipes are Italian Kale and Potato Soup, Zuppa Vegana: Italian Potato, Bean, and Kale Soup, and Zuppa Toscana {Creamy Potato & Kale Soup with Italian Sausage}.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["soup", "lunch", "main course", "main dish", "dinner"], - diets: ["gluten free", "whole 30"], - occasions: ["fall", "winter"], - spoonacularScore: 79.62730407714844, - spoonacularSourceUrl: - "https://spoonacular.com/italian-kale-and-potato-soup-648155", - usedIngredientCount: 0, - missedIngredientCount: 10, - missedIngredients: [ - { - id: 7036, - amount: 1.25, - unit: "pounds", - unitLong: "pounds", - unitShort: "lb", - aisle: "Meat", - name: "ground turkey sausage", - original: "1 1/4 pounds ground turkey Italian sausage", - originalName: "ground turkey Italian sausage", - meta: ["italian"], - extendedName: "italian ground turkey sausage", - image: - "https://img.spoonacular.com/ingredients_100x100/raw-pork-sausage.png", - }, - { - id: 11352, - amount: 1.25, - unit: "pounds", - unitLong: "pounds", - unitShort: "lb", - aisle: "Produce", - name: "potatoes", - original: "1 1/4 pounds potatoes", - originalName: "potatoes", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/potatoes-yukon-gold.png", - }, - { - id: 11282, - amount: 1.0, - unit: "medium", - unitLong: "medium", - unitShort: "medium", - aisle: "Produce", - name: "onion", - original: "1 medium onion, chopped", - originalName: "onion, chopped", - meta: ["chopped"], - image: - "https://img.spoonacular.com/ingredients_100x100/brown-onion.png", - }, - { - id: 11215, - amount: 3.0, - unit: "cloves", - unitLong: "cloves", - unitShort: "cloves", - aisle: "Produce", - name: "garlic", - original: "3 cloves garlic, minced", - originalName: "garlic, minced", - meta: ["minced"], - image: "https://img.spoonacular.com/ingredients_100x100/garlic.png", - }, - { - id: 11233, - amount: 1.0, - unit: "bunch", - unitLong: "bunch", - unitShort: "bunch", - aisle: "Produce", - name: "kale", - original: - "1 bunch kale washed, stems removed and chopped into pieces", - originalName: "kale washed, stems removed and chopped into pieces", - meta: ["washed", "chopped"], - image: "https://img.spoonacular.com/ingredients_100x100/kale.jpg", - }, - { - id: 6970, - amount: 6.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Canned and Jarred", - name: "chicken broth", - original: "6 cups low-sodium chicken broth", - originalName: "low-sodium chicken broth", - meta: ["low-sodium"], - extendedName: "low sodium chicken broth", - image: - "https://img.spoonacular.com/ingredients_100x100/chicken-broth.png", - }, - { - id: 2003, - amount: 2.0, - unit: "teaspoons", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Spices and Seasonings", - name: "basil", - original: "2 teaspoons dried basil", - originalName: "dried basil", - meta: ["dried"], - extendedName: "dried basil", - image: "https://img.spoonacular.com/ingredients_100x100/basil.jpg", - }, - { - id: 2027, - amount: 2.0, - unit: "teaspoons", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Spices and Seasonings", - name: "oregano", - original: "2 teaspoons dried oregano", - originalName: "dried oregano", - meta: ["dried"], - extendedName: "dried oregano", - image: "https://img.spoonacular.com/ingredients_100x100/oregano.jpg", - }, - { - id: 2018, - amount: 2.0, - unit: "teaspoons", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Spices and Seasonings", - name: "fennel seed", - original: "2 teaspoons crushed fennel seed", - originalName: "crushed fennel seed", - meta: ["crushed"], - image: - "https://img.spoonacular.com/ingredients_100x100/fennel-seeds.jpg", - }, - { - id: 1088, - amount: 0.5, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Milk, Eggs, Other Dairy", - name: "buttermilk", - original: "1/2 cup low-fat buttermilk", - originalName: "low-fat buttermilk", - meta: ["low-fat"], - extendedName: "low fat buttermilk", - image: - "https://img.spoonacular.com/ingredients_100x100/buttermilk.jpg", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 1697783, - image: "https://img.spoonacular.com/recipes/1697783-312x231.jpg", - imageType: "jpg", - title: "Tiramisu Overnight Oats", - readyInMinutes: 5, - servings: 1, - sourceUrl: "https://maplewoodroad.com/tiramisu-overnight-oats/", - vegetarian: true, - vegan: false, - glutenFree: true, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 21, - gaps: "no", - preparationMinutes: 5, - cookingMinutes: 0, - aggregateLikes: 0, - healthScore: 14.0, - creditsText: "maplewoodroad", - license: "spoonacular's terms", - sourceName: "Maplewood Road", - pricePerServing: 241.01, - extendedIngredients: [ - { - id: 8120, - aisle: "Cereal", - image: "rolled-oats.jpg", - consistency: "SOLID", - name: "old fashioned rolled oats", - nameClean: "old fashioned rolled oats", - original: "1/2 c old fashioned rolled oats", - originalName: "old fashioned rolled oats", - amount: 0.5, - unit: "c", - meta: [], - measures: { - us: { - amount: 0.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 40.541, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 12006, - aisle: "Health Foods", - image: "chia-seeds.jpg", - consistency: "SOLID", - name: "chia seeds", - nameClean: "chia seeds", - original: "1-1/2 tsp chia seeds", - originalName: "chia seeds", - amount: 1.5, - unit: "tsp", - meta: [], - measures: { - us: { - amount: 1.5, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 1.5, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 19911, - aisle: "Cereal", - image: "maple-syrup.png", - consistency: "LIQUID", - name: "honey", - nameClean: "honey", - original: - "2 Tbsp honey, divided (or substitute agave or maple syrup instead)", - originalName: - "honey, divided (or substitute agave or maple syrup instead)", - amount: 2.0, - unit: "Tbsp", - meta: ["divided", "(or substitute agave or maple syrup instead)"], - measures: { - us: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 2050, - aisle: "Baking", - image: "vanilla-extract.jpg", - consistency: "LIQUID", - name: "vanilla extract", - nameClean: "vanilla extract", - original: "1/4 tsp vanilla extract", - originalName: "vanilla extract", - amount: 0.25, - unit: "tsp", - meta: [], - measures: { - us: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 1077, - aisle: "Milk, Eggs, Other Dairy", - image: "milk.png", - consistency: "LIQUID", - name: "milk", - nameClean: "milk", - original: "6 Tbsp milk", - originalName: "milk", - amount: 6.0, - unit: "Tbsp", - meta: [], - measures: { - us: { - amount: 6.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 6.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 10014209, - aisle: "Tea and Coffee", - image: "brewed-coffee.jpg", - consistency: "SOLID", - name: "strong coffee", - nameClean: "strong coffee", - original: "1/4 c espresso or strong brewed coffee", - originalName: "espresso or strong brewed coffee", - amount: 0.25, - unit: "c", - meta: ["brewed"], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 59.25, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 1001256, - aisle: "Milk, Eggs, Other Dairy", - image: "white-cream.png", - consistency: "LIQUID", - name: "greek yogurt", - nameClean: "greek yogurt", - original: "1/2 c plain Greek yogurt", - originalName: "plain Greek yogurt", - amount: 0.5, - unit: "c", - meta: ["plain"], - measures: { - us: { - amount: 0.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 100.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 93820, - aisle: "Cheese", - image: "white-cream-fluffy.jpg", - consistency: "SOLID", - name: "mascarpone cheese", - nameClean: "mascarpone cheese", - original: "2 Tbsp mascarpone cheese", - originalName: "mascarpone cheese", - amount: 2.0, - unit: "Tbsp", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 19165, - aisle: "Baking", - image: "cocoa-powder.png", - consistency: "SOLID", - name: "cocoa powder", - nameClean: "cocoa powder", - original: "1 tsp cocoa powder", - originalName: "cocoa powder", - amount: 1.0, - unit: "tsp", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - metric: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - }, - }, - { - id: 19165, - aisle: "Baking", - image: "cocoa-powder.png", - consistency: "SOLID", - name: "chocolate & extra cocoa powder", - nameClean: "chocolate & extra cocoa powder", - original: "Shaved chocolate & extra cocoa powder for garnish", - originalName: "Shaved chocolate & extra cocoa powder for garnish", - amount: 1.0, - unit: "serving", - meta: ["shaved", "for garnish"], - measures: { - us: { - amount: 1.0, - unitShort: "serving", - unitLong: "serving", - }, - metric: { - amount: 1.0, - unitShort: "serving", - unitLong: "serving", - }, - }, - }, - ], - summary: - 'You can never have too many Mediterranean recipes, so give Tiramisu Overnight Oats a try. One portion of this dish contains about 22g of protein, 22g of fat, and a total of 549 calories. For $2.41 per serving, this recipe covers 22% of your daily requirements of vitamins and minerals. This recipe serves 1. From preparation to the plate, this recipe takes approximately 5 minutes. It works well as a breakfast. It is a good option if you\'re following a gluten free and lacto ovo vegetarian diet. This recipe from spoonacular user maplewoodroad requires greek yogurt, chia seeds, honey, and vanillan extract. Similar recipes are 5 Ways to Top Your Overnight Oats + Vanilla Bean Overnight Oat, 5 Ways to Top Your Overnight Oats + Vanilla Bean Overnight Oat, and Overnight Oats.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["morning meal", "brunch", "breakfast"], - diets: ["gluten free", "lacto ovo vegetarian"], - occasions: [], - spoonacularScore: 19.803884506225586, - spoonacularSourceUrl: - "https://spoonacular.com/tiramisu-overnight-oats-1697783", - usedIngredientCount: 0, - missedIngredientCount: 9, - missedIngredients: [ - { - id: 8120, - amount: 0.5, - unit: "c", - unitLong: "cups", - unitShort: "cup", - aisle: "Cereal", - name: "old fashioned rolled oats", - original: "1/2 c old fashioned rolled oats", - originalName: "old fashioned rolled oats", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/rolled-oats.jpg", - }, - { - id: 12006, - amount: 1.5, - unit: "tsp", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Health Foods", - name: "chia seeds", - original: "1-1/2 tsp chia seeds", - originalName: "chia seeds", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/chia-seeds.jpg", - }, - { - id: 19911, - amount: 2.0, - unit: "Tbsp", - unitLong: "Tbsps", - unitShort: "Tbsp", - aisle: "Cereal", - name: "honey", - original: - "2 Tbsp honey, divided (or substitute agave or maple syrup instead)", - originalName: - "honey, divided (or substitute agave or maple syrup instead)", - meta: ["divided", "(or substitute agave or maple syrup instead)"], - image: - "https://img.spoonacular.com/ingredients_100x100/maple-syrup.png", - }, - { - id: 2050, - amount: 0.25, - unit: "tsp", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Baking", - name: "vanilla extract", - original: "1/4 tsp vanilla extract", - originalName: "vanilla extract", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/vanilla-extract.jpg", - }, - { - id: 1077, - amount: 6.0, - unit: "Tbsp", - unitLong: "Tbsps", - unitShort: "Tbsp", - aisle: "Milk, Eggs, Other Dairy", - name: "milk", - original: "6 Tbsp milk", - originalName: "milk", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/milk.png", - }, - { - id: 10014209, - amount: 0.25, - unit: "c", - unitLong: "cups", - unitShort: "cup", - aisle: "Tea and Coffee", - name: "strong coffee", - original: "1/4 c espresso or strong brewed coffee", - originalName: "espresso or strong brewed coffee", - meta: ["brewed"], - image: - "https://img.spoonacular.com/ingredients_100x100/brewed-coffee.jpg", - }, - { - id: 1001256, - amount: 0.5, - unit: "c", - unitLong: "cups", - unitShort: "cup", - aisle: "Milk, Eggs, Other Dairy", - name: "greek yogurt", - original: "1/2 c plain Greek yogurt", - originalName: "plain Greek yogurt", - meta: ["plain"], - extendedName: "plain greek yogurt", - image: - "https://img.spoonacular.com/ingredients_100x100/white-cream.png", - }, - { - id: 93820, - amount: 2.0, - unit: "Tbsp", - unitLong: "Tbsps", - unitShort: "Tbsp", - aisle: "Cheese", - name: "mascarpone cheese", - original: "2 Tbsp mascarpone cheese", - originalName: "mascarpone cheese", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/white-cream-fluffy.jpg", - }, - { - id: 19165, - amount: 1.0, - unit: "tsp", - unitLong: "teaspoon", - unitShort: "tsp", - aisle: "Baking", - name: "cocoa powder", - original: "1 tsp cocoa powder", - originalName: "cocoa powder", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/cocoa-powder.png", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 654571, - image: "https://img.spoonacular.com/recipes/654571-312x231.jpg", - imageType: "jpg", - title: "Panna Cotta with Raspberry and Orange Sauce", - readyInMinutes: 333, - servings: 6, - sourceUrl: - "https://www.foodista.com/recipe/K62J5T4T/panna-cotta-with-raspberry-and-orange-sauce", - vegetarian: false, - vegan: false, - glutenFree: true, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 18, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 18, - healthScore: 3.0, - creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", - license: "CC BY 3.0", - sourceName: "Foodista", - pricePerServing: 143.08, - extendedIngredients: [ - { - id: 1049, - aisle: "Milk, Eggs, Other Dairy", - image: "fluid-cream.jpg", - consistency: "SOLID", - name: "half and half", - nameClean: "half and half", - original: "4 cups of half and half", - originalName: "half and half", - amount: 4.0, - unit: "cups", - meta: [], - measures: { - us: { - amount: 4.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 968.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 93820, - aisle: "Cheese", - image: "white-cream-fluffy.jpg", - consistency: "SOLID", - name: "mascarpone", - nameClean: "mascarpone", - original: "1/2 cup mascarpone", - originalName: "mascarpone", - amount: 0.5, - unit: "cup", - meta: [], - measures: { - us: { - amount: 0.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 112.5, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 19335, - aisle: "Baking", - image: "sugar-in-bowl.png", - consistency: "SOLID", - name: "sugar", - nameClean: "sugar", - original: "1/2 cup sugar", - originalName: "sugar", - amount: 0.5, - unit: "cup", - meta: [], - measures: { - us: { - amount: 0.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 100.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 1052050, - aisle: "Baking", - image: "vanilla.jpg", - consistency: "SOLID", - name: "vanilla", - nameClean: "vanilla", - original: "1-1/2 teaspoons vanilla", - originalName: "vanilla", - amount: 1.5, - unit: "teaspoons", - meta: [], - measures: { - us: { - amount: 1.5, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 1.5, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 19177, - aisle: "Baking", - image: "gelatin-powder.jpg", - consistency: "SOLID", - name: "powdered gelatin", - nameClean: "powdered gelatin", - original: "1 tablespoon powdered unflavored gelatin", - originalName: "powdered unflavored gelatin", - amount: 1.0, - unit: "tablespoon", - meta: ["unflavored"], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 9216, - aisle: "Produce", - image: "orange-zest.png", - consistency: "SOLID", - name: "orange zest", - nameClean: "orange zest", - original: "Zest from 1 orange", - originalName: "Zest from orange", - amount: 1.0, - unit: "", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 9302, - aisle: "Produce", - image: "raspberries.jpg", - consistency: "SOLID", - name: "raspberries", - nameClean: "raspberries", - original: "2 cups fresh raspberries (or frozen, thawed)", - originalName: "fresh raspberries (or frozen, thawed)", - amount: 2.0, - unit: "cups", - meta: ["fresh", "frozen", "thawed", "(or , )"], - measures: { - us: { - amount: 2.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 240.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 9206, - aisle: "Beverages", - image: "orange-juice.jpg", - consistency: "LIQUID", - name: "orange juice", - nameClean: "orange juice", - original: "2 teaspoons orange juice", - originalName: "orange juice", - amount: 2.0, - unit: "teaspoons", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 2.0, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 19336, - aisle: "Baking", - image: "powdered-sugar.jpg", - consistency: "SOLID", - name: "confectioners sugar", - nameClean: "confectioners sugar", - original: "1-2 tablespoons confectioners sugar", - originalName: "confectioners sugar", - amount: 1.0, - unit: "tablespoons", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - ], - summary: - 'Panna Cotta with Raspberry and Orange Sauce is a dessert that serves 6. One serving contains 396 calories, 8g of protein, and 27g of fat. For $1.43 per serving, this recipe covers 8% of your daily requirements of vitamins and minerals. It is a good option if you\'re following a gluten free diet. This recipe from Foodista has 18 fans. A few people really liked this Mediterranean dish. If you have half and half, orange juice, vanilla, and a few other ingredients on hand, you can make it. From preparation to the plate, this recipe takes around 45 minutes. Overall, this recipe earns a rather bad spoonacular score of 34%. If you like this recipe, you might also like recipes such as Ghostly Panna Cottas with Ghastly Sauce(Panna Cotta with Cranberry-Orange Sauce), Panna Cotta With Raspberry Sauce, and Daring Bakers’ Challenge: Vanilla Bean & Blood Orange Panna Cotta with Orange Allspice Caramel Sauce and Orange Cardamom Hazelnut Dark Chocolate Florentines (gluten free).', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["dessert"], - diets: ["gluten free"], - occasions: [], - spoonacularScore: 42.345664978027344, - spoonacularSourceUrl: - "https://spoonacular.com/panna-cotta-with-raspberry-and-orange-sauce-654571", - usedIngredientCount: 0, - missedIngredientCount: 7, - missedIngredients: [ - { - id: 1049, - amount: 4.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Milk, Eggs, Other Dairy", - name: "half and half", - original: "4 cups of half and half", - originalName: "half and half", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/fluid-cream.jpg", - }, - { - id: 93820, - amount: 0.5, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Cheese", - name: "mascarpone", - original: "1/2 cup mascarpone", - originalName: "mascarpone", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/white-cream-fluffy.jpg", - }, - { - id: 1052050, - amount: 1.5, - unit: "teaspoons", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Baking", - name: "vanilla", - original: "1-1/2 teaspoons vanilla", - originalName: "vanilla", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/vanilla.jpg", - }, - { - id: 19177, - amount: 1.0, - unit: "tablespoon", - unitLong: "tablespoon", - unitShort: "Tbsp", - aisle: "Baking", - name: "powdered gelatin", - original: "1 tablespoon powdered unflavored gelatin", - originalName: "powdered unflavored gelatin", - meta: ["unflavored"], - extendedName: "unflavored powdered gelatin", - image: - "https://img.spoonacular.com/ingredients_100x100/gelatin-powder.jpg", - }, - { - id: 9216, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Produce", - name: "orange zest", - original: "Zest from 1 orange", - originalName: "Zest from orange", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/orange-zest.png", - }, - { - id: 9302, - amount: 2.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Produce", - name: "raspberries", - original: "2 cups fresh raspberries (or frozen, thawed)", - originalName: "fresh raspberries (or frozen, thawed)", - meta: ["fresh", "frozen", "thawed", "(or , )"], - extendedName: "fresh raspberries", - image: - "https://img.spoonacular.com/ingredients_100x100/raspberries.jpg", - }, - { - id: 9206, - amount: 2.0, - unit: "teaspoons", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Beverages", - name: "orange juice", - original: "2 teaspoons orange juice", - originalName: "orange juice", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/orange-juice.jpg", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 661427, - image: "https://img.spoonacular.com/recipes/661427-312x231.jpg", - imageType: "jpg", - title: "Spring Risotto with Shrimp, Asparagus and Artichoke Hearts", - readyInMinutes: 45, - servings: 4, - sourceUrl: - "https://www.foodista.com/recipe/F5CM7K6N/spring-risotto-with-shrimp-asparagus-and-artichoke-hearts", - vegetarian: false, - vegan: false, - glutenFree: true, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 10, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 1, - healthScore: 7.0, - creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", - license: "CC BY 3.0", - sourceName: "Foodista", - pricePerServing: 250.8, - extendedIngredients: [ - { - id: 6615, - aisle: "Canned and Jarred", - image: "chicken-broth.png", - consistency: "LIQUID", - name: "vegetable broth", - nameClean: "vegetable broth", - original: "2½ cups chicken or vegetable broth (you may not need all)", - originalName: "chicken or vegetable broth (you may not need all)", - amount: 2.5, - unit: "cups", - meta: ["(you may not need all)"], - measures: { - us: { - amount: 2.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 587.5, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 1145, - aisle: "Milk, Eggs, Other Dairy", - image: "butter-sliced.jpg", - consistency: "SOLID", - name: "butter", - nameClean: "butter", - original: "1 tablespoon unsalted butter", - originalName: "unsalted butter", - amount: 1.0, - unit: "tablespoon", - meta: ["unsalted"], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 11677, - aisle: "Produce", - image: "shallots.jpg", - consistency: "SOLID", - name: "shallot", - nameClean: "shallot", - original: "1 shallot, minced", - originalName: "shallot, minced", - amount: 1.0, - unit: "", - meta: ["minced"], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 11215, - aisle: "Produce", - image: "garlic.png", - consistency: "SOLID", - name: "garlic glove", - nameClean: "garlic glove", - original: "1 garlic glove, minced", - originalName: "garlic glove, minced", - amount: 1.0, - unit: "", - meta: ["minced"], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 10020052, - aisle: "Pasta and Rice", - image: "uncooked-white-rice.png", - consistency: "SOLID", - name: "arborio rice", - nameClean: "arborio rice", - original: "1½ cups arborio rice", - originalName: "arborio rice", - amount: 1.5, - unit: "cups", - meta: [], - measures: { - us: { - amount: 1.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 300.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 14106, - aisle: "Alcoholic Beverages", - image: "white-wine.jpg", - consistency: "LIQUID", - name: "wine", - nameClean: "wine", - original: "¼ cup dry white wine (I used chardonnay)", - originalName: "dry white wine (I used chardonnay)", - amount: 0.25, - unit: "cup", - meta: ["dry white", "(I used chardonnay)"], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 60.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 11011, - aisle: "Produce", - image: "asparagus.png", - consistency: "SOLID", - name: "asparagus", - nameClean: "asparagus", - original: "½ cup asparagus, chopped", - originalName: "asparagus, chopped", - amount: 0.5, - unit: "cup", - meta: ["chopped"], - measures: { - us: { - amount: 0.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 67.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 11304, - aisle: "Produce", - image: "peas.jpg", - consistency: "SOLID", - name: "peas", - nameClean: "peas", - original: "¼ cup peas", - originalName: "peas", - amount: 0.25, - unit: "cup", - meta: [], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 36.25, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 99242, - aisle: "Produce", - image: "artichoke-hearts.png", - consistency: "SOLID", - name: "artichoke hearts", - nameClean: "artichoke hearts", - original: "¼ cup artichoke hearts", - originalName: "artichoke hearts", - amount: 0.25, - unit: "cup", - meta: [], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 132.25, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 15270, - aisle: "Seafood", - image: "shrimp.png", - consistency: "SOLID", - name: "shrimp", - nameClean: "shrimp", - original: "10-15 shrimp, peeled & deveined", - originalName: "shrimp, peeled & deveined", - amount: 10.0, - unit: "", - meta: ["deveined", "peeled"], - measures: { - us: { - amount: 10.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 10.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 9156, - aisle: "Produce", - image: "zest-lemon.jpg", - consistency: "SOLID", - name: "lemon zest", - nameClean: "lemon zest", - original: "1 tablespoon lemon zest (a small lemon)", - originalName: "lemon zest (a small lemon)", - amount: 1.0, - unit: "tablespoon", - meta: ["(a small lemon)"], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 1032, - aisle: "Cheese", - image: "parmesan.jpg", - consistency: "SOLID", - name: "parmesan cheese", - nameClean: "parmesan cheese", - original: "¼ cup freshly grated Parmesan cheese", - originalName: "freshly grated Parmesan cheese", - amount: 0.25, - unit: "cup", - meta: ["freshly grated"], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 25.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 1102047, - aisle: "Spices and Seasonings", - image: "salt-and-pepper.jpg", - consistency: "SOLID", - name: "salt and pepper", - nameClean: "salt and pepper", - original: "Salt and pepper, to taste", - originalName: "Salt and pepper, to taste", - amount: 4.0, - unit: "servings", - meta: ["to taste"], - measures: { - us: { - amount: 4.0, - unitShort: "servings", - unitLong: "servings", - }, - metric: { - amount: 4.0, - unitShort: "servings", - unitLong: "servings", - }, - }, - }, - ], - summary: - 'If you want to add more gluten free and pescatarian recipes to your collection, Spring Risotto with Shrimp, Asparagus and Artichoke Hearts might be a recipe you should try. This recipe makes 4 servings with 385 calories, 13g of protein, and 5g of fat each. For $2.51 per serving, this recipe covers 14% of your daily requirements of vitamins and minerals. A mixture of parmesan cheese, salt and pepper, garlic glove, and a handful of other ingredients are all it takes to make this recipe so yummy. 1 person has made this recipe and would make it again. This recipe is typical of Mediterranean cuisine. It works well as a main course. From preparation to the plate, this recipe takes around 45 minutes. It will be a hit at your Spring event. It is brought to you by Foodista. All things considered, we decided this recipe deserves a spoonacular score of 41%. This score is good. If you like this recipe, take a look at these similar recipes: Spring Risotto with Shrimp, Asparagus and Artichoke Hearts, Kumquat\'s Spring Pizza With Asparagus and Artichoke Hearts, and Risotto With Artichoke Hearts And Lemon.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["side dish", "lunch", "main course", "main dish", "dinner"], - diets: ["gluten free", "pescatarian"], - occasions: ["spring", "easter"], - spoonacularScore: 46.86799621582031, - spoonacularSourceUrl: - "https://spoonacular.com/spring-risotto-with-shrimp-asparagus-and-artichoke-hearts-661427", - usedIngredientCount: 0, - missedIngredientCount: 12, - missedIngredients: [ - { - id: 6615, - amount: 2.5, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Canned and Jarred", - name: "vegetable broth", - original: "2½ cups chicken or vegetable broth (you may not need all)", - originalName: "chicken or vegetable broth (you may not need all)", - meta: ["(you may not need all)"], - image: - "https://img.spoonacular.com/ingredients_100x100/chicken-broth.png", - }, - { - id: 1145, - amount: 1.0, - unit: "tablespoon", - unitLong: "tablespoon", - unitShort: "Tbsp", - aisle: "Milk, Eggs, Other Dairy", - name: "butter", - original: "1 tablespoon unsalted butter", - originalName: "unsalted butter", - meta: ["unsalted"], - extendedName: "unsalted butter", - image: - "https://img.spoonacular.com/ingredients_100x100/butter-sliced.jpg", - }, - { - id: 11677, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Produce", - name: "shallot", - original: "1 shallot, minced", - originalName: "shallot, minced", - meta: ["minced"], - image: "https://img.spoonacular.com/ingredients_100x100/shallots.jpg", - }, - { - id: 11215, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Produce", - name: "garlic glove", - original: "1 garlic glove, minced", - originalName: "garlic glove, minced", - meta: ["minced"], - image: "https://img.spoonacular.com/ingredients_100x100/garlic.png", - }, - { - id: 10020052, - amount: 1.5, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Pasta and Rice", - name: "arborio rice", - original: "1½ cups arborio rice", - originalName: "arborio rice", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/uncooked-white-rice.png", - }, - { - id: 14106, - amount: 0.25, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Alcoholic Beverages", - name: "wine", - original: "¼ cup dry white wine (I used chardonnay)", - originalName: "dry white wine (I used chardonnay)", - meta: ["dry white", "(I used chardonnay)"], - extendedName: "dry white wine", - image: - "https://img.spoonacular.com/ingredients_100x100/white-wine.jpg", - }, - { - id: 11011, - amount: 0.5, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Produce", - name: "asparagus", - original: "½ cup asparagus, chopped", - originalName: "asparagus, chopped", - meta: ["chopped"], - image: - "https://img.spoonacular.com/ingredients_100x100/asparagus.png", - }, - { - id: 11304, - amount: 0.25, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Produce", - name: "peas", - original: "¼ cup peas", - originalName: "peas", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/peas.jpg", - }, - { - id: 99242, - amount: 0.25, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Produce", - name: "artichoke hearts", - original: "¼ cup artichoke hearts", - originalName: "artichoke hearts", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/artichoke-hearts.png", - }, - { - id: 15270, - amount: 10.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Seafood", - name: "shrimp", - original: "10-15 shrimp, peeled & deveined", - originalName: "shrimp, peeled & deveined", - meta: ["deveined", "peeled"], - image: "https://img.spoonacular.com/ingredients_100x100/shrimp.png", - }, - { - id: 9156, - amount: 1.0, - unit: "tablespoon", - unitLong: "tablespoon", - unitShort: "Tbsp", - aisle: "Produce", - name: "lemon zest", - original: "1 tablespoon lemon zest (a small lemon)", - originalName: "lemon zest (a small lemon)", - meta: ["(a small lemon)"], - image: - "https://img.spoonacular.com/ingredients_100x100/zest-lemon.jpg", - }, - { - id: 1032, - amount: 0.25, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Cheese", - name: "parmesan cheese", - original: "¼ cup freshly grated Parmesan cheese", - originalName: "freshly grated Parmesan cheese", - meta: ["freshly grated"], - image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 632445, - image: "https://img.spoonacular.com/recipes/632445-312x231.jpg", - imageType: "jpg", - title: "Apothic Granita and Vanilla Panna Cotta", - readyInMinutes: 45, - servings: 6, - sourceUrl: - "http://www.foodista.com/recipe/CWV34WHV/apothic-granita-vanilla-panna-cotta", - vegetarian: false, - vegan: false, - glutenFree: true, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 24, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 5, - healthScore: 1.0, - creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", - license: "CC BY 3.0", - sourceName: "Foodista", - pricePerServing: 260.44, - extendedIngredients: [ - { - id: 1022030, - aisle: "Spices and Seasonings", - image: "black-pepper.png", - consistency: "SOLID", - name: "peppercorns", - nameClean: "peppercorns", - original: "4 black peppercorns", - originalName: "black peppercorns", - amount: 4.0, - unit: "", - meta: ["black"], - measures: { - us: { - amount: 4.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 4.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 14034, - aisle: "Alcoholic Beverages", - image: "green-liqueur.png", - consistency: "SOLID", - name: "crème de cassis liqueur", - nameClean: "crème de cassis liqueur", - original: "2 tablespoons crème de cassis liqueur", - originalName: "crème de cassis liqueur", - amount: 2.0, - unit: "tablespoons", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 2063, - aisle: "Produce", - image: "rosemary.jpg", - consistency: "SOLID", - name: "rosemary", - nameClean: "rosemary", - original: "1 sprig fresh rosemary", - originalName: "fresh rosemary", - amount: 1.0, - unit: "sprig", - meta: ["fresh"], - measures: { - us: { - amount: 1.0, - unitShort: "sprig", - unitLong: "sprig", - }, - metric: { - amount: 1.0, - unitShort: "sprig", - unitLong: "sprig", - }, - }, - }, - { - id: 19177, - aisle: "Baking", - image: "gelatin-powder.jpg", - consistency: "SOLID", - name: "knox powdered gelatin", - nameClean: "knox powdered gelatin", - original: "4 1/2 teaspoons Knox unflavored powdered gelatin", - originalName: "Knox unflavored powdered gelatin", - amount: 4.5, - unit: "teaspoons", - meta: ["unflavored"], - measures: { - us: { - amount: 4.5, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 4.5, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 1049, - aisle: "Milk, Eggs, Other Dairy", - image: "fluid-cream.jpg", - consistency: "SOLID", - name: "half and half", - nameClean: "half and half", - original: "2 cups half and half", - originalName: "half and half", - amount: 2.0, - unit: "cups", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 484.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 1053, - aisle: "Milk, Eggs, Other Dairy", - image: "fluid-cream.jpg", - consistency: "LIQUID", - name: "heavy cream", - nameClean: "heavy cream", - original: "2 cups heavy cream", - originalName: "heavy cream", - amount: 2.0, - unit: "cups", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 476.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 9152, - aisle: "Produce", - image: "lemon-juice.jpg", - consistency: "LIQUID", - name: "lemon juice", - nameClean: "lemon juice", - original: "1 tablespoon fresh lemon juice", - originalName: "fresh lemon juice", - amount: 1.0, - unit: "tablespoon", - meta: ["fresh"], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 19335, - aisle: "Baking", - image: "sugar-in-bowl.png", - consistency: "SOLID", - name: "sugar", - nameClean: "sugar", - original: "1/2 cup sugar", - originalName: "sugar", - amount: 0.5, - unit: "cup", - meta: [], - measures: { - us: { - amount: 0.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 100.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 93622, - aisle: "Baking", - image: "vanilla.jpg", - consistency: "SOLID", - name: "vanilla bean", - nameClean: "vanilla bean", - original: "1 vanilla bean, split lengthwise", - originalName: "vanilla bean, split lengthwise", - amount: 1.0, - unit: "", - meta: ["split"], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 14412, - aisle: "Beverages", - image: "water.png", - consistency: "LIQUID", - name: "water", - nameClean: "water", - original: "6 tablespoons cold water", - originalName: "cold water", - amount: 6.0, - unit: "tablespoons", - meta: ["cold"], - measures: { - us: { - amount: 6.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 6.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 14096, - aisle: "Alcoholic Beverages", - image: "red-wine.jpg", - consistency: "LIQUID", - name: "apothic red wine", - nameClean: "apothic red wine", - original: "1 1/2 cups of Apothic Red Wine", - originalName: "Apothic Red Wine", - amount: 1.5, - unit: "cups", - meta: [], - measures: { - us: { - amount: 1.5, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 360.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - ], - summary: - 'You can never have too many Mediterranean recipes, so give Apothic Granitan and Vanilla Panna Cottan a try. This gluten free recipe serves 6 and costs $2.6 per serving. One portion of this dish contains around 7g of protein, 38g of fat, and a total of 522 calories. 5 people have tried and liked this recipe. This recipe from Foodista requires sugar, vanilla bean, lemon juice, and knox powdered gelatin. From preparation to the plate, this recipe takes around 45 minutes. Only a few people really liked this dessert. All things considered, we decided this recipe deserves a spoonacular score of 21%. This score is rather bad. Similar recipes are Vanilla Panna Cotta, Vanilla Panna Cotta, and Vanilla panna cotta.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["dessert"], - diets: ["gluten free"], - occasions: [], - spoonacularScore: 29.227785110473633, - spoonacularSourceUrl: - "https://spoonacular.com/apothic-granita-and-vanilla-panna-cotta-632445", - usedIngredientCount: 0, - missedIngredientCount: 8, - missedIngredients: [ - { - id: 14034, - amount: 2.0, - unit: "tablespoons", - unitLong: "tablespoons", - unitShort: "Tbsp", - aisle: "Alcoholic Beverages", - name: "crème de cassis liqueur", - original: "2 tablespoons crème de cassis liqueur", - originalName: "crème de cassis liqueur", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/green-liqueur.png", - }, - { - id: 2063, - amount: 1.0, - unit: "sprig", - unitLong: "sprig", - unitShort: "sprig", - aisle: "Produce", - name: "rosemary", - original: "1 sprig fresh rosemary", - originalName: "fresh rosemary", - meta: ["fresh"], - extendedName: "fresh rosemary", - image: "https://img.spoonacular.com/ingredients_100x100/rosemary.jpg", - }, - { - id: 19177, - amount: 4.5, - unit: "teaspoons", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Baking", - name: "knox powdered gelatin", - original: "4 1/2 teaspoons Knox unflavored powdered gelatin", - originalName: "Knox unflavored powdered gelatin", - meta: ["unflavored"], - extendedName: "unflavored knox powdered gelatin", - image: - "https://img.spoonacular.com/ingredients_100x100/gelatin-powder.jpg", - }, - { - id: 1049, - amount: 2.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Milk, Eggs, Other Dairy", - name: "half and half", - original: "2 cups half and half", - originalName: "half and half", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/fluid-cream.jpg", - }, - { - id: 1053, - amount: 2.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Milk, Eggs, Other Dairy", - name: "heavy cream", - original: "2 cups heavy cream", - originalName: "heavy cream", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/fluid-cream.jpg", - }, - { - id: 9152, - amount: 1.0, - unit: "tablespoon", - unitLong: "tablespoon", - unitShort: "Tbsp", - aisle: "Produce", - name: "lemon juice", - original: "1 tablespoon fresh lemon juice", - originalName: "fresh lemon juice", - meta: ["fresh"], - extendedName: "fresh lemon juice", - image: - "https://img.spoonacular.com/ingredients_100x100/lemon-juice.jpg", - }, - { - id: 93622, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Baking", - name: "vanilla bean", - original: "1 vanilla bean, split lengthwise", - originalName: "vanilla bean, split lengthwise", - meta: ["split"], - extendedName: "split vanilla bean bean", - image: "https://img.spoonacular.com/ingredients_100x100/vanilla.jpg", - }, - { - id: 14096, - amount: 1.5, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Alcoholic Beverages", - name: "apothic red wine", - original: "1 1/2 cups of Apothic Red Wine", - originalName: "Apothic Red Wine", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/red-wine.jpg", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 640819, - image: "https://img.spoonacular.com/recipes/640819-312x231.jpg", - imageType: "jpg", - title: "Crispy Italian Cauliflower Poppers Appetizer", - readyInMinutes: 45, - servings: 4, - sourceUrl: - "http://www.foodista.com/recipe/ZVNRZZ82/crispy-italian-cauliflower-poppers-with-marinara", - vegetarian: false, - vegan: false, - glutenFree: false, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 12, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 84, - healthScore: 32.0, - creditsText: "Foodista.com – The Cooking Encyclopedia Everyone Can Edit", - license: "CC BY 3.0", - sourceName: "Foodista", - pricePerServing: 212.08, - extendedIngredients: [ - { - id: 10011693, - aisle: "Canned and Jarred", - image: "tomatoes-canned.png", - consistency: "SOLID", - name: "canned tomatoes", - nameClean: "canned tomatoes", - original: "14.5 oz. can diced tomatoes", - originalName: "diced tomatoes", - amount: 14.5, - unit: "oz", - meta: ["diced", "canned"], - measures: { - us: { - amount: 14.5, - unitShort: "oz", - unitLong: "ounces", - }, - metric: { - amount: 411.068, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 11135, - aisle: "Produce", - image: "cauliflower.jpg", - consistency: "SOLID", - name: "cauliflower", - nameClean: "cauliflower", - original: - "1 head of cauliflower, cut into bite-sized pieces (no larger that 1-inch)", - originalName: - "cauliflower, cut into bite-sized pieces (no larger that 1-inch)", - amount: 1.0, - unit: "head", - meta: ["cut into bite-sized pieces (no larger that 1-inch)"], - measures: { - us: { - amount: 1.0, - unitShort: "head", - unitLong: "head", - }, - metric: { - amount: 1.0, - unitShort: "head", - unitLong: "head", - }, - }, - }, - { - id: 1123, - aisle: "Milk, Eggs, Other Dairy", - image: "egg.png", - consistency: "SOLID", - name: "eggs", - nameClean: "eggs", - original: "2 eggs, well beaten", - originalName: "eggs, well beaten", - amount: 2.0, - unit: "", - meta: ["well beaten"], - measures: { - us: { - amount: 2.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 2.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 20081, - aisle: "Baking", - image: "flour.png", - consistency: "SOLID", - name: "flour", - nameClean: "flour", - original: "1 cup All-purpose flour", - originalName: "All-purpose flour", - amount: 1.0, - unit: "cup", - meta: ["all-purpose"], - measures: { - us: { - amount: 1.0, - unitShort: "cup", - unitLong: "cup", - }, - metric: { - amount: 125.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 2044, - aisle: "Produce", - image: "fresh-basil.jpg", - consistency: "SOLID", - name: "basil", - nameClean: "basil", - original: "3-4 T. chopped fresh basil", - originalName: "chopped fresh basil", - amount: 3.0, - unit: "T", - meta: ["fresh", "chopped"], - measures: { - us: { - amount: 9.45, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 9.45, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 11215, - aisle: "Produce", - image: "garlic.png", - consistency: "SOLID", - name: "garlic", - nameClean: "garlic", - original: "1 teaspoon minced garlic", - originalName: "minced garlic", - amount: 1.0, - unit: "teaspoon", - meta: ["minced"], - measures: { - us: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - metric: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - }, - }, - { - id: 1022020, - aisle: "Spices and Seasonings", - image: "garlic-powder.png", - consistency: "SOLID", - name: "garlic powder", - nameClean: "garlic powder", - original: "3/4 t. garlic powder", - originalName: "garlic powder", - amount: 0.75, - unit: "t", - meta: [], - measures: { - us: { - amount: 0.291, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 0.291, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 1002030, - aisle: "Spices and Seasonings", - image: "pepper.jpg", - consistency: "SOLID", - name: "ground pepper", - nameClean: "ground pepper", - original: "1/8 t. fresh ground black pepper", - originalName: "fresh ground black pepper", - amount: 0.125, - unit: "t", - meta: ["fresh", "black"], - measures: { - us: { - amount: 0.042, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 0.042, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 4053, - aisle: "Oil, Vinegar, Salad Dressing", - image: "olive-oil.jpg", - consistency: "LIQUID", - name: "olive oil", - nameClean: "olive oil", - original: "2 tablespoons Olive oil", - originalName: "Olive oil", - amount: 2.0, - unit: "tablespoons", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 10018079, - aisle: "Baking", - image: "panko.jpg", - consistency: "SOLID", - name: "panko bread crumbs", - nameClean: "panko bread crumbs", - original: "2 c. panko bread crumbs", - originalName: "panko bread crumbs", - amount: 2.0, - unit: "c", - meta: [], - measures: { - us: { - amount: 2.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 120.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 1032, - aisle: "Cheese", - image: "parmesan.jpg", - consistency: "SOLID", - name: "parmesan cheese", - nameClean: "parmesan cheese", - original: "3/4 c. fresh grated Parmesan cheese", - originalName: "fresh grated Parmesan cheese", - amount: 0.75, - unit: "c", - meta: ["fresh", "grated"], - measures: { - us: { - amount: 0.75, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 75.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 1032009, - aisle: "Spices and Seasonings", - image: "red-pepper-flakes.jpg", - consistency: "SOLID", - name: "pepper flakes", - nameClean: "pepper flakes", - original: "pinch of crushed red pepper flakes", - originalName: "pinch of crushed red pepper flakes", - amount: 1.0, - unit: "pinch", - meta: ["red", "crushed"], - measures: { - us: { - amount: 1.0, - unitShort: "pinch", - unitLong: "pinch", - }, - metric: { - amount: 1.0, - unitShort: "pinch", - unitLong: "pinch", - }, - }, - }, - { - id: 2047, - aisle: "Spices and Seasonings", - image: "salt.jpg", - consistency: "SOLID", - name: "salt", - nameClean: "salt", - original: "Salt to taste", - originalName: "Salt to taste", - amount: 4.0, - unit: "servings", - meta: ["to taste"], - measures: { - us: { - amount: 4.0, - unitShort: "servings", - unitLong: "servings", - }, - metric: { - amount: 4.0, - unitShort: "servings", - unitLong: "servings", - }, - }, - }, - { - id: 14412, - aisle: "Beverages", - image: "water.png", - consistency: "LIQUID", - name: "water", - nameClean: "water", - original: "1 T. water", - originalName: "water", - amount: 1.0, - unit: "T", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - ], - summary: - 'You can never have too many hor d\'oeuvre recipes, so give Crispy Italian Cauliflower Poppers Appetizer a try. This recipe serves 4 and costs $2.12 per serving. One serving contains 478 calories, 20g of protein, and 17g of fat. From preparation to the plate, this recipe takes about 45 minutes. It is brought to you by Foodista. A couple people made this recipe, and 84 would say it hit the spot. It is a rather cheap recipe for fans of Mediterranean food. Head to the store and pick up panko bread crumbs, garlic, garlic powder, and a few other things to make it today. All things considered, we decided this recipe deserves a spoonacular score of 92%. This score is outstanding. Users who liked this recipe also liked Crispy Baked Cauliflower Poppers, Crispy Shrimp Poppers, and Chocolate Covered Crispy Poppers.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre", - ], - diets: [], - occasions: [], - spoonacularScore: 93.10679626464844, - spoonacularSourceUrl: - "https://spoonacular.com/crispy-italian-cauliflower-poppers-appetizer-640819", - usedIngredientCount: 0, - missedIngredientCount: 9, - missedIngredients: [ - { - id: 10011693, - amount: 14.5, - unit: "oz", - unitLong: "ounces", - unitShort: "oz", - aisle: "Canned and Jarred", - name: "canned tomatoes", - original: "14.5 oz. can diced tomatoes", - originalName: "diced tomatoes", - meta: ["diced", "canned"], - extendedName: "diced canned tomatoes", - image: - "https://img.spoonacular.com/ingredients_100x100/tomatoes-canned.png", - }, - { - id: 11135, - amount: 1.0, - unit: "head", - unitLong: "head", - unitShort: "head", - aisle: "Produce", - name: "cauliflower", - original: - "1 head of cauliflower, cut into bite-sized pieces (no larger that 1-inch)", - originalName: - "cauliflower, cut into bite-sized pieces (no larger that 1-inch)", - meta: ["cut into bite-sized pieces (no larger that 1-inch)"], - image: - "https://img.spoonacular.com/ingredients_100x100/cauliflower.jpg", - }, - { - id: 1123, - amount: 2.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Milk, Eggs, Other Dairy", - name: "eggs", - original: "2 eggs, well beaten", - originalName: "eggs, well beaten", - meta: ["well beaten"], - image: "https://img.spoonacular.com/ingredients_100x100/egg.png", - }, - { - id: 2044, - amount: 3.0, - unit: "T", - unitLong: "tablespoons", - unitShort: "Tbsp", - aisle: "Produce", - name: "basil", - original: "3-4 T. chopped fresh basil", - originalName: "chopped fresh basil", - meta: ["fresh", "chopped"], - extendedName: "fresh basil", - image: - "https://img.spoonacular.com/ingredients_100x100/fresh-basil.jpg", - }, - { - id: 11215, - amount: 1.0, - unit: "teaspoon", - unitLong: "teaspoon", - unitShort: "tsp", - aisle: "Produce", - name: "garlic", - original: "1 teaspoon minced garlic", - originalName: "minced garlic", - meta: ["minced"], - image: "https://img.spoonacular.com/ingredients_100x100/garlic.png", - }, - { - id: 1022020, - amount: 0.75, - unit: "t", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Spices and Seasonings", - name: "garlic powder", - original: "3/4 t. garlic powder", - originalName: "garlic powder", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/garlic-powder.png", - }, - { - id: 10018079, - amount: 2.0, - unit: "c", - unitLong: "cups", - unitShort: "cup", - aisle: "Baking", - name: "panko bread crumbs", - original: "2 c. panko bread crumbs", - originalName: "panko bread crumbs", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/panko.jpg", - }, - { - id: 1032, - amount: 0.75, - unit: "c", - unitLong: "cups", - unitShort: "cup", - aisle: "Cheese", - name: "parmesan cheese", - original: "3/4 c. fresh grated Parmesan cheese", - originalName: "fresh grated Parmesan cheese", - meta: ["fresh", "grated"], - extendedName: "fresh parmesan cheese", - image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", - }, - { - id: 1032009, - amount: 1.0, - unit: "pinch", - unitLong: "pinch", - unitShort: "pinch", - aisle: "Spices and Seasonings", - name: "pepper flakes", - original: "pinch of crushed red pepper flakes", - originalName: "pinch of crushed red pepper flakes", - meta: ["red", "crushed"], - extendedName: "crushed red pepper flakes", - image: - "https://img.spoonacular.com/ingredients_100x100/red-pepper-flakes.jpg", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 655822, - image: "https://img.spoonacular.com/recipes/655822-312x231.jpg", - imageType: "jpg", - title: "Pesto Fresh Caprese Sandwich", - readyInMinutes: 10, - servings: 1, - sourceUrl: - "http://www.foodista.com/recipe/LYJBTV2G/pesto-fresh-caprese-sandwich", - vegetarian: true, - vegan: false, - glutenFree: false, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 18, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 1, - healthScore: 13.0, - creditsText: "foodista.com", - license: null, - sourceName: "foodista.com", - pricePerServing: 327.36, - extendedIngredients: [ - { - id: 2069, - aisle: "Oil, Vinegar, Salad Dressing", - image: "balsamic-vinegar.jpg", - consistency: "LIQUID", - name: "balsamic vinegar", - nameClean: "balsamic vinegar", - original: "1 1 tablespoon balsamic vinegar (optional)", - originalName: "balsamic vinegar (optional)", - amount: 1.0, - unit: "tablespoon", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 93698, - aisle: "Pasta and Rice", - image: "basil-pesto.png", - consistency: "SOLID", - name: "basil pesto", - nameClean: "basil pesto", - original: "1 tablespoon basil pesto (optional see recipe below)", - originalName: "basil pesto (optional see recipe below)", - amount: 1.0, - unit: "tablespoon", - meta: ["(optional see recipe below)"], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 93699, - aisle: "Bakery/Bread", - image: "ciabatta-roll.png", - consistency: "SOLID", - name: "ciabatta roll", - nameClean: "ciabatta roll", - original: "1 ciabatta roll", - originalName: "ciabatta roll", - amount: 1.0, - unit: "", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 2044, - aisle: "Produce", - image: "fresh-basil.jpg", - consistency: "SOLID", - name: "basil leaves", - nameClean: "basil leaves", - original: "1 handful fresh basil leaves", - originalName: "fresh basil leaves", - amount: 1.0, - unit: "handful", - meta: ["fresh"], - measures: { - us: { - amount: 1.0, - unitShort: "handful", - unitLong: "handful", - }, - metric: { - amount: 1.0, - unitShort: "handful", - unitLong: "handful", - }, - }, - }, - { - id: 1021026, - aisle: "Cheese", - image: "mozzarella.png", - consistency: "SOLID", - name: "mozzarella", - nameClean: "mozzarella", - original: "1 4 oz ball fresh mozzarella (sliced)", - originalName: "fresh mozzarella (sliced)", - amount: 4.0, - unit: "oz", - meta: ["fresh", "sliced", "()"], - measures: { - us: { - amount: 4.0, - unitShort: "oz", - unitLong: "ounces", - }, - metric: { - amount: 113.398, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 11529, - aisle: "Produce", - image: "tomato.png", - consistency: "SOLID", - name: "tomato", - nameClean: "tomato", - original: "1 fresh ripe tomato (sliced)", - originalName: "fresh ripe tomato (sliced)", - amount: 1.0, - unit: "", - meta: ["fresh", "ripe", "sliced", "()"], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - ], - summary: - 'If you have around 10 minutes to spend in the kitchen, Pesto Fresh Caprese Sandwich might be an amazing lacto ovo vegetarian recipe to try. This recipe makes 1 servings with 563 calories, 32g of protein, and 32g of fat each. For $3.27 per serving, this recipe covers 18% of your daily requirements of vitamins and minerals. 1 person has made this recipe and would make it again. It works well as a Mediterranean main course. This recipe from Foodista requires balsamic vinegar, basil pesto, mozzarella, and tomato. With a spoonacular score of 58%, this dish is solid. If you like this recipe, you might also like recipes such as Pesto Fresh Caprese Sandwich, Caprese Pesto Panini Sandwich, and Open-Faced Grilled Eggplant Sandwich with Pesto, Tomatoes, and Fresh Mozzarella (The Kids Cook Monday).', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["lunch", "main course", "main dish", "dinner"], - diets: ["lacto ovo vegetarian"], - occasions: [], - spoonacularScore: 61.86119842529297, - spoonacularSourceUrl: - "https://spoonacular.com/pesto-fresh-caprese-sandwich-655822", - usedIngredientCount: 0, - missedIngredientCount: 6, - missedIngredients: [ - { - id: 2069, - amount: 1.0, - unit: "tablespoon", - unitLong: "tablespoon", - unitShort: "Tbsp", - aisle: "Oil, Vinegar, Salad Dressing", - name: "balsamic vinegar", - original: "1 1 tablespoon balsamic vinegar (optional)", - originalName: "balsamic vinegar (optional)", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/balsamic-vinegar.jpg", - }, - { - id: 93698, - amount: 1.0, - unit: "tablespoon", - unitLong: "tablespoon", - unitShort: "Tbsp", - aisle: "Pasta and Rice", - name: "basil pesto", - original: "1 tablespoon basil pesto (optional see recipe below)", - originalName: "basil pesto (optional see recipe below)", - meta: ["(optional see recipe below)"], - image: - "https://img.spoonacular.com/ingredients_100x100/basil-pesto.png", - }, - { - id: 93699, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Bakery/Bread", - name: "ciabatta roll", - original: "1 ciabatta roll", - originalName: "ciabatta roll", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/ciabatta-roll.png", - }, - { - id: 2044, - amount: 1.0, - unit: "handful", - unitLong: "handful", - unitShort: "handful", - aisle: "Produce", - name: "basil leaves", - original: "1 handful fresh basil leaves", - originalName: "fresh basil leaves", - meta: ["fresh"], - extendedName: "fresh basil leaves", - image: - "https://img.spoonacular.com/ingredients_100x100/fresh-basil.jpg", - }, - { - id: 1021026, - amount: 4.0, - unit: "oz", - unitLong: "ounces", - unitShort: "oz", - aisle: "Cheese", - name: "mozzarella", - original: "1 4 oz ball fresh mozzarella (sliced)", - originalName: "fresh mozzarella (sliced)", - meta: ["fresh", "sliced", "()"], - extendedName: "fresh mozzarella", - image: - "https://img.spoonacular.com/ingredients_100x100/mozzarella.png", - }, - { - id: 11529, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Produce", - name: "tomato", - original: "1 fresh ripe tomato (sliced)", - originalName: "fresh ripe tomato (sliced)", - meta: ["fresh", "ripe", "sliced", "()"], - extendedName: "fresh tomato", - image: "https://img.spoonacular.com/ingredients_100x100/tomato.png", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 634404, - image: "https://img.spoonacular.com/recipes/634404-312x231.jpg", - imageType: "jpg", - title: "Basic Risotto", - readyInMinutes: 45, - servings: 2, - sourceUrl: "https://www.foodista.com/recipe/HQMJRX88/basic-risotto", - vegetarian: false, - vegan: false, - glutenFree: true, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 20, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 1, - healthScore: 19.0, - creditsText: "foodista.com", - license: null, - sourceName: "foodista.com", - pricePerServing: 255.6, - extendedIngredients: [ - { - id: 1001, - aisle: "Milk, Eggs, Other Dairy", - image: "butter-sliced.jpg", - consistency: "SOLID", - name: "butter", - nameClean: "butter", - original: "1 tbs. butter", - originalName: "butter", - amount: 1.0, - unit: "Tbs", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 4053, - aisle: "Oil, Vinegar, Salad Dressing", - image: "olive-oil.jpg", - consistency: "LIQUID", - name: "olive oil", - nameClean: "olive oil", - original: "1 tbs. Olive oil", - originalName: "Olive oil", - amount: 1.0, - unit: "Tbs", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - metric: { - amount: 1.0, - unitShort: "Tbsp", - unitLong: "Tbsp", - }, - }, - }, - { - id: 10020052, - aisle: "Pasta and Rice", - image: "uncooked-white-rice.png", - consistency: "SOLID", - name: "arborio rice", - nameClean: "arborio rice", - original: "1 cup Arborio rice", - originalName: "Arborio rice", - amount: 1.0, - unit: "cup", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "cup", - unitLong: "cup", - }, - metric: { - amount: 200.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 10211215, - aisle: "Produce", - image: "garlic.jpg", - consistency: "SOLID", - name: "garlic cloves", - nameClean: "garlic cloves", - original: "2 garlic cloves, minced", - originalName: "garlic cloves, minced", - amount: 2.0, - unit: "", - meta: ["minced"], - measures: { - us: { - amount: 2.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 2.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 11677, - aisle: "Produce", - image: "shallots.jpg", - consistency: "SOLID", - name: "shallot", - nameClean: "shallot", - original: "1 shallot, minced", - originalName: "shallot, minced", - amount: 1.0, - unit: "", - meta: ["minced"], - measures: { - us: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 1.0, - unitShort: "", - unitLong: "", - }, - }, - }, - { - id: 10211297, - aisle: "Produce", - image: "parsley.jpg", - consistency: "SOLID", - name: "flat leaf parsley", - nameClean: "flat leaf parsley", - original: "2 tbs. fresh flat leaf parsley, chopped", - originalName: "fresh flat leaf parsley, chopped", - amount: 2.0, - unit: "Tbs", - meta: ["fresh", "chopped"], - measures: { - us: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 2.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 6172, - aisle: "Canned and Jarred", - image: "chicken-broth.png", - consistency: "LIQUID", - name: "chicken stock - heated", - nameClean: "chicken stock - heated", - original: "3 cups chicken stock – heated (I used Wolfgang Puck)", - originalName: "chicken stock – heated (I used Wolfgang Puck)", - amount: 3.0, - unit: "cups", - meta: ["(I used Wolfgang Puck)"], - measures: { - us: { - amount: 3.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 720.0, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 1033, - aisle: "Cheese", - image: "parmesan.jpg", - consistency: "SOLID", - name: "parmesan cheese", - nameClean: "parmesan cheese", - original: "4 tablespoons fresh parmesan cheese", - originalName: "fresh parmesan cheese", - amount: 4.0, - unit: "tablespoons", - meta: ["fresh"], - measures: { - us: { - amount: 4.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - metric: { - amount: 4.0, - unitShort: "Tbsps", - unitLong: "Tbsps", - }, - }, - }, - { - id: 1102047, - aisle: "Spices and Seasonings", - image: "salt-and-pepper.jpg", - consistency: "SOLID", - name: "salt and pepper", - nameClean: "salt and pepper", - original: "Salt and Pepper to taste", - originalName: "Salt and Pepper to taste", - amount: 2.0, - unit: "servings", - meta: ["to taste"], - measures: { - us: { - amount: 2.0, - unitShort: "servings", - unitLong: "servings", - }, - metric: { - amount: 2.0, - unitShort: "servings", - unitLong: "servings", - }, - }, - }, - { - id: 11260, - aisle: "Produce", - image: "mushrooms.png", - consistency: "SOLID", - name: "suggested optional items to add -mushrooms", - nameClean: "suggested optional items to add -mushrooms", - original: - "inch Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper,", - originalName: - "Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper", - amount: 1.0, - unit: "inch", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "inch", - unitLong: "inch", - }, - metric: { - amount: 1.0, - unitShort: "inch", - unitLong: "inch", - }, - }, - }, - ], - summary: - 'Basic Risotto is a gluten free main course. This recipe serves 2 and costs $2.56 per serving. One serving contains 655 calories, 20g of protein, and 20g of fat. Only a few people made this recipe, and 1 would say it hit the spot. This recipe from Foodista requires butter, olive oil, arborio rice, and salt and pepper. It is a budget friendly recipe for fans of Mediterranean food. From preparation to the plate, this recipe takes about 45 minutes. Overall, this recipe earns a solid spoonacular score of 59%. Users who liked this recipe also liked Basic Risotto, Basic Risotto, and Basic Risotto.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["side dish", "lunch", "main course", "main dish", "dinner"], - diets: ["gluten free"], - occasions: [], - spoonacularScore: 16.694459915161133, - spoonacularSourceUrl: "https://spoonacular.com/basic-risotto-634404", - usedIngredientCount: 0, - missedIngredientCount: 8, - missedIngredients: [ - { - id: 1001, - amount: 1.0, - unit: "Tbs", - unitLong: "Tb", - unitShort: "Tbsp", - aisle: "Milk, Eggs, Other Dairy", - name: "butter", - original: "1 tbs. butter", - originalName: "butter", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/butter-sliced.jpg", - }, - { - id: 10020052, - amount: 1.0, - unit: "cup", - unitLong: "cup", - unitShort: "cup", - aisle: "Pasta and Rice", - name: "arborio rice", - original: "1 cup Arborio rice", - originalName: "Arborio rice", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/uncooked-white-rice.png", - }, - { - id: 10211215, - amount: 2.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Produce", - name: "garlic cloves", - original: "2 garlic cloves, minced", - originalName: "garlic cloves, minced", - meta: ["minced"], - image: "https://img.spoonacular.com/ingredients_100x100/garlic.jpg", - }, - { - id: 11677, - amount: 1.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Produce", - name: "shallot", - original: "1 shallot, minced", - originalName: "shallot, minced", - meta: ["minced"], - image: "https://img.spoonacular.com/ingredients_100x100/shallots.jpg", - }, - { - id: 10211297, - amount: 2.0, - unit: "Tbs", - unitLong: "Tbs", - unitShort: "Tbsp", - aisle: "Produce", - name: "flat leaf parsley", - original: "2 tbs. fresh flat leaf parsley, chopped", - originalName: "fresh flat leaf parsley, chopped", - meta: ["fresh", "chopped"], - extendedName: "fresh flat leaf parsley", - image: "https://img.spoonacular.com/ingredients_100x100/parsley.jpg", - }, - { - id: 6172, - amount: 3.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Canned and Jarred", - name: "chicken stock - heated", - original: "3 cups chicken stock – heated (I used Wolfgang Puck)", - originalName: "chicken stock – heated (I used Wolfgang Puck)", - meta: ["(I used Wolfgang Puck)"], - image: - "https://img.spoonacular.com/ingredients_100x100/chicken-broth.png", - }, - { - id: 1033, - amount: 4.0, - unit: "tablespoons", - unitLong: "tablespoons", - unitShort: "Tbsp", - aisle: "Cheese", - name: "parmesan cheese", - original: "4 tablespoons fresh parmesan cheese", - originalName: "fresh parmesan cheese", - meta: ["fresh"], - extendedName: "fresh parmesan cheese", - image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", - }, - { - id: 11260, - amount: 1.0, - unit: "inch", - unitLong: "inch", - unitShort: "inch", - aisle: "Produce", - name: "suggested optional items to add -mushrooms", - original: - "inch Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper,", - originalName: - "Suggested optional items to add –mushrooms, zucchini, dash of cayenne pepper", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/mushrooms.png", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - { - id: 640864, - image: "https://img.spoonacular.com/recipes/640864-312x231.jpg", - imageType: "jpg", - title: "Crock Pot Lasagna", - readyInMinutes: 45, - servings: 8, - sourceUrl: "https://www.foodista.com/recipe/QTRKQVWX/crock-pot-lasagna", - vegetarian: false, - vegan: false, - glutenFree: false, - dairyFree: false, - veryHealthy: false, - cheap: false, - veryPopular: false, - sustainable: false, - lowFodmap: false, - weightWatcherSmartPoints: 8, - gaps: "no", - preparationMinutes: null, - cookingMinutes: null, - aggregateLikes: 1, - healthScore: 11.0, - creditsText: "foodista.com", - license: null, - sourceName: "foodista.com", - pricePerServing: 173.9, - extendedIngredients: [ - { - id: 23557, - aisle: "Meat", - image: "fresh-ground-beef.jpg", - consistency: "SOLID", - name: "ground beef", - nameClean: "ground beef", - original: "1 pound lean ground beef", - originalName: "lean ground beef", - amount: 1.0, - unit: "pound", - meta: ["lean"], - measures: { - us: { - amount: 1.0, - unitShort: "lb", - unitLong: "pound", - }, - metric: { - amount: 453.592, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 11209, - aisle: "Produce", - image: "eggplant.png", - consistency: "SOLID", - name: "eggplant", - nameClean: "eggplant", - original: "2 cups diced eggplant", - originalName: "diced eggplant", - amount: 2.0, - unit: "cups", - meta: ["diced"], - measures: { - us: { - amount: 2.0, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 164.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 10111549, - aisle: "Pasta and Rice", - image: "tomato-sauce-or-pasta-sauce.jpg", - consistency: "SOLID", - name: "paul newman's marinara sauce", - nameClean: "paul newman's marinara sauce", - original: "1 jar Paul Newman's marinara sauce", - originalName: "Paul Newman's marinara sauce", - amount: 1.0, - unit: "jar", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "jar", - unitLong: "jar", - }, - metric: { - amount: 1.0, - unitShort: "jar", - unitLong: "jar", - }, - }, - }, - { - id: 1032009, - aisle: "Spices and Seasonings", - image: "red-pepper-flakes.jpg", - consistency: "SOLID", - name: "pepper flakes", - nameClean: "pepper flakes", - original: "1/4 teaspoon red pepper flakes", - originalName: "red pepper flakes", - amount: 0.25, - unit: "teaspoon", - meta: ["red"], - measures: { - us: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 1022020, - aisle: "Spices and Seasonings", - image: "garlic-powder.png", - consistency: "SOLID", - name: "garlic powder", - nameClean: "garlic powder", - original: "1/4 teaspoon garlic powder", - originalName: "garlic powder", - amount: 0.25, - unit: "teaspoon", - meta: [], - measures: { - us: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 2026, - aisle: "Spices and Seasonings", - image: "onion-powder.jpg", - consistency: "SOLID", - name: "onion powder", - nameClean: "onion powder", - original: "1/4 teaspoon onion powder", - originalName: "onion powder", - amount: 0.25, - unit: "teaspoon", - meta: [], - measures: { - us: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 2044, - aisle: "Produce", - image: "fresh-basil.jpg", - consistency: "SOLID", - name: "basil flakes", - nameClean: "basil flakes", - original: "1/4 teaspoon basil flakes", - originalName: "basil flakes", - amount: 0.25, - unit: "teaspoon", - meta: [], - measures: { - us: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - metric: { - amount: 0.25, - unitShort: "tsps", - unitLong: "teaspoons", - }, - }, - }, - { - id: 14412, - aisle: "Beverages", - image: "water.png", - consistency: "LIQUID", - name: "water", - nameClean: "water", - original: "1 cup water", - originalName: "water", - amount: 1.0, - unit: "cup", - meta: [], - measures: { - us: { - amount: 1.0, - unitShort: "cup", - unitLong: "cup", - }, - metric: { - amount: 236.588, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 1037, - aisle: "Cheese", - image: "ricotta.png", - consistency: "LIQUID", - name: "part skim ricotta cheese", - nameClean: "part skim ricotta cheese", - original: "15 ounces part skim ricotta cheese", - originalName: "part skim ricotta cheese", - amount: 15.0, - unit: "ounces", - meta: [], - measures: { - us: { - amount: 15.0, - unitShort: "oz", - unitLong: "ounces", - }, - metric: { - amount: 425.243, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 11297, - aisle: "Produce", - image: "parsley.jpg", - consistency: "SOLID", - name: "parsley", - nameClean: "parsley", - original: "1 teaspoon chopped parsley", - originalName: "chopped parsley", - amount: 1.0, - unit: "teaspoon", - meta: ["chopped"], - measures: { - us: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - metric: { - amount: 1.0, - unitShort: "tsp", - unitLong: "teaspoon", - }, - }, - }, - { - id: 93833, - aisle: "Milk, Eggs, Other Dairy", - image: "liquid-egg-substitute.jpg", - consistency: "SOLID", - name: "egg beaters", - nameClean: "egg beaters", - original: "1/4 cup Egg Beaters", - originalName: "Egg Beaters", - amount: 0.25, - unit: "cup", - meta: [], - measures: { - us: { - amount: 0.25, - unitShort: "cups", - unitLong: "cups", - }, - metric: { - amount: 56.5, - unitShort: "ml", - unitLong: "milliliters", - }, - }, - }, - { - id: 1033, - aisle: "Cheese", - image: "parmesan.jpg", - consistency: "SOLID", - name: "parmesan cheese", - nameClean: "parmesan cheese", - original: "1 cup shredded parmesan cheese (not grated, shredded)", - originalName: "shredded parmesan cheese (not grated, shredded)", - amount: 1.0, - unit: "cup", - meta: ["shredded", "grated", "(not , )"], - measures: { - us: { - amount: 1.0, - unitShort: "cup", - unitLong: "cup", - }, - metric: { - amount: 100.0, - unitShort: "g", - unitLong: "grams", - }, - }, - }, - { - id: 12420420, - aisle: "Pasta and Rice", - image: "lasagna-noodles.jpg", - consistency: "SOLID", - name: "no boil lasagna noodles", - nameClean: "no boil lasagna noodles", - original: "8 no boil lasagna noodles", - originalName: "no boil lasagna noodles", - amount: 8.0, - unit: "", - meta: [], - measures: { - us: { - amount: 8.0, - unitShort: "", - unitLong: "", - }, - metric: { - amount: 8.0, - unitShort: "", - unitLong: "", - }, - }, - }, - ], - summary: - 'Crock Pot Lasagna might be just the Mediterranean recipe you are searching for. This main course has 294 calories, 27g of protein, and 11g of fat per serving. This recipe serves 8. For $1.74 per serving, this recipe covers 17% of your daily requirements of vitamins and minerals. 1 person were impressed by this recipe. A mixture of parmesan cheese, water, paul newman\'s marinara sauce, and a handful of other ingredients are all it takes to make this recipe so scrumptious. From preparation to the plate, this recipe takes roughly 45 minutes. It is brought to you by Foodista. Taking all factors into account, this recipe earns a spoonacular score of 53%, which is pretty good. If you like this recipe, you might also like recipes such as Crock Pot Lasagna, Crock Pot Lasagna, and Crock Pot Lasagna.', - cuisines: ["Mediterranean", "Italian", "European"], - dishTypes: ["lunch", "main course", "main dish", "dinner"], - diets: [], - occasions: [], - spoonacularScore: 54.73930740356445, - spoonacularSourceUrl: "https://spoonacular.com/crock-pot-lasagna-640864", - usedIngredientCount: 0, - missedIngredientCount: 12, - missedIngredients: [ - { - id: 23557, - amount: 1.0, - unit: "pound", - unitLong: "pound", - unitShort: "lb", - aisle: "Meat", - name: "ground beef", - original: "1 pound lean ground beef", - originalName: "lean ground beef", - meta: ["lean"], - extendedName: "lean ground beef", - image: - "https://img.spoonacular.com/ingredients_100x100/fresh-ground-beef.jpg", - }, - { - id: 11209, - amount: 2.0, - unit: "cups", - unitLong: "cups", - unitShort: "cup", - aisle: "Produce", - name: "eggplant", - original: "2 cups diced eggplant", - originalName: "diced eggplant", - meta: ["diced"], - extendedName: "diced eggplant", - image: "https://img.spoonacular.com/ingredients_100x100/eggplant.png", - }, - { - id: 10111549, - amount: 1.0, - unit: "jar", - unitLong: "jar", - unitShort: "jar", - aisle: "Pasta and Rice", - name: "paul newman's marinara sauce", - original: "1 jar Paul Newman's marinara sauce", - originalName: "Paul Newman's marinara sauce", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/tomato-sauce-or-pasta-sauce.jpg", - }, - { - id: 1032009, - amount: 0.25, - unit: "teaspoon", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Spices and Seasonings", - name: "pepper flakes", - original: "1/4 teaspoon red pepper flakes", - originalName: "red pepper flakes", - meta: ["red"], - extendedName: "red pepper flakes", - image: - "https://img.spoonacular.com/ingredients_100x100/red-pepper-flakes.jpg", - }, - { - id: 1022020, - amount: 0.25, - unit: "teaspoon", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Spices and Seasonings", - name: "garlic powder", - original: "1/4 teaspoon garlic powder", - originalName: "garlic powder", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/garlic-powder.png", - }, - { - id: 2026, - amount: 0.25, - unit: "teaspoon", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Spices and Seasonings", - name: "onion powder", - original: "1/4 teaspoon onion powder", - originalName: "onion powder", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/onion-powder.jpg", - }, - { - id: 2044, - amount: 0.25, - unit: "teaspoon", - unitLong: "teaspoons", - unitShort: "tsp", - aisle: "Produce", - name: "basil flakes", - original: "1/4 teaspoon basil flakes", - originalName: "basil flakes", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/fresh-basil.jpg", - }, - { - id: 1037, - amount: 15.0, - unit: "ounces", - unitLong: "ounces", - unitShort: "oz", - aisle: "Cheese", - name: "part skim ricotta cheese", - original: "15 ounces part skim ricotta cheese", - originalName: "part skim ricotta cheese", - meta: [], - image: "https://img.spoonacular.com/ingredients_100x100/ricotta.png", - }, - { - id: 11297, - amount: 1.0, - unit: "teaspoon", - unitLong: "teaspoon", - unitShort: "tsp", - aisle: "Produce", - name: "parsley", - original: "1 teaspoon chopped parsley", - originalName: "chopped parsley", - meta: ["chopped"], - image: "https://img.spoonacular.com/ingredients_100x100/parsley.jpg", - }, - { - id: 93833, - amount: 0.25, - unit: "cup", - unitLong: "cups", - unitShort: "cup", - aisle: "Milk, Eggs, Other Dairy", - name: "egg beaters", - original: "1/4 cup Egg Beaters", - originalName: "Egg Beaters", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/liquid-egg-substitute.jpg", - }, - { - id: 1033, - amount: 1.0, - unit: "cup", - unitLong: "cup", - unitShort: "cup", - aisle: "Cheese", - name: "parmesan cheese", - original: "1 cup shredded parmesan cheese (not grated, shredded)", - originalName: "shredded parmesan cheese (not grated, shredded)", - meta: ["shredded", "grated", "(not , )"], - extendedName: "shredded parmesan cheese", - image: "https://img.spoonacular.com/ingredients_100x100/parmesan.jpg", - }, - { - id: 12420420, - amount: 8.0, - unit: "", - unitLong: "", - unitShort: "", - aisle: "Pasta and Rice", - name: "no boil lasagna noodles", - original: "8 no boil lasagna noodles", - originalName: "no boil lasagna noodles", - meta: [], - image: - "https://img.spoonacular.com/ingredients_100x100/lasagna-noodles.jpg", - }, - ], - likes: 0, - usedIngredients: [], - unusedIngredients: [], - }, - ], - offset: 0, - number: 10, - totalResults: 271, -}; +// --- State --- +let cuisineQueryParam = ""; // e.g., "&cuisine=italian" +let sortQueryParam = "&sort=time&sortDirection=desc"; // default by time, descending +let activeFilterBtn = null; +let activeSortBtn = null; -let activeSort = "ascending"; -let cuisineQueryParam = ""; -let sortQueryParam = ""; -let activeFilter = null; +const API_KEY = "3f2445631f2d458b92fe40f9832bcc51"; -setActiveFilter("all"); +// --- Marks the clicked button as active and removes the active class from the previously clicked one. --- +function markActive(newBtn, prevBtnRefName) { + if (newBtn === null) return; + if (window[prevBtnRefName]) { + window[prevBtnRefName].classList.remove("active"); + } + newBtn.classList.add("active"); + window[prevBtnRefName] = newBtn; +} + +//Fetches updated recipes and sends them to the UI rendering function (showCase()). +function updateAndRender() { + showCase(fetchRecipes()); +} +// --- UI Actions Handles what happens when the user clicks a filter button (like “Italian” or “Mexican”).--- function setActiveFilter(filter) { - if (activeFilter === filter) { - return; - } - if (activeFilter) { - // remove active class from activeFilter element - activeFilter.classList.remove("active"); - } + // Set query param if (filter === "all") { cuisineQueryParam = ""; - activeFilter = document.getElementById("filter__all"); } else { - cuisineQueryParam = "&cuisine=" + filter; - activeFilter = document.getElementById(`filter__${filter}`); + cuisineQueryParam = "&cuisine=" + encodeURIComponent(filter); } - activeFilter.className = "active"; + // Mark active button + const btn = document.getElementById(`filter__${filter}`); + markActive(btn, "activeFilterBtn"); + + // Refresh results + updateAndRender(); } function setActiveSort(direction) { - if (activeSort === direction) { - return; - } - if (activeSort.classList) { - activeSort.classList.remove("active"); - } - sortQueryParam = `&sort=readyInMinutes&sortDirection=${direction}`; + // Validate: asc | desc + const dir = direction === "asc" ? "asc" : "desc"; + sortQueryParam = `&sort=time&sortDirection=${dir}`; - activeSort = document.getElementById(`sort__${direction}`); - activeSort.className = "active"; + const btn = document.getElementById(`sort__${dir}`); + markActive(btn, "activeSortBtn"); - console.log(direction); + // Refresh results + updateAndRender(); } +// --- Data Fetch recipe from spoonacular API, based on filter and sort settings --- async function fetchRecipes() { - const URL = `https://api.spoonacular.com/recipes/complexSearch?fillIngredients=true&addRecipeInformation=true&apiKey=3f2445631f2d458b92fe40f9832bcc51${cuisineQueryParam}${sortQueryParam}`; - // fetch(URL) - // .then((response) => response.json()) - // .then((result) => console.log(result)) - // .catch((error) => console.error(error)); + const URL = `https://api.spoonacular.com/recipes/complexSearch?fillIngredients=true&addRecipeInformation=true&number=12&apiKey=${API_KEY}${cuisineQueryParam}${sortQueryParam}`; - console.log(response); - const recipies = response.results.map((recipe) => ({ - image: recipe.image, - title: recipe.title, - cuisines: recipe.cuisines.join(", "), - readyInMinutes: recipe.readyInMinutes, - ingredients: recipe.extendedIngredients.map( - (ingredient) => - `${ingredient.amount} ${ingredient.unit} ${ingredient.name}` - ), - })); + try { + const response = await fetch(URL); + if (!response.ok) { + throw new Error(`HTTP ${response.status}`); + } + const data = await response.json(); + // data.results is an array of recipe objects + return data.results || []; + } catch (err) { + console.error(err); + // Graceful fallback + return []; + } +} - return recipies; +// --- Format time, and minustes --- +function formatTime(totalMinutes) { + const h = Math.floor(totalMinutes / 60); + const m = totalMinutes % 60; + if (h && m) return `${h}h ${m}m`; + if (h) return `${h}h`; + return `${m}m`; } -async function showCase(recipiesPromise) { +// Display recepie card in HTML Grid/ CSS style on it +async function showCase(recipesPromise) { const recipeGrid = document.getElementById("recipe__grid"); - recipeGrid.innerHTML = ""; + recipeGrid.innerHTML = `
Loading…
`; + + const recipes = await recipesPromise; + + if (!recipes.length) { + recipeGrid.innerHTML = `

No recipes found. Try a different filter.

`; + return; + } - const recipies = await recipiesPromise; + recipeGrid.innerHTML = ""; - console.log(recipies); - recipies.forEach((recipe) => { + recipes.forEach((recipe) => { const recipeCard = document.createElement("div"); recipeCard.className = "recipe__card"; + + const cuisines = + Array.isArray(recipe.cuisines) && recipe.cuisines.length + ? recipe.cuisines.join(", ") + : "—"; + + const ingredients = Array.isArray(recipe.extendedIngredients) + ? recipe.extendedIngredients.map((ing) => ing.original) + : []; + const ingredientList = document.createElement("ul"); - recipe.ingredients.forEach((ingredient) => { - const ingredientItem = document.createElement("li"); - ingredientItem.textContent = ingredient; - ingredientList.appendChild(ingredientItem); + ingredientList.className = "recipe__ingredients"; + ingredients.forEach((text) => { + const li = document.createElement("li"); + li.textContent = text; + ingredientList.appendChild(li); }); - // created recipeCard + // html structor recipeCard.innerHTML = ` - -

${recipe.title}

-

Cuisine: ${recipe.cuisines}

-

Time: ${new Intl.DurationFormat("en", {}).format({ - hours: Math.floor(recipe.readyInMinutes / 60), - minutes: recipe.readyInMinutes % 60, - })}

-

Ingredients:

- - `; + ${recipe.title} +

${recipe.title}

+

Cuisine: ${cuisines}

+

Time: ${formatTime( + recipe.readyInMinutes || 0 + )}

+

Ingredients:

+ `; + recipeCard.appendChild(ingredientList); recipeGrid.appendChild(recipeCard); }); } - -showCase(fetchRecipes()); +// initialization (auto-run- on load) +// --- Init (after DOM is ready because script is at the end of body) --- +(function init() { + // Set defaults visually & load first page + setActiveFilter("all"); + setActiveSort("desc"); +})(); diff --git a/styles.css b/styles.css index 31190bd1b..3cb5dbb2b 100644 --- a/styles.css +++ b/styles.css @@ -5,7 +5,12 @@ h1 { color: blue; font-size: 3.5rem; - /* margin: 0; */ + margin-top: 50px; + margin-bottom: 50px; +} + +h2 { + margin: 25px 0 25px; } #controls {