From d8e6e17421a9bacdb2f89493e80fbb862a40edc3 Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Sat, 26 Aug 2023 09:17:29 -0700 Subject: [PATCH 01/73] set up initial imports and exports --- src/data/recipes.js | 10842 ++++++++++++++++---------------- src/data/users.js | 3 + src/domUpdates.js | 25 +- src/scripts.js | 37 +- test/RecipeRepository-test.js | 14 +- test/recipe-test.js | 80 + 6 files changed, 5591 insertions(+), 5410 deletions(-) create mode 100644 test/recipe-test.js diff --git a/src/data/recipes.js b/src/data/recipes.js index eb1f5a008e..e851001b32 100644 --- a/src/data/recipes.js +++ b/src/data/recipes.js @@ -1,5383 +1,5461 @@ const recipeData = [ - { - "id": 595736, - "image": "https://spoonacular.com/recipeImages/595736-556x370.jpg", - "ingredients": [ - { - "id": 20081, - "quantity": { - "amount": 1.5, - "unit": "c" - } - }, - { - "id": 18372, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - }, - { - "id": 1123, - "quantity": { - "amount": 1, - "unit": "large" - } - }, - { - "id": 19335, - "quantity": { - "amount": 0.5, - "unit": "c" - } - }, - { - "id": 19206, - "quantity": { - "amount": 3, - "unit": "Tbsp" - } - }, - { - "id": 19334, - "quantity": { - "amount": 0.5, - "unit": "c" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - }, - { - "id": 1012047, - "quantity": { - "amount": 24, - "unit": "servings" - } - }, - { - "id": 10019903, - "quantity": { - "amount": 2, - "unit": "c" - } - }, - { - "id": 1145, - "quantity": { - "amount": 0.5, - "unit": "c" - } - }, - { - "id": 2050, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - } - ], - "instructions": [ - { - "instruction": "In a large mixing bowl, whisk together the dry ingredients (flour, pudding mix, soda and salt). Set aside.In a large mixing bowl of a stand mixer, cream butter for 30 seconds. Gradually add granulated sugar and brown sugar and cream until light and fluffy.", - "number": 1 - }, - { - "instruction": "Add egg and vanilla and mix until combined.", - "number": 2 - }, - { - "instruction": "Add dry ingredients and mix on low just until incorporated. Stir in chocolate chips.Scoop the dough into 1,5 tablespoon size balls and place on a plate or sheet. Cover with saran wrap and chill at least 2 hours or overnight.When ready to bake, preheat oven to 350 degrees.", - "number": 3 - }, - { - "instruction": "Place the cookie dough balls into ungreased muffin pan. Sprinkle with sea salt.", - "number": 4 - }, - { - "instruction": "Bake for 9 to 10 minutes, or until you see the edges start to brown.", - "number": 5 - }, - { - "instruction": "Remove the pan from the oven and let sit for 10 minutes before removing onto a cooling rack.Top with ice cream and a drizzle of chocolate sauce.", - "number": 6 - } - ], - "name": "Loaded Chocolate Chip Pudding Cookie Cups", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 678353, - "image": "https://spoonacular.com/recipeImages/678353-556x370.jpg", - "ingredients": [ - { - "id": 1009016, - "quantity": { - "amount": 1.5, - "unit": "cups" - } - }, - { - "id": 9003, - "quantity": { - "amount": 2, - "unit": "" - } - }, - { - "id": 20027, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 1002046, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 11215, - "quantity": { - "amount": 1, - "unit": "clove" - } - }, - { - "id": 1012046, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 19911, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 16112, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 10010062, - "quantity": { - "amount": 24, - "unit": "ounce" - } - }, - { - "id": 1102047, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 16124, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 1016168, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - } - ], - "instructions": [ - { - "instruction": "Season the pork chops with salt and pepper and grill or pan fry over medium high heat until cooked, about 3-5 minutes per side. (If grilling, baste the chops in the maple dijon apple cider sauce as you grill.)Meanwhile, mix the remaining ingredients except the apple slices, bring to a simmer and cook until the sauce thickens, about 2-5 minutes.Grill or saute the apple slices until just tender but still crisp.Toss the pork chops and apple slices in the maple dijon apple cider sauce and enjoy!", - "number": 1 - } - ], - "name": "Maple Dijon Apple Cider Grilled Pork Chops", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 412309, - "image": "https://spoonacular.com/recipeImages/412309-556x370.jpeg", - "ingredients": [ - { - "id": 1002030, - "quantity": { - "amount": 4, - "unit": "teaspoons" - } - }, - { - "id": 19334, - "quantity": { - "amount": 8, - "unit": "tablespoons" - } - }, - { - "id": 1001, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 4582, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 2031, - "quantity": { - "amount": 4, - "unit": "teaspoons" - } - }, - { - "id": 5100, - "quantity": { - "amount": 1, - "unit": "pound" - } - }, - { - "id": 2009, - "quantity": { - "amount": 4, - "unit": "teaspoons" - } - }, - { - "id": 1022020, - "quantity": { - "amount": 4, - "unit": "teaspoons" - } - }, - { - "id": 6168, - "quantity": { - "amount": 8, - "unit": "cups" - } - }, - { - "id": 9176, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2026, - "quantity": { - "amount": 4, - "unit": "teaspoons" - } - }, - { - "id": 1042047, - "quantity": { - "amount": 1.5, - "unit": "tablespoons" - } - }, - { - "id": 1042047, - "quantity": { - "amount": 4, - "unit": "teaspoons" - } - } - ], - "instructions": [ - { - "instruction": "Mix the hot sauce, butter, mango habanero sauce, brown sugar, chili powder, garlic powder, onion powder, black pepper, cayenne pepper and seasoning salt in a bowl. Stir vigorously until completely combined.", - "number": 1 - } - ], - "name": "Dirty Steve's Original Wing Sauce", - "tags": [ - "sauce" - ] - }, - { - "id": 741603, - "image": "https://spoonacular.com/recipeImages/741603-556x370.jpeg", - "ingredients": [ - { - "id": 20081, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 18371, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 9040, - "quantity": { - "amount": 12, - "unit": "servings" - } - }, - { - "id": 20011, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 1001, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1001, - "quantity": { - "amount": 6, - "unit": "tablespoons" - } - }, - { - "id": 1230, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 1123, - "quantity": { - "amount": 2, - "unit": "" - } - }, - { - "id": 19296, - "quantity": { - "amount": 12, - "unit": "servings" - } - }, - { - "id": 16098, - "quantity": { - "amount": 12, - "unit": "servings" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 19335, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - } - ], - "instructions": [ - { - "instruction": "Watch how to make this recipe.", - "number": 1 - }, - { - "instruction": "In a large bowl, whisk together buttermilk, eggs, baking powder, sugar, salt and butter.", - "number": 2 - }, - { - "instruction": "In another large bowl mix together all-purpose flour and buckwheat flour.", - "number": 3 - }, - { - "instruction": "Slowly add flour into the wet ingredients mixing with a whisk.", - "number": 4 - }, - { - "instruction": "Mix until there are no lumps and the batter is smooth and velvety.", - "number": 5 - }, - { - "instruction": "In a large cast iron skillet or flat grill pan over medium-high heat, melt a tablespoon of butter. Ladle pancake batter onto skillet to desired size. Using the ladle, form pancake into circular shape. Cook on each side for 2 to 3 minutes or until golden brown. Set pancakes aside and keep warm. Repeat with remaining ingredients.", - "number": 6 - }, - { - "instruction": "Once completed, spread peanut butter on a pancake, layer it with sliced bananas and drizzle it with honey. Top the pancake with another pancake to form a sandwich. Repeat with remaining pancakes and serve with extra honey.", - "number": 7 - } - ], - "name": "Elvis Pancakes", - "tags": [ - "side dish" - ] - }, - { - "id": 562334, - "image": "https://spoonacular.com/recipeImages/562334-556x370.jpg", - "ingredients": [ - { - "id": 2048, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 18371, - "quantity": { - "amount": 0.3333333333333333, - "unit": "teaspoon" - } - }, - { - "id": 20090, - "quantity": { - "amount": 1.125, - "unit": "cup" - } - }, - { - "id": 93784, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 4582, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 1124, - "quantity": { - "amount": 3, - "unit": "large" - } - }, - { - "id": 93625, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 12220, - "quantity": { - "amount": 2, - "unit": "Tablespoons" - } - }, - { - "id": 10118375, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 19304, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 11413, - "quantity": { - "amount": 0.75, - "unit": "cup" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.75, - "unit": "teaspoon" - } - }, - { - "id": 93696, - "quantity": { - "amount": 0.75, - "unit": "cup" - } - }, - { - "id": 93760, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 14412, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 93626, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - } - ], - "instructions": [ - { - "instruction": "Grease or spray oil a 9×5 inch loaf pan.Preheat oven to 170 – 200°F (lowest possible).", - "number": 1 - }, - { - "instruction": "Mix warm water with brown rice syrup, molasses, and yeast in a cup larger than 8 oz., as it may bubble over; set aside until foamy on the top, no more than 5 minutes.In the bowl of your mixer, beat the eggs at high speed in a large mixing bowl until large bubbles form, about 20 seconds.", - "number": 2 - }, - { - "instruction": "Whisk together the dry ingredients; set aside.", - "number": 3 - }, - { - "instruction": "Add the oil, vinegar and yeast mixture to the egg whites and blend on low for a few seconds.", - "number": 4 - }, - { - "instruction": "Add dry ingredients all at once and mix on low speed until all dry ingredients are moistened. Then beat on high for 1 minute.", - "number": 5 - }, - { - "instruction": "Add dough batter to prepared pan and distribute and smooth the top using a rubber spatula. You'll want to meet all sides of the pan. If you miss the corners that will still be okay. It will fill in upon rising. To even out top, drop a few drops of filtered water on top, and spread evenly with a rubber spatula, or dip spatula in water several times.", - "number": 6 - }, - { - "instruction": "Place the bread pan in the oven. Turn oven off. Allow the dough to rise until the center is about 1/2” over the top of the pan, about 22 minutes. It will rise more while the oven is heating and during baking.", - "number": 7 - }, - { - "instruction": "Remove pan from oven and preheat oven to 375°F.", - "number": 8 - }, - { - "instruction": "Place the pan on the center of the rack in the center of the oven and bake for about 45 minutes or more.", - "number": 9 - }, - { - "instruction": "Remove the loaf from the oven and immediately remove it from the pan (careful it will be hot), and set the loaf on a cooling rack to cool. If you do not remove it right away the steam will make the crust soggy.Slice off the two ends to allow the steam to escape, or it will begin to sink in on the sides and bottom.Once cooled, it will shrink a little bit. Slice it with an electric slicer, electric knife or serrated knife. You'll get about 13-16, depending upon how thick you slice it.", - "number": 10 - } - ], - "name": "Mock Udi’s Gluten Free Whole Grain Bread", - "tags": [] - }, - { - "id": 507921, - "image": "https://spoonacular.com/recipeImages/507921-556x370.jpg", - "ingredients": [ - { - "id": 18371, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 19350, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 1123, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 1124, - "quantity": { - "amount": 2, - "unit": "large" - } - }, - { - "id": 20081, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 9099, - "quantity": { - "amount": 15, - "unit": "oz" - } - }, - { - "id": 19335, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 14412, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - } - ], - "instructions": [ - { - "instruction": "To make the Cupcakes: Preheat oven to 350 degrees. Line 12 cupcake tins with paper holders.", - "number": 1 - }, - { - "instruction": "Whisk together dry Fruit Cocktail Cupcakes ingredients.", - "number": 2 - }, - { - "instruction": "Add in wet Fruit Cocktail Cupcakes ingredients and stir with a rubber spatula until thoroughly combined. Fill cupcake tins evenly, and bake for 20 minutes or until thin knife inserted in center comes out clean.", - "number": 3 - } - ], - "name": "Ambrosia Cupcakes", - "tags": [ - "side dish" - ] - }, - { - "id": 721146, - "image": "https://spoonacular.com/recipeImages/721146-556x370.jpg", - "ingredients": [ - { - "id": 12061, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 19334, - "quantity": { - "amount": 6, - "unit": "tablespoons" - } - }, - { - "id": 12104, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 12115, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 4047, - "quantity": { - "amount": 6, - "unit": "tablespoons" - } - }, - { - "id": 10019071, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 8212, - "quantity": { - "amount": 1, - "unit": "Handful" - } - }, - { - "id": 19911, - "quantity": { - "amount": 5, - "unit": "tablespoons" - } - }, - { - "id": 8121, - "quantity": { - "amount": 3, - "unit": "cups" - } - }, - { - "id": 12142, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - } - ], - "instructions": [ - { - "instruction": "Preheat the oven to 325 degrees F.Coarsely chop the almonds and pecans.", - "number": 1 - }, - { - "instruction": "Combine the oats, almonds, pecans, and salt in a bowl. Toss to combine.In a medium-sized bowl, combine the coconut oil (measure exactly when it's melted and not in the hardened state), and 1/2 cup chocolate chips.Microwave in bursts of 15 seconds stirring in between each burst for 15 seconds until completely melted.Stir in the brown sugar (measured lightly packed), honey or maple syrup, and vanilla extract.", - "number": 2 - }, - { - "instruction": "Pour the chocolate wet mixture into the oat and nut mixture and stir until well combined.", - "number": 3 - }, - { - "instruction": "Spread the granola evenly onto a parchment lined baking sheet.", - "number": 4 - }, - { - "instruction": "Bake for 20-30 minutes (depending on the heat of your oven) making sure to flip and stir the granola around every 6-8 minutes.", - "number": 5 - }, - { - "instruction": "Remove and allow the granola to harden and set up. (It may be soft and not very \"granola-like\", but it hardens as it dries out so be careful to not over-cook it). Mine generally takes about 21 minutes to be fully baked.Allow the granola to sit at room temperature for a few hours to harden and set up.Once the granola is hardened, stir in the remaining 1/2 cup chocolate chips and the toasted flaked coconut.To make a yogurt bowl: fill a bowl with the coconut cream yogurt, add a swirl of nut butter, add some fruit such as a banana, add the granola, and finish with chia seeds. Enjoy immediately.", - "number": 6 - } - ], - "name": "Creamy Coconut Yogurt Bowl with Chocolate Granola (Video)", - "tags": [ - "side dish" - ] - }, - { - "id": 541288, - "image": "https://spoonacular.com/recipeImages/541288-556x370.jpg", - "ingredients": [ - { - "id": 20081, - "quantity": { - "amount": 160, - "unit": "g" - } - }, - { - "id": 93740, - "quantity": { - "amount": 40, - "unit": "g" - } - }, - { - "id": 1125, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 12023, - "quantity": { - "amount": 40, - "unit": "g" - } - }, - { - "id": 19335, - "quantity": { - "amount": 80, - "unit": "g" - } - }, - { - "id": 1145, - "quantity": { - "amount": 1, - "unit": "stick" - } - } - ], - "instructions": [ - { - "instruction": "Cut the butter into small cubes and keep them refrigerated until ready to use (I cut on parchment paper and wrap up the butter for easy transfer.).In the food processor, combine the flour, almond meal, sugar, and salt. If you don’t have a food processor, you can simply use a bowl to mix all the ingredients.If you want your sesame seeds to be fine texture, add them now. If you prefer to keep the original shape of sesame seeds, add them with egg yolk later on.Take out the butter from the refrigerator and mix together. If you use a regular bowl to mix, use a dough/pastry blender to combine the butter into the dry ingredients.Lastly add egg yolk.If the food processor is small (like mine) and it doesn’t look like it’s mixed completely, take it out and mix well with a silicone spatula.Form the dough into a ball and cut in half.", - "number": 1 - }, - { - "instruction": "Roll it to a log approximately 2” across. For me it’s easier to work when the dough is wrapped in plastic wrap. While rolling, unwrap some parts of plastic wrap then roll again. Form a nice shape. I wasn't paying attention so my log is flat on one side (see step 11)!Wrap the logs tightly in plastic wrap and refrigerate until firm, about 1 hour.Preheat the oven to 350° F (175° C).", - "number": 2 - }, - { - "instruction": "Remove the dough from plastic wrap and cut into discs about ¼ inch thick (if you prefer thicker cookies, cut into discs about ½ inch and you get 20 cookies total).", - "number": 3 - }, - { - "instruction": "Place them on two baking sheets lined with parchment paper.", - "number": 4 - }, - { - "instruction": "Bake for about 15 minutes, or until lightly browned around the edges.", - "number": 5 - }, - { - "instruction": "Remove from the oven and allow to cool on the baking sheet for about 10 minutes. Then transfer to a wire rack to cool completely. Store cookies in an airtight container. Cookies will last for a day or two.", - "number": 6 - } - ], - "name": "Sesame Cookies", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 779583, - "image": "https://spoonacular.com/recipeImages/779583-556x370.jpg", - "ingredients": [ - { - "id": 19334, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 19334, - "quantity": { - "amount": 3, - "unit": "tablespoons" - } - }, - { - "id": 4582, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 4582, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1015062, - "quantity": { - "amount": 1, - "unit": "pound" - } - }, - { - "id": 10011109, - "quantity": { - "amount": 4, - "unit": "cups" - } - }, - { - "id": 10116098, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 2064, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 2021, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 9160, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 9266, - "quantity": { - "amount": 1.25, - "unit": "cups" - } - }, - { - "id": 16124, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 1016168, - "quantity": { - "amount": 0.5, - "unit": "tablespoon" - } - }, - { - "id": 1016168, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - } - ], - "instructions": [ - { - "instruction": "Prepare the chicken: In a large bowl, whisk together the brown sugar, ginger, oil, soy sauce, Sriracha and peanut butter.", - "number": 1 - }, - { - "instruction": "Add the chicken and toss to coat.", - "number": 2 - }, - { - "instruction": "Let marinate at room temperature for 15 minutes or cover and refrigerate for up to 6 hours. Preheat the oven broiler with a rack set 4-inches from the heat source. Line an 18x13-inch rimmed sheet pan with foil and spray with nonstick spray.", - "number": 3 - }, - { - "instruction": "Remove the chicken from the marinade, discarding excess marinade, and place on prepared pan, covering two-thirds of the pan and spacing evenly. Broil for 6 minutes.", - "number": 4 - }, - { - "instruction": "Remove the pan from the oven and spread pineapple on the remaining space on the pan. Sprinkle the pineapple with 1 tablespoon brown sugar. Broil for 3 to 5 minutes or until chicken is browned and no longer pink inside.", - "number": 5 - }, - { - "instruction": "Transfer the chicken to serving plates.", - "number": 6 - }, - { - "instruction": "Place the coleslaw mix in a medium bowl.", - "number": 7 - }, - { - "instruction": "Add the broiled pineapple, lime juice, oil, soy sauce and Sriracha; toss to coat. Divide among the plates with the chicken and sprinkle the slaw with mint or basil.", - "number": 8 - } - ], - "name": "Thai Chicken Tenders with Broiled Pineapple Slaw", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 550940, - "image": "https://spoonacular.com/recipeImages/550940-556x370.jpg", - "ingredients": [ - { - "id": 11135, - "quantity": { - "amount": 1, - "unit": "large head" - } - }, - { - "id": 6172, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 1002046, - "quantity": { - "amount": 1, - "unit": "tbsp" - } - }, - { - "id": 1123, - "quantity": { - "amount": 8, - "unit": "" - } - }, - { - "id": 11215, - "quantity": { - "amount": 2, - "unit": "cloves" - } - }, - { - "id": 93632, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 12120, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 93690, - "quantity": { - "amount": 2, - "unit": "tbsp" - } - }, - { - "id": 11282, - "quantity": { - "amount": 1, - "unit": "small" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - }, - { - "id": 10010123, - "quantity": { - "amount": 5, - "unit": "slices" - } - }, - { - "id": 11096, - "quantity": { - "amount": 200, - "unit": "g" - } - }, - { - "id": 1012047, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - } - ], - "instructions": [ - { - "instruction": "Preheat the oven to 375FCook and peel the hard boiled eggs according to your favourite method.", - "number": 1 - }, - { - "instruction": "Add onion, garlic, salt and pepper to a medium saucepan. Cook over medium heat for one or two minutes, until fragrant and slightly softened.Throw the cauliflower florets in and continue cooking for a minute or two.", - "number": 2 - }, - { - "instruction": "Add chicken stock, cover and bring to the boil; lower heat and continue cooking until the cauliflower is tender, about 5-7 minutes.Ladle the cauliflower mixture into your blender; add ghee, Dijon mustard and nutritional yeast and process on high speed until super smooth and silky in consistency. Set aside. Steam the rapini for 30 seconds to a minute, until slightly softened and bright green. In a small skillet, dry roast the hazelnuts over medium heat until they become fragrant and take a nice golden coloration. Slice the hard boiled eggs and add them to a large mixing bowl, followed by “Bechamel” sauce, rapini and three quarters of the hazelnuts.", - "number": 3 - }, - { - "instruction": "Mix very delicately until well combined and transfer to an oven safe dish. Tear the prosciutto into smaller pieces and arrange them on top of the dish. Sprinkle with the rest of the hazelnuts. Cover with foil and place in the oven for 20 minutes; after that time, remove the foil and set the oven to broil for a 2-3 minutes or until the prosciutto becomes nice and crispy and takes a nice golden coloration. You could also make this ahead of time and place it in the fridge after you have covered it with foil (although you might want to let it cool a bit beforehand). In this case, you’ll want to increase oven time to about 45 minutes, at 375F. This also reheats extremely well in the microwave and will easily keep for 4-5 days in the refrigerator.", - "number": 4 - } - ], - "name": "Egg and Rapini Casserole", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 583502, - "image": "https://spoonacular.com/recipeImages/583502-556x370.jpg", - "ingredients": [ - { - "id": 6150, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 19334, - "quantity": { - "amount": 2, - "unit": "tbsp" - } - }, - { - "id": 6194, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 11215, - "quantity": { - "amount": 3, - "unit": "large" - } - }, - { - "id": 93627, - "quantity": { - "amount": 3, - "unit": "tbsp" - } - }, - { - "id": 11282, - "quantity": { - "amount": 1, - "unit": "large" - } - }, - { - "id": 2028, - "quantity": { - "amount": 8, - "unit": "servings" - } - }, - { - "id": 10072, - "quantity": { - "amount": 6, - "unit": "lbs" - } - }, - { - "id": 1102047, - "quantity": { - "amount": 8, - "unit": "servings" - } - }, - { - "id": 6971, - "quantity": { - "amount": 2, - "unit": "tbsp" - } - } - ], - "instructions": [ - { - "instruction": "Combine 1 cup chicken broth, 1 cup BBQ sauce, 3 tbsp liquid smoke, 2 tbsp Worcestershire sauce, 3 pressed garlic cloves, 2 tbsp brown sugar and stir to combine.Generously sprinkle the pork roast with salt, pepper and paprika.Rub the seasoning into the pork shoulder.Chop 1 large onion and place it into the bottom of the slow cooker.", - "number": 1 - }, - { - "instruction": "Place the pork roast over the onion and pour the marinade over the pork.Cover and set on low for 8 hours.", - "number": 2 - }, - { - "instruction": "Let it cool down so you don't burn your fingers while shredding.", - "number": 3 - }, - { - "instruction": "Remove the meat to a large bowl and shred. This meat is fall-apart tender! The marinade enhances the natural flavors of the pork. When you're done shredding the pork, pour as much of the remaining sauce over the pork as you like.", - "number": 4 - }, - { - "instruction": "Serve with more Baby Rays BBQ Sauce... and pickles", - "number": 5 - } - ], - "name": "Pulled Pork", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 543687, - "image": "https://spoonacular.com/recipeImages/543687-556x370.jpg", - "ingredients": [ - { - "id": 93607, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 9040, - "quantity": { - "amount": 1, - "unit": "small" - } - }, - { - "id": 18942, - "quantity": { - "amount": 1, - "unit": "Tbsp" - } - }, - { - "id": 1012010, - "quantity": { - "amount": 0.25, - "unit": "tsp" - } - }, - { - "id": 2021, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 2025, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 43274, - "quantity": { - "amount": 1, - "unit": "oz" - } - }, - { - "id": 8120, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 11424, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Add all ingredients to a blender (except graham crackers if using). Cover and blend until well pureed then serve topped with crushed graham crackers if desired.*The banana is mostly what gives this smoothie it's sweetness, so I recommend using one that is speckled (not mushy though).Recipe Source: Cooking Classy", - "number": 1 - } - ], - "name": "Pumpkin Cheesecake Breakfast Smoothie", - "tags": [ - "morning meal", - "brunch", - "breakfast" - ] - }, - { - "id": 516904, - "image": "https://spoonacular.com/recipeImages/516904-556x370.jpg", - "ingredients": [ - { - "id": 9016, - "quantity": { - "amount": 3, - "unit": "Tablespoons" - } - }, - { - "id": 19334, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 1001, - "quantity": { - "amount": 1, - "unit": "Tablespoon" - } - }, - { - "id": 1001, - "quantity": { - "amount": 2, - "unit": "Tablespoons" - } - }, - { - "id": 18047, - "quantity": { - "amount": 16, - "unit": "ounce" - } - }, - { - "id": 1123, - "quantity": { - "amount": 10, - "unit": "large" - } - }, - { - "id": 1089003, - "quantity": { - "amount": 5, - "unit": "medium" - } - }, - { - "id": 19335, - "quantity": { - "amount": 2, - "unit": "Tablespoons" - } - }, - { - "id": 1012010, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 1077, - "quantity": { - "amount": 3, - "unit": "cups" - } - } - ], - "instructions": [ - { - "instruction": "Prepare apple filling: Melt butter over medium heat in 12- inch skillet.", - "number": 1 - }, - { - "instruction": "Add apples and sugar; cook 20 minutes, stirring occasionally. Stir in apple juice; cook 1 more minute.", - "number": 2 - }, - { - "instruction": "Grease 13 x 9-inch baking dish. Arrange 1/2 of bread slices, overlapping slightly.", - "number": 3 - }, - { - "instruction": "In a medium bowl, whisk milk, salt, cinnamon and eggs.", - "number": 4 - }, - { - "instruction": "Pour 1/2 of egg mixture over bread. Set aside 1/4 of apple filling; cover and refrigerate to spoon on after baking.", - "number": 5 - }, - { - "instruction": "Spread remaining apple filling over bread in an even layer. Arrange remaining bread slices over apple layer.", - "number": 6 - }, - { - "instruction": "Pour remaining egg mixture over top bread layer. Press bread down with spatula so it absorbs the maximum amount of egg mixture. Dot bread with butter and sprinkle with sugar. Cover and refrigerate overnight.", - "number": 7 - }, - { - "instruction": "To bake: Preheat oven to 325°F. Uncover dish and bake 50 to 55 minutes or until knife inserted in center comes out clean. Reheat remaining apple mixture in microwave. Spoon over top to serve.", - "number": 8 - } - ], - "name": "Cinnamon Raisin Overnight French Toast w/ Apple Filling", - "tags": [ - "side dish" - ] - }, - { - "id": 988243, - "image": "https://spoonacular.com/recipeImages/988243-556x370.jpg", - "ingredients": [ - { - "id": 1002030, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 1001, - "quantity": { - "amount": 4, - "unit": "tablespoons" - } - }, - { - "id": 11297, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 11215, - "quantity": { - "amount": 6, - "unit": "cloves" - } - }, - { - "id": 1032009, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 15152, - "quantity": { - "amount": 2, - "unit": "pounds" - } - }, - { - "id": 11294, - "quantity": { - "amount": 0.25, - "unit": "medium" - } - } - ], - "instructions": [ - { - "instruction": "Melt butter to a large skillet over medium heat. As the butter melts, it will begin to foam as it transitions from a bright, lemon-yellow color to golden and then finally to a nutty-brown color. As the butter just begins to turn nutty-brown from golden, reduce your heat to medium-low and carefully toss in your garlic and onion. Cook until the onion just begins to become tender and then add in your shrimp. Stirring frequently, cook until the shrimp turn pink and lose their translucence.", - "number": 1 - }, - { - "instruction": "Stir in salt, black pepper, red pepper flakes and fresh parsley. Toss shrimp to make sure all are well-coated.", - "number": 2 - }, - { - "instruction": "Remove from heat and serve.", - "number": 3 - } - ], - "name": "Brown Butter Garlic Shrimp", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 724018, - "image": "https://spoonacular.com/recipeImages/724018-556x370.jpg", - "ingredients": [ - { - "id": 11007, - "quantity": { - "amount": 2, - "unit": "large" - } - }, - { - "id": 9150, - "quantity": { - "amount": 4, - "unit": "slices" - } - }, - { - "id": 9156, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 18069, - "quantity": { - "amount": 6, - "unit": "slices" - } - }, - { - "id": 1033, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 11297, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 11215, - "quantity": { - "amount": 6, - "unit": "cloves" - } - }, - { - "id": 2027, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 1034053, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 0.125, - "unit": "teaspoon" - } - }, - { - "id": 2004, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 9150, - "quantity": { - "amount": 2, - "unit": "slices" - } - }, - { - "id": 11215, - "quantity": { - "amount": 2, - "unit": "cloves" - } - } - ], - "instructions": [ - { - "instruction": "Cut off the crust from 6 slices of bread. Chop the centers and put into a food processor. Pulse until you have coarse breadcrumbs. You should have about 3 cups.", - "number": 1 - }, - { - "instruction": "Make the stuffing: In a large bowl, stir together the breadcrumbs, lemon zest, Parmesan cheese, minced garlic, chopped parsley, minced oregano, 1/2 cup olive oil, and black pepper. Set aside.", - "number": 2 - } - ], - "name": "Baked Stuffed Artichokes", - "tags": [ - "side dish", - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 623855, - "image": "https://spoonacular.com/recipeImages/623855-556x370.jpg", - "ingredients": [ - { - "id": 18372, - "quantity": { - "amount": 1, - "unit": "tsp" - } - }, - { - "id": 1001, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 1001, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 10116098, - "quantity": { - "amount": 0.3333333333333333, - "unit": "cup" - } - }, - { - "id": 10116098, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 1123, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 20081, - "quantity": { - "amount": 1.25, - "unit": "cup" - } - }, - { - "id": 19335, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 19334, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 19336, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "tsp" - } - }, - { - "id": 10019903, - "quantity": { - "amount": 1.5, - "unit": "cups" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "Tbsp" - } - } - ], - "instructions": [ - { - "instruction": "Preheat oven to 350FLine a baking sheet with parchment, set aside.In bowl of stand mixer cream butter and peanut butter together until smooth.", - "number": 1 - }, - { - "instruction": "Add both sugars and beat for 2 minutes.", - "number": 2 - }, - { - "instruction": "Add in egg, vanilla, baking soda and salt.", - "number": 3 - }, - { - "instruction": "Mix until combined.Turn mixer to low and add in flour.Portion out dough by in tablespoon amounts.", - "number": 4 - }, - { - "instruction": "Roll into a ball and then flatten to approximately inch thick.", - "number": 5 - }, - { - "instruction": "Place on baking sheet about 2 inches apart.", - "number": 6 - }, - { - "instruction": "Bake for 8-9 minutes until golden at he edges.", - "number": 7 - }, - { - "instruction": "Remove from oven and transfer cookies to a wire rack to cool completely.In microwave safe bowl combine chocolate chips, peanut butter and butter.", - "number": 8 - }, - { - "instruction": "Heat on high for 1 minute and then stir until smooth.", - "number": 9 - }, - { - "instruction": "Place powdered sugar in bowl.Dip each cookie in chocolate and using a fork remove cookie, tapping off excess chocolate. You don't need a lot of chocolate coating on the cookies.Immediately dip the cookie into the powdered sugar and toss to coat completely.", - "number": 10 - }, - { - "instruction": "Place back on cooling rack to until chocolate is set. Repeat for all cookies.", - "number": 11 - } - ], - "name": "Puppy Chow Cookies", - "tags": [ - "side dish" - ] - }, - { - "id": 793584, - "image": "https://spoonacular.com/recipeImages/793584-556x370.jpg", - "ingredients": [ - { - "id": 11143, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 1002046, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 1129, - "quantity": { - "amount": 2, - "unit": "" - } - }, - { - "id": 4641, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1011256, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2026, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 11297, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 11944, - "quantity": { - "amount": 3, - "unit": "tablespoons" - } - }, - { - "id": 10011282, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 11353, - "quantity": { - "amount": 2, - "unit": "pounds" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.75, - "unit": "teaspoons" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - } - ], - "instructions": [ - { - "instruction": "Place potatoes in a large saucepan and add water to cover by 1 inch. Bring to boil over medium-high heat.", - "number": 1 - }, - { - "instruction": "Add 1-tablespoon salt, reduce heat to medium, and simmer. Stir a few times, until potatoes re-fork tender, about 8 minutes.", - "number": 2 - }, - { - "instruction": "Drain potatoes and transfer to a large bowl.In a medium sized bowl whisk together yogurt, mayonnaise, mustard, salt, pepper and onion powder.", - "number": 3 - }, - { - "instruction": "Add to potatoes and gently stir to combine.", - "number": 4 - }, - { - "instruction": "Add celery, pickles, red onions, parsley and chopped eggs to potato mixture, stir to combine.", - "number": 5 - }, - { - "instruction": "Add more salt and pepper to taste.Cover and refrigerate until chilled, about 1 hour before serving. Potato salad can be made up to one day ahead.", - "number": 6 - } - ], - "name": "Easy Creamy Potato Salad with Yogurt", - "tags": [ - "salad" - ] - }, - { - "id": 607805, - "image": "https://spoonacular.com/recipeImages/607805-556x370.jpg", - "ingredients": [ - { - "id": 10211821, - "quantity": { - "amount": 3, - "unit": "large" - } - }, - { - "id": 11215, - "quantity": { - "amount": 2, - "unit": "cloves" - } - }, - { - "id": 10020048, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 93651, - "quantity": { - "amount": 1, - "unit": "cups" - } - }, - { - "id": 7927, - "quantity": { - "amount": 0.5, - "unit": "lb" - } - }, - { - "id": 11282, - "quantity": { - "amount": 1, - "unit": "small" - } - }, - { - "id": 2027, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - }, - { - "id": 1033, - "quantity": { - "amount": 2, - "unit": "Tbsp" - } - }, - { - "id": 11549, - "quantity": { - "amount": 14, - "unit": "oz" - } - } - ], - "instructions": [ - { - "instruction": "Cut tops off peppers; remove and discard seeds.", - "number": 1 - }, - { - "instruction": "Chop tops; place in medium bowl.", - "number": 2 - }, - { - "instruction": "Add sausage, onions, rice, Parmesan, garlic, oregano, 1-1/2 cups pizza sauce and 1-1/4 cups shredded cheese; mix lightly. Spoon into pepper shells.", - "number": 3 - }, - { - "instruction": "Stand peppers in slow cooker; top with remaining sauce and shredded cheese. Cover with lid.", - "number": 4 - }, - { - "instruction": "Cook on LOW 6 to 8 hours (or on HIGH 2-1/2 to 3-1/2 hours).", - "number": 5 - } - ], - "name": "Slow-Cooker Italian-Stuffed Peppers", - "tags": [ - "side dish" - ] - }, - { - "id": 763858, - "image": "https://spoonacular.com/recipeImages/763858-556x370.jpg", - "ingredients": [ - { - "id": 10120129, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 1001, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 20081, - "quantity": { - "amount": 3.5, - "unit": "cups" - } - }, - { - "id": 1053, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 19296, - "quantity": { - "amount": 0.3333333333333333, - "unit": "cup" - } - }, - { - "id": 10118375, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 10118375, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1077, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 4053, - "quantity": { - "amount": 16, - "unit": "servings" - } - }, - { - "id": 8120, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 8120, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1012047, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 14412, - "quantity": { - "amount": 1, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Whisk flours together with teaspoon instant yeast in a large mixing bowl with a tight-fitting lid (like this one), and then stir in the oats. Stir the water and milk together, then pour the liquids into the dry ingredients, stirring to create a loose, shaggy dough. Cover the mixing bowl tightly, and allow the dough to rest at room temperature at least eight and up to twelve hours.Dump the dough into the basin of a stand mixer (like this one), and then beat in the butter, honey, salt, and the remaining 2 tablespoons yeast. Continue beating all the ingredients together until they form a smooth dough, and then turn it out on a well-floured surface. Knead by hand for ten to fifteen minutes, incorporating about 1 cups additional flour, until the dough becomes smooth and elastic.Oil a large mixing bowl, and transfer the dough to the bowl. Cover tightly, and allow the dough to rise until doubled in volume.", - "number": 1 - }, - { - "instruction": "Transfer the dough to a well-floured surface, and split into two portions of approximately equal weight. Butter and flour two 4-inch by 8-inch loaf pans.Working one at a time, roll each lump of dough out into a large rectangle, about 8 by 16 inches. Working from the short end, roll the dough into a loaf, pinching the seam at the bottom of the loaf tightly to seal it.", - "number": 2 - }, - { - "instruction": "Place the dough, seam-side down, in a prepared loaf pan. Cover lightly with a kitchen towel, and allow it to rise until doubled in size, about two hours.While the dough rises, heat the oven to 400 F.Using a pastry brush, gently brush the top of the dough with cream, and then scatter one tablespoon rolled oats over each loaf.", - "number": 3 - }, - { - "instruction": "Transfer the loaves to the oven, and bake 5 minutes at 400 F. Then reduce the temperature to 350 F and continue baking until the crust is a dark brown and the bread reaches an internal temperature of 200 F about 45 minutes.", - "number": 4 - }, - { - "instruction": "Remove from the oven and allow the loaves to cool in their pans for five minutes, then turn out onto a wire rack, allowing the bread to cool completely before slicing.", - "number": 5 - } - ], - "name": "Whole Wheat Milk and Honey Sandwich Bread", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 618332, - "image": "https://spoonacular.com/recipeImages/618332-556x370.jpg", - "ingredients": [ - { - "id": 19912, - "quantity": { - "amount": 168, - "unit": "g" - } - }, - { - "id": 18371, - "quantity": { - "amount": 2, - "unit": "g" - } - }, - { - "id": 20027, - "quantity": { - "amount": 1, - "unit": "g" - } - }, - { - "id": 10019071, - "quantity": { - "amount": 42, - "unit": "g" - } - }, - { - "id": 1012010, - "quantity": { - "amount": 3, - "unit": "g" - } - }, - { - "id": 11424, - "quantity": { - "amount": 183, - "unit": "g" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "g" - } - }, - { - "id": 1145, - "quantity": { - "amount": 28, - "unit": "g" - } - }, - { - "id": 2050, - "quantity": { - "amount": 5, - "unit": "mL" - } - }, - { - "id": 10020080, - "quantity": { - "amount": 120, - "unit": "g" - } - } - ], - "instructions": [ - { - "instruction": "In a medium bowl, whisk together the flour, baking powder, cornstarch, cinnamon, and salt. In a separate bowl, whisk together the butter, pumpkin, and vanilla. Stir in the agave.", - "number": 1 - }, - { - "instruction": "Add the flour mixture, stirring just until incorporated. Fold in 2 tablespoons of chocolate chips. Chill the cookie dough for at least 30 minutes. (If chilling longer than 1 hour, cover the top of the bowl with foil.)Preheat the oven to 325F, and line a baking sheet with parchment paper or a silicone baking mat. Drop the cookie dough into 12 rounded scoops onto the prepared baking sheet. Flatten slightly, and press the remaining chocolate chips into the tops of the cookie dough.", - "number": 2 - }, - { - "instruction": "Bake at 325F for 15-17 minutes. Cool on the baking sheet for at least 10 minutes before turning out onto a wire rack.", - "number": 3 - } - ], - "name": "The Ultimate Healthy Soft & Chewy Pumpkin Chocolate Chip Cookies", - "tags": [ - "side dish" - ] - }, - { - "id": 231951, - "image": "https://spoonacular.com/recipeImages/231951-556x370.jpg", - "ingredients": [ - { - "id": 20027, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 10019334, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 1053, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 93814, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 1145, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 1077, - "quantity": { - "amount": 1.5, - "unit": "cups" - } - } - ], - "instructions": [ - { - "instruction": "Whisk together brown sugar, cornstarch, and 1/4 teaspoon salt in a heavy medium saucepan, then whisk in milk and cream. Bring to a boil over medium heat, whisking frequently, then boil, whisking, 1 minute.", - "number": 1 - }, - { - "instruction": "Remove from heat and whisk in butter and vanilla.", - "number": 2 - }, - { - "instruction": "Pour into a bowl, then cover surface with buttered wax paper and chill until cold, at least 1 1/2 hours.", - "number": 3 - } - ], - "name": "Butterscotch Pudding", - "tags": [ - "side dish" - ] - }, - { - "id": 880108, - "image": "https://spoonacular.com/recipeImages/880108-556x370.jpg", - "ingredients": [ - { - "id": 11206, - "quantity": { - "amount": 1, - "unit": "large" - } - }, - { - "id": 11297, - "quantity": { - "amount": 1, - "unit": "bunch" - } - }, - { - "id": 11215, - "quantity": { - "amount": 4, - "unit": "cloves" - } - }, - { - "id": 9150, - "quantity": { - "amount": 1, - "unit": "large" - } - }, - { - "id": 4053, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 20035, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "tsp" - } - }, - { - "id": 11529, - "quantity": { - "amount": 1, - "unit": "large" - } - } - ], - "instructions": [ - { - "instruction": "Rinse the quinoa under cool running water.", - "number": 1 - }, - { - "instruction": "Place the rinsed quinoa in a pot with 1.75 cups of water. Put a lid on top, bring it to a boil, then reduce the heat to low and let simmer for 15 minutes. After 15 minutes, turn off the heat. Allow the quinoa to cool before making the salad or else the heat will wilt the parsley and vegetables. To cool it faster, spread it out on a baking sheet and place in the refrigerator for 30 minutes.While the quinoa is cooling, prepare the rest of the salad.", - "number": 2 - }, - { - "instruction": "Cut the tomato and cucumber into a small dice. Rinse the parsley well to remove sand and grit, then chop well.", - "number": 3 - }, - { - "instruction": "Add the cucumber, tomato, and parsley to a bowl.To make the dressing, squeeze the juice from the lemon into a bowl (about cup). Mince the garlic and add to the lemon juice along with the olive oil and salt.Once the quinoa is cooled, combine it with the chopped vegetables and the lemon dressing. Stir well and then serve!", - "number": 4 - } - ], - "name": "quinoa tabbouleh", - "tags": [ - "side dish" - ] - }, - { - "id": 602311, - "image": "https://spoonacular.com/recipeImages/602311-556x370.jpg", - "ingredients": [ - { - "id": 14242, - "quantity": { - "amount": 0.6666666666666666, - "unit": "cup" - } - }, - { - "id": 14130, - "quantity": { - "amount": 0.6666666666666666, - "unit": "cup" - } - }, - { - "id": 19177, - "quantity": { - "amount": 2, - "unit": "envelopes" - } - }, - { - "id": 1053, - "quantity": { - "amount": 1, - "unit": "tbsp" - } - }, - { - "id": 93645, - "quantity": { - "amount": 30, - "unit": "servings" - } - }, - { - "id": 14051, - "quantity": { - "amount": 0.6666666666666666, - "unit": "cup" - } - }, - { - "id": 1054, - "quantity": { - "amount": 30, - "unit": "servings" - } - } - ], - "instructions": [ - { - "instruction": "Lightly spray the mold with non-stick spray and wipe excess off with a paper towel. Don’t overdo it or the residue will affect the taste of the jello.", - "number": 1 - }, - { - "instruction": "Pour the soda, juice, and cream into a medium saucepan and sprinkle the gelatin on top. Allow the gelatin to soak for 2-3 minutes, then begin to heat on low, stirring constantly until gelatin is fully dissolved (about 5 minutes).", - "number": 2 - }, - { - "instruction": "Remove saucepan from heat and add vodka and food coloring.", - "number": 3 - }, - { - "instruction": "Pour into molds and chill for several hours, or until set.", - "number": 4 - }, - { - "instruction": "Remove from mold, top with whipped cream, and enjoy responsibly!*The original recipe suggests 2-3 envelopes, depending on how long your jello shots will be left out (more gelatin for more time). I opted for 3 because we were traveling an hour to get to the party, but I found them to be a little too firm , so I suggest you stick with 2 and plan accordingly for the best results!", - "number": 5 - } - ], - "name": "Birthday Cake Jello Shots", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 670408, - "image": "https://spoonacular.com/recipeImages/670408-556x370.jpg", - "ingredients": [ - { - "id": 93828, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 11266, - "quantity": { - "amount": 16, - "unit": "ounces" - } - }, - { - "id": 1017, - "quantity": { - "amount": 4, - "unit": "ounces" - } - }, - { - "id": 1019, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 1022020, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 1022027, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 1082047, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 1082047, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 4053, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1033, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 1032009, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 10011457, - "quantity": { - "amount": 8, - "unit": "ounces" - } - } - ], - "instructions": [ - { - "instruction": "Preheat oven to 350 degrees F. First, remove the mushroom stems by pushing each one toward you, then away from you. It will pop right out. (Save them to add to another recipe.) Swish and rub the mushroom tops in a large bowl of cold water to get them clean. Then, lay them open side down on a kitchen towel to dry.While the mushrooms dry, mix together the cream cheese, spinach, artichoke hearts, parmesan, garlic powder, 1/2 tsp. kosher salt, and red pepper flakes.In a small bowl, stir together olive oil, 1/4 tsp. salt, and Italian seasoning. Use a basting brush or your fingers to lightly rub the outside of the mushrooms with the oil mixture.", - "number": 1 - }, - { - "instruction": "Place the mushrooms open side up on a baking sheet. Use a small disher or spoon to place a heaping scoop of dip mixture into each mushroom, pressing it down to make sure it fills the opening. Press a small amount of feta cheese on top of each stuffed mushroom.", - "number": 2 - }, - { - "instruction": "Bake in preheated oven for 20-25 minutes until filling is hot and bubbly and feta is starting to brown. Mushrooms will drain some brown liquid during cooking, so drain on paper towels before serving if you don't want that liquid on your serving plate. These taste just as good even after they have cooled down!", - "number": 3 - } - ], - "name": "Artichoke Spinach Dip Stuffed Mushrooms", - "tags": [ - "condiment", - "dip", - "spread" - ] - }, - { - "id": 325208, - "image": "https://spoonacular.com/recipeImages/325208-556x370.jpeg", - "ingredients": [ - { - "id": 1002030, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 2044, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 11215, - "quantity": { - "amount": 2, - "unit": "cloves" - } - }, - { - "id": 1053, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 7036, - "quantity": { - "amount": 1, - "unit": "pound" - } - }, - { - "id": 1082047, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 10111549, - "quantity": { - "amount": 26, - "unit": "ounce" - } - }, - { - "id": 1077, - "quantity": { - "amount": 0.75, - "unit": "cup" - } - }, - { - "id": 4053, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1038, - "quantity": { - "amount": 3, - "unit": "cups" - } - }, - { - "id": 11304, - "quantity": { - "amount": 4, - "unit": "ounces" - } - }, - { - "id": 11677, - "quantity": { - "amount": 2, - "unit": "small" - } - }, - { - "id": 11020420, - "quantity": { - "amount": 12, - "unit": "" - } - }, - { - "id": 1001026, - "quantity": { - "amount": 8, - "unit": "ounces" - } - }, - { - "id": 93630, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 14106, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Watch how to make this recipe.", - "number": 1 - }, - { - "instruction": "Place an oven rack in the center of the oven. Preheat the oven to 350 degrees F. Spray a 9-by-13-by-2-inch glass baking dish with vegetable oil cooking spray. Set aside.", - "number": 2 - }, - { - "instruction": "For the fonduta sauce: In a medium heavy-bottomed saucepan, bring the milk and cream to a simmer over medium heat. Reduce the heat to low.", - "number": 3 - }, - { - "instruction": "Add the Pecorino Romano and whisk until the cheese is melted and the sauce is smooth.", - "number": 4 - }, - { - "instruction": "Remove the pan from the heat and stir in the basil. Set aside.", - "number": 5 - }, - { - "instruction": "In a large skillet, heat 2 tablespoons of olive oil over medium-high heat.", - "number": 6 - }, - { - "instruction": "Add the sausage, shallots, garlic, 1/4 teaspoon salt, and 1/4 teaspoon pepper. Cook until the sausage is cooked through and the vegetables have softened, 8 to 10 minutes. Using a wooden spoon, break the sausage into 1/2-inch pieces. Increase the heat to high.", - "number": 7 - }, - { - "instruction": "Add the wine and scrape up the brown bits that cling to the bottom of the pan with a wooden spoon. Cook until the wine has evaporated, about 2 minutes.", - "number": 8 - }, - { - "instruction": "Remove the pan from the heat and set aside to cool slightly.", - "number": 9 - }, - { - "instruction": "Add the peas, ricotta, and 1 cup of the fonduta sauce. Season with remaining 1/2 teaspoon kosher salt and 1/4 teaspoon pepper.", - "number": 10 - }, - { - "instruction": "Bring a large pot of salted water to a boil over high heat.", - "number": 11 - }, - { - "instruction": "Add the pasta and cook until just tender, 7 to 8 minutes.", - "number": 12 - }, - { - "instruction": "Drain and set aside.", - "number": 13 - }, - { - "instruction": "Spread half of the marinara sauce over the bottom of the prepared baking dish. Using a small spoon, fill the manicotti shells with the sausage filling and arrange in a single layer in the baking dish.", - "number": 14 - }, - { - "instruction": "Pour the remaining marinara sauce on top of the filled shells. Spoon the remaining fonduta sauce on top and sprinkle with the mozzarella.", - "number": 15 - }, - { - "instruction": "Drizzle with olive oil and bake until bubbly and golden brown, 30 to 35 minutes.", - "number": 16 - } - ], - "name": "Baked Manicotti with Sausage and Peas", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 542778, - "image": "https://spoonacular.com/recipeImages/542778-556x370.jpg", - "ingredients": [ - { - "id": 1123, - "quantity": { - "amount": 2, - "unit": "medium size" - } - }, - { - "id": 11463, - "quantity": { - "amount": 10, - "unit": "ounces" - } - }, - { - "id": 11215, - "quantity": { - "amount": 3, - "unit": "" - } - }, - { - "id": 93651, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 93828, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 1011256, - "quantity": { - "amount": 6, - "unit": "ounces" - } - }, - { - "id": 4053, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1025, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 20035, - "quantity": { - "amount": 3, - "unit": "cups" - } - }, - { - "id": 1102047, - "quantity": { - "amount": 5, - "unit": "servings" - } - }, - { - "id": 11677, - "quantity": { - "amount": 1, - "unit": "" - } - } - ], - "instructions": [ - { - "instruction": "Preheat the oven to 375°F then prepare a large casserole dish (I used a 1 quart dish) by greasing with Earth Balance, butter or non-stick cooking spray.Warm the olive oil over medium heat in a sauté pan and cook the shallot and garlic for a few minutes, until fragrant.Using a strainer and a paper towel, press the excess water out from the defrosted spinach then add it to the pan.", - "number": 1 - }, - { - "instruction": "Add the chopped artichoke hearts (I discarded any tough parts) and a pinch of salt & pepper to the pan and cook for five minutes.Meanwhile, combine the eggs, yogurt and cheese in a large bowl and whisk together until well-combined.", - "number": 2 - }, - { - "instruction": "Remove the spinach artichoke mixture from the heat and allow to cool for a few minutes before adding to the bowl with the eggs and cheese.Lastly, add the cooked quinoa and stir until everything is mixed together well.", - "number": 3 - }, - { - "instruction": "Place the mixture into the casserole dish, smoothing the top with the back of a spoon. Sprinkle a few tablespoons of cheese on top and cook for 30-35 minutes, until top is light golden brown.", - "number": 4 - }, - { - "instruction": "Serve warm and enjoy!", - "number": 5 - } - ], - "name": "Spinach Artichoke Quinoa Casserole", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 698701, - "image": "https://spoonacular.com/recipeImages/698701-556x370.jpg", - "ingredients": [ - { - "id": 10014623, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 10014623, - "quantity": { - "amount": 6, - "unit": "teaspoons" - } - }, - { - "id": 1124, - "quantity": { - "amount": 4, - "unit": "large" - } - }, - { - "id": 9302, - "quantity": { - "amount": 3, - "unit": "cups" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 19335, - "quantity": { - "amount": 0.3333333333333333, - "unit": "cup" - } - }, - { - "id": 19335, - "quantity": { - "amount": 6, - "unit": "teaspoons" - } - } - ], - "instructions": [ - { - "instruction": "To prepare berry layer: Preheat oven to 375F. Coat six 8-ounce souffl cups with cooking spray.", - "number": 1 - }, - { - "instruction": "Add 1 teaspoon sugar to each cup and swirl to coat the inside. Distribute raspberries in the bottom of the cups and sprinkle each with 1 teaspoon crme de cassis (or eau-de-vie, juice or nectar).To prepare souffls: Stir raspberries in a saucepan over low heat until they are juicy (for fresh) or thawed (for frozen).", - "number": 2 - }, - { - "instruction": "Transfer to a fine sieve set over a bowl. With a spoon, press the berries through the sieve, being careful to extract all the pulp. Discard the seeds.Return the puree to the saucepan. Bring to a simmer and stir over medium heat until very thick and reduced to 1/4 cup, about 10 minutes. (Reduce the heat as the mixture thickens.) Stir in 1 tablespoon crme de cassis (or eau-de-vie, juice or nectar) and set aside to cool slightly.Beat egg whites and salt in a mixing bowl with an electric mixer on high speed until soft peaks form. Continuing to beat, gradually add sugar and beat until stiff peaks form. With a rubber spatula, fold about a fourth of the beaten whites into the reserved raspberry puree to lighten its texture, then pour the mixture over the remaining whites. Gently fold the puree and whites together until evenly blended. Spoon the souffl mixture into the cups, spreading to the edges of the cups.Set the cups on a baking sheet and bake for 10 minutes, or until lightly browned on the top. Dust with confectioners sugar and serve immediately.", - "number": 3 - } - ], - "name": "Double Raspberry Soufflés", - "tags": [ - "side dish" - ] - }, - { - "id": 515021, - "image": "https://spoonacular.com/recipeImages/515021-556x370.jpg", - "ingredients": [ - { - "id": 9040, - "quantity": { - "amount": 4, - "unit": "" - } - }, - { - "id": 1001, - "quantity": { - "amount": 1.25, - "unit": "sticks" - } - }, - { - "id": 9354, - "quantity": { - "amount": 1, - "unit": "large can" - } - }, - { - "id": 9070, - "quantity": { - "amount": 15, - "unit": "servings" - } - }, - { - "id": 14181, - "quantity": { - "amount": 15, - "unit": "servings" - } - }, - { - "id": 1123, - "quantity": { - "amount": 2, - "unit": "" - } - }, - { - "id": 10018617, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 1053, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 12135, - "quantity": { - "amount": 15, - "unit": "servings" - } - }, - { - "id": 19336, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 19335, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "tsp" - } - } - ], - "instructions": [ - { - "instruction": "Grease a 9×13 pan.", - "number": 1 - }, - { - "instruction": "Mix together graham cracker crust and 1¼ sticks of butter. Press out in pan.In mixer, mix together powdered sugar, 2 sticks of butter, vanilla, and eggs.", - "number": 2 - }, - { - "instruction": "Pour on top of graham cracker crust.", - "number": 3 - }, - { - "instruction": "Spread out crushed pineapple on top of sugar mixture, then add sliced bananas. I added cherries next for fun.In mixer, add heavy cream and mix on medium high until soft peak. When almost completed, add ½ cup sugar.", - "number": 4 - }, - { - "instruction": "Spread whipped cream over top of bananas. Refrigerate for at least 2 hours, (I waited 1 hours and it was fine.)Enjoy!", - "number": 5 - } - ], - "name": "A Cake To Warm Any Heart – Banana Split Cake", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 999044, - "image": "https://spoonacular.com/recipeImages/999044-556x370.jpg", - "ingredients": [ - { - "id": 9037, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 16057, - "quantity": { - "amount": 1.5, - "unit": "cups" - } - }, - { - "id": 11297, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 2045, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1256, - "quantity": { - "amount": 3, - "unit": "tablespoons" - } - }, - { - "id": 9152, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 4053, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 1102047, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 11291, - "quantity": { - "amount": 2, - "unit": "" - } - } - ], - "instructions": [ - { - "instruction": "Working in a couple of batches, roughly chop the chickpeas and place in a bowl.", - "number": 1 - }, - { - "instruction": "Add the minced herbs and scallions to the chickpeas and give a quick toss.", - "number": 2 - }, - { - "instruction": "In a separate bowl, whisk together the mayo, lemon juice, and olive oil.", - "number": 3 - }, - { - "instruction": "Cut the avocado in half, remove the pit, and cut each half into cubes (see note).", - "number": 4 - }, - { - "instruction": "Place in the bowl and pour the mayo mixture over the chickpeas and avocado. Toss until well combine. Taste and add salt/pepper to your preferred taste.", - "number": 5 - }, - { - "instruction": "Serve on a sandwich or with crackers.", - "number": 6 - } - ], - "name": "Avocado Chickpea Salad", - "tags": [ - "salad" - ] - }, - { - "id": 798070, - "image": "https://spoonacular.com/recipeImages/798070-556x370.jpg", - "ingredients": [ - { - "id": 18371, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 20081, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 19335, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 1077, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 9236, - "quantity": { - "amount": 20, - "unit": "ounces" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 1145, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 19095, - "quantity": { - "amount": 8, - "unit": "servings" - } - }, - { - "id": 1054, - "quantity": { - "amount": 8, - "unit": "servings" - } - } - ], - "instructions": [ - { - "instruction": "Melt butter and brush some of the butter around the slow cooker.Using a stand mixer, combine flour, 1-cup sugar, baking powder, and salt. Then, add milk and remaining melted cooled butter, mixing just until dry ingredients are moistened.", - "number": 1 - }, - { - "instruction": "Pour the batter in the slow cooker and place the frozen peaches on top.Cook on high for 3 hours with lid on top. Once the cobbler is done, divide and serve cobbler warm with ice cream and whipped cream on top.", - "number": 2 - } - ], - "name": "Slow Cooker Peach Cobbler", - "tags": [ - "side dish" - ] - }, - { - "id": 574317, - "image": "https://spoonacular.com/recipeImages/574317-556x370.jpg", - "ingredients": [ - { - "id": 20081, - "quantity": { - "amount": 2.5, - "unit": "cups" - } - }, - { - "id": 1001, - "quantity": { - "amount": 2, - "unit": "T" - } - }, - { - "id": 10862, - "quantity": { - "amount": 3, - "unit": "strips" - } - }, - { - "id": 5114, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 1019, - "quantity": { - "amount": 0.75, - "unit": "cup" - } - }, - { - "id": 1022020, - "quantity": { - "amount": 2, - "unit": "t" - } - }, - { - "id": 11333, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 1026, - "quantity": { - "amount": 0.75, - "unit": "cup" - } - }, - { - "id": 1033, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 10011282, - "quantity": { - "amount": 0.5, - "unit": "medium" - } - }, - { - "id": 10211529, - "quantity": { - "amount": 2, - "unit": "" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.5, - "unit": "t" - } - }, - { - "id": 11424, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 19335, - "quantity": { - "amount": 1, - "unit": "t" - } - }, - { - "id": 14412, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 1011009, - "quantity": { - "amount": 0.75, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "In a large mixing bowl, add 1 cup warm water, 1 pack rapid or quick yeast, 1 t sugar 1/2 t salt and 1 T olive oil.", - "number": 1 - }, - { - "instruction": "Mix well.", - "number": 2 - }, - { - "instruction": "Add 2 1/2 cups flour and mix.", - "number": 3 - }, - { - "instruction": "Add a little more flour if too sticky but you are making a light dough not a heavy brick.", - "number": 4 - }, - { - "instruction": "Cover and let rise until double in size. About 30-40 minutes.", - "number": 5 - }, - { - "instruction": "While dough is rising, prep any toppings.", - "number": 6 - }, - { - "instruction": "Preheat oven 375 convection.", - "number": 7 - }, - { - "instruction": "Spread the dough on a well oiled large pizza pan or cookie sheet. Melt 2 T butter in a microwave for 15-20 seconds.", - "number": 8 - }, - { - "instruction": "Mix 2 t garlic powder in the butter and spread thinly over the dough.", - "number": 9 - }, - { - "instruction": "Top with cheeses and other toppings of choice.", - "number": 10 - }, - { - "instruction": "Bake in oven for 20 to 25 minutes.", - "number": 11 - } - ], - "name": "4 Cheese White Pizza", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 673337, - "image": "https://spoonacular.com/recipeImages/673337-556x370.jpg", - "ingredients": [ - { - "id": 98998, - "quantity": { - "amount": 12, - "unit": "servings" - } - }, - { - "id": 1001, - "quantity": { - "amount": 2, - "unit": "tablespoon" - } - }, - { - "id": 8030, - "quantity": { - "amount": 6.5, - "unit": "oz" - } - }, - { - "id": 19116, - "quantity": { - "amount": 9, - "unit": "oz" - } - }, - { - "id": 1077, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 19336, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 19335, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - } - ], - "instructions": [ - { - "instruction": "Pour mixture into prepared pan, using your hands press to flatten. Set aside for 1-2 hours to set.In a separate bowl, combine powdered sugar with milk and stir to combine. Using a spoon, drizzle glaze on top of cereal bars and dust with colored sugar or sprinkles.", - "number": 1 - } - ], - "name": "Cereal Marshmallow Bars", - "tags": [ - "side dish" - ] - }, - { - "id": 764184, - "image": "https://spoonacular.com/recipeImages/764184-556x370.jpg", - "ingredients": [ - { - "id": 1123, - "quantity": { - "amount": 6, - "unit": "large" - } - }, - { - "id": 6150, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 16158, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2028, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 2046, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - } - ], - "instructions": [ - { - "instruction": "To hard-boil the eggs, place the raw eggs at the bottom of a large pot.", - "number": 1 - }, - { - "instruction": "Pour water in the pot until the water is 1-2 inches over the top of the eggs.", - "number": 2 - }, - { - "instruction": "Place the pot on the stove top uncovered and turn the burner to high heat. Bring the water in the pot to a boil. When the water comes to a full boil, cover the pot with a lid and turn off the heat to the burner. Leave the pot on the burner, covered, for 12 minutes.While the eggs sit in the covered pot, fill a mixing bowl way with ice water. When the time is up on the eggs, use a slotted spoon to remove them from the pot and transfer them to the bowl of ice water to stop them from cooking. Leave them in the bowl of ice water for a few minutes until fully cold.Peel the eggs under cold running water (Ive found its much easier). Slice the eggs in half lengthwise and removethe yolks into a mixing bowl. Use a fork to mash the yolks as much as you can. I usually add a little splash of water to the mashed egg yolks and mash again.", - "number": 3 - }, - { - "instruction": "Add the black pepper, hummus, hot sauce and mustard and stir together until well combined and mostly smooth. Spoon or pipe this filling back into the hollows of the egg whites. Sprinkle paprika over the tops of the eggs and serve.", - "number": 4 - } - ], - "name": "Hummus Deviled Eggs", - "tags": [ - "side dish" - ] - }, - { - "id": 206402, - "image": "https://spoonacular.com/recipeImages/206402-556x370.jpg", - "ingredients": [ - { - "id": 1017, - "quantity": { - "amount": 16, - "unit": "ounces" - } - }, - { - "id": 1214, - "quantity": { - "amount": 12, - "unit": "ounces" - } - }, - { - "id": 1053, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 19206, - "quantity": { - "amount": 6.8, - "unit": "ounces" - } - }, - { - "id": 9214, - "quantity": { - "amount": 12, - "unit": "ounces" - } - }, - { - "id": 9216, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 9216, - "quantity": { - "amount": 8, - "unit": "servings" - } - }, - { - "id": 19335, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - } - ], - "instructions": [ - { - "instruction": "Whisk together evaporated milk, pudding mix, and zest in a bowl for 2 minutes or until mixture is thickened.", - "number": 1 - }, - { - "instruction": "Beat cream cheese and vanilla at medium speed with an electric mixer until fluffy.", - "number": 2 - }, - { - "instruction": "Add orange juice concentrate, beating until smooth; add evaporated milk mixture, and beat until blended.", - "number": 3 - }, - { - "instruction": "Pour into crust. Cover and chill 8 hours or until firm.", - "number": 4 - }, - { - "instruction": "Combine cream and confectioner's sugar in a bowl and whip with a whisk until it holds soft peaks. Dollop or pipe each slice with whipped cream, and garnish with candied zest or candy if desired.", - "number": 5 - } - ], - "name": "Creamsicle Pie", - "tags": [ - "side dish" - ] - }, - { - "id": 446577, - "image": "https://spoonacular.com/recipeImages/446577-556x370.jpg", - "ingredients": [ - { - "id": 10123, - "quantity": { - "amount": 6, - "unit": "slices" - } - }, - { - "id": 11052, - "quantity": { - "amount": 1, - "unit": "pound" - } - }, - { - "id": 11215, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 1, - "unit": "pinch" - } - }, - { - "id": 11282, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.125, - "unit": "teaspoon" - } - }, - { - "id": 14412, - "quantity": { - "amount": 1, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Place bacon in a large, deep skillet. Cook over medium high heat until the fat begins to render. Stir in onions and garlic; let cook for 1 minute. Stir in beans and water.", - "number": 1 - }, - { - "instruction": "Let the beans cook until the water has evaporated and the beans are tender. If the beans are not tender once the water has evaporated, add a small amount more water and let them cook until tender. Season with salt and pepper (to taste) and serve.", - "number": 2 - } - ], - "name": "Smothered Green Beans", - "tags": [ - "side dish" - ] - }, - { - "id": 576906, - "image": "https://spoonacular.com/recipeImages/576906-556x370.jpg", - "ingredients": [ - { - "id": 11959, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 1004, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1012047, - "quantity": { - "amount": 2, - "unit": "servings" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 0.125, - "unit": "teaspoon" - } - }, - { - "id": 4053, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 9252, - "quantity": { - "amount": 0.5, - "unit": "" - } - }, - { - "id": 9252, - "quantity": { - "amount": 1, - "unit": "tablespoons" - } - }, - { - "id": 43408, - "quantity": { - "amount": 3, - "unit": "tablespoons" - } - }, - { - "id": 11677, - "quantity": { - "amount": 1, - "unit": "medium" - } - }, - { - "id": 2049, - "quantity": { - "amount": 2, - "unit": "sprigs" - } - }, - { - "id": 12155, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - } - ], - "instructions": [ - { - "instruction": "In a medium bowl add the pear juice and vinegar. While whisking, slowly stream in the olive oil. Scrape the leaves off of two sprigs of thyme and add in the black pepper.", - "number": 1 - }, - { - "instruction": "Whisk to combine", - "number": 2 - }, - { - "instruction": "Assemble romaine leaves and top with sliced pear, shallot, toasted walnuts, blue cheese and season with sea salt to taste.", - "number": 3 - }, - { - "instruction": "Drizzle with desired amount of the pear vinaigrette and enjoy!", - "number": 4 - } - ], - "name": "Pear & Walnut Salad with a Pear Vinaigrette", - "tags": [ - "salad" - ] - }, - { - "id": 504218, - "image": "https://spoonacular.com/recipeImages/504218-556x370.jpg", - "ingredients": [ - { - "id": 10011693, - "quantity": { - "amount": 2, - "unit": "cans" - } - }, - { - "id": 11124, - "quantity": { - "amount": 4, - "unit": "" - } - }, - { - "id": 2012, - "quantity": { - "amount": 1, - "unit": "tsp" - } - }, - { - "id": 1002014, - "quantity": { - "amount": 1, - "unit": "tsp" - } - }, - { - "id": 11913, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 11215, - "quantity": { - "amount": 2, - "unit": "cloves" - } - }, - { - "id": 11333, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 11282, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 2047, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 11477, - "quantity": { - "amount": 2, - "unit": "" - } - } - ], - "instructions": [ - { - "instruction": "Chop all the veggies.", - "number": 1 - }, - { - "instruction": "Saute the onion and garlic in a large skillet.", - "number": 2 - }, - { - "instruction": "Add in the carrots and saute for a few minutes, covering to cook for about 5 minutes.", - "number": 3 - }, - { - "instruction": "Add in the other veggies and seasonings and let it cook until the veggies are tender.", - "number": 4 - }, - { - "instruction": "Serve hot over cornbread with shredded cheese and sour cream.", - "number": 5 - } - ], - "name": "Mexican Vegetables on Cornbread", - "tags": [ - "side dish" - ] - }, - { - "id": 445196, - "image": "https://spoonacular.com/recipeImages/445196-556x370.jpg", - "ingredients": [ - { - "id": 6150, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 10220445, - "quantity": { - "amount": 2, - "unit": "servings" - } - }, - { - "id": 2003, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 1022020, - "quantity": { - "amount": 0.125, - "unit": "teaspoon" - } - }, - { - "id": 11333, - "quantity": { - "amount": 1, - "unit": "medium" - } - }, - { - "id": 19296, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 11282, - "quantity": { - "amount": 1, - "unit": "medium" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 0.125, - "unit": "teaspoon" - } - }, - { - "id": 15152, - "quantity": { - "amount": 0.75, - "unit": "pound" - } - } - ], - "instructions": [ - { - "instruction": "In a nonstick skillet coated with cooking spray, saute onion and green pepper for 3-4 minutes or until crisp-tender.", - "number": 1 - }, - { - "instruction": "Combine the barbecue sauce, honey, basil, garlic powder and pepper; pour over vegetables. Bring to a boil over medium-high heat, stirring constantly.", - "number": 2 - }, - { - "instruction": "Add shrimp; cook and stir for 3-5 minutes or until shrimp turn pink.", - "number": 3 - }, - { - "instruction": "Serve with rice.", - "number": 4 - } - ], - "name": "Barbecue Shrimp Stir-Fry", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 759534, - "image": "https://spoonacular.com/recipeImages/759534-556x370.jpg", - "ingredients": [ - { - "id": 19334, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - }, - { - "id": 16018, - "quantity": { - "amount": 15, - "unit": "oz" - } - }, - { - "id": 4582, - "quantity": { - "amount": 1, - "unit": "Tbs" - } - }, - { - "id": 99223, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 11165, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 10218364, - "quantity": { - "amount": 4, - "unit": "8-inch" - } - }, - { - "id": 11215, - "quantity": { - "amount": 1, - "unit": "tsp" - } - }, - { - "id": 1002014, - "quantity": { - "amount": 1, - "unit": "tsp" - } - }, - { - "id": 9160, - "quantity": { - "amount": 2, - "unit": "Tbs" - } - }, - { - "id": 10011109, - "quantity": { - "amount": 8, - "unit": "oz" - } - }, - { - "id": 10611282, - "quantity": { - "amount": 1, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Preheat oven to 450°F.", - "number": 1 - }, - { - "instruction": "Heat oil in saucepan over medium-high heat.", - "number": 2 - }, - { - "instruction": "Add onion, and cook 5 minutes, or until translucent.", - "number": 3 - }, - { - "instruction": "Add garlic and cumin, and cook 1 minute more.", - "number": 4 - }, - { - "instruction": "Place onion mixture in blender with beans, chipotle chile, brown sugar, and 3 Tbs. water. Blend until smooth. Season with salt and pepper.", - "number": 5 - }, - { - "instruction": "Place 2 tortillas each on 2 baking sheets.", - "number": 6 - }, - { - "instruction": "Spread bean mixture on tortillas, and bake 5 to 7 minutes, or until edges become golden.", - "number": 7 - }, - { - "instruction": "Toss slaw in bowl with cilantro and lime juice. Season with salt and pepper. Top each clayuda with slaw, and cut into triangles.", - "number": 8 - } - ], - "name": "Clayudas", - "tags": [ - "side dish" - ] - }, - { - "id": 588893, - "image": "https://spoonacular.com/recipeImages/588893-556x370.jpg", - "ingredients": [ - { - "id": 11457, - "quantity": { - "amount": 2, - "unit": "handfuls" - } - }, - { - "id": 11268, - "quantity": { - "amount": 0.5, - "unit": "oz" - } - }, - { - "id": 10020005, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 11215, - "quantity": { - "amount": 2, - "unit": "large cloves" - } - }, - { - "id": 4053, - "quantity": { - "amount": 2, - "unit": "tablespoon" - } - }, - { - "id": 1033, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 2047, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 1102047, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 14412, - "quantity": { - "amount": 5, - "unit": "cups" - } - }, - { - "id": 10511282, - "quantity": { - "amount": 0.5, - "unit": "medium" - } - } - ], - "instructions": [ - { - "instruction": "In a medium sized pot combine the farro with the 5 cups of water and 2 teaspoons salt. Bring to a boil, then lower to a simmer and cook for about 25 minutes for semi-pearled farro and 50 minutes for whole farro. The farro is done when the grains are tender and all the water has been absorbed. Set aside.While the farro is cooking, combine the shiitake mushrooms with 1 cup of boiling water.", - "number": 1 - }, - { - "instruction": "Let sit for 15 minutes or however long the package instructions say is needed to reconstitute the mushrooms. When done, remove the mushrooms from the water and chop, reserving the liquid.About 2o minutes before the farro is done warm the olive oil in a large skillet. Cook the onion, stirring frequently, for about 5 minutes or until translucent and beginning to get some color.", - "number": 2 - }, - { - "instruction": "Add the garlic and crushed red pepper flakes (if using), cook 1 minute longer, until fragrant.", - "number": 3 - }, - { - "instruction": "Add the chopped mushrooms, mushroom broth and a few big handfuls of baby spinach. Cook, stirring frequently, until the spinach has wilted and most of the liquid has evaporated. Season with salt and pepper to taste.Stir in the farro, mixing with a large spoon to combine well.", - "number": 4 - }, - { - "instruction": "Serve topped with shredded Parmesan cheese.", - "number": 5 - } - ], - "name": "Farro with Shiitake Mushrooms and Baby Spinach", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 615581, - "image": "https://spoonacular.com/recipeImages/615581-556x370.jpg", - "ingredients": [ - { - "id": 2069, - "quantity": { - "amount": 0.5, - "unit": "tablespoon" - } - }, - { - "id": 11250, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 4582, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 20027, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 11156, - "quantity": { - "amount": 3, - "unit": "tablespoons" - } - }, - { - "id": 11165, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 19296, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 4025, - "quantity": { - "amount": 5, - "unit": "tablespoons" - } - }, - { - "id": 11119, - "quantity": { - "amount": 1, - "unit": "head" - } - }, - { - "id": 4053, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 15152, - "quantity": { - "amount": 1, - "unit": "pound" - } - }, - { - "id": 11112, - "quantity": { - "amount": 0.25, - "unit": "head" - } - }, - { - "id": 1016168, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 98962, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - } - ], - "instructions": [ - { - "instruction": "In a bowl, whisk together the mayo, chili sauce and sriracha, then set it aside until ready to use.Toss the shrimp with the cornstarch until evenly coated.", - "number": 1 - }, - { - "instruction": "Heat the canola oil in a large skillet over high heat.", - "number": 2 - }, - { - "instruction": "Add the shrimp and cook until it just turns pink and opaque, about 3 minutes.", - "number": 3 - }, - { - "instruction": "Transfer the shrimp to a large bowl and toss with the mayo mixture.In a separate bowl, add the cabbage and lettuce. Toss with the olive oil, vinegar and honey until well coated. Toss the cilantro in. To serve the shrimp, mix with the slaw and garnish the entire thing with chives. Enjoy!", - "number": 4 - } - ], - "name": "Bang Bang Shrimp with Napa Cabbage Slaw", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 764810, - "image": "https://spoonacular.com/recipeImages/764810-556x370.jpg", - "ingredients": [ - { - "id": 1002030, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 2003, - "quantity": { - "amount": 1.5, - "unit": "teaspoons" - } - }, - { - "id": 2042, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 1123, - "quantity": { - "amount": 4, - "unit": "" - } - }, - { - "id": 1002020, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 10023572, - "quantity": { - "amount": 2.75, - "unit": "pounds" - } - }, - { - "id": 2027, - "quantity": { - "amount": 1, - "unit": "tablespoon" - } - }, - { - "id": 1033, - "quantity": { - "amount": 1.5, - "unit": "cups" - } - }, - { - "id": 2047, - "quantity": { - "amount": 1.5, - "unit": "teaspoons" - } - } - ], - "instructions": [ - { - "instruction": "Preheat the oven to 350F.Spray baking sheets with cooking spray or spread a thin layer of olive oil over them.", - "number": 1 - }, - { - "instruction": "Mix all of the ingredients together very well -- you'll need to use your hands.", - "number": 2 - }, - { - "instruction": "Roll into balls the size of a golf ball, molding them firmly together without packing them.", - "number": 3 - }, - { - "instruction": "Place the balls on baking sheets.", - "number": 4 - }, - { - "instruction": "Bake for 30 to 40 minutes, or until the center registers 160F on a meat thermometer.", - "number": 5 - }, - { - "instruction": "Remove from oven and use as needed.", - "number": 6 - } - ], - "name": "Homemade Italian Meatballs", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 799732, - "image": "https://spoonacular.com/recipeImages/799732-556x370.jpg", - "ingredients": [ - { - "id": 10011250, - "quantity": { - "amount": 4, - "unit": "" - } - }, - { - "id": 11143, - "quantity": { - "amount": 2, - "unit": "rib" - } - }, - { - "id": 5064, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 2015, - "quantity": { - "amount": 0.75, - "unit": "teaspoon" - } - }, - { - "id": 9160, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - }, - { - "id": 1009159, - "quantity": { - "amount": 0.75, - "unit": "teaspoon" - } - }, - { - "id": 4641, - "quantity": { - "amount": 0.3333333333333333, - "unit": "cup" - } - }, - { - "id": 98991, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 10011282, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 9316, - "quantity": { - "amount": 2, - "unit": "cups" - } - } - ], - "instructions": [ - { - "instruction": "In a large bowl, mix the first six ingredients. Stir in chicken, celery and onion. Refrigerate, covered, at least 1 hour.", - "number": 1 - }, - { - "instruction": "To serve, stir strawberries into chicken mixture.", - "number": 2 - }, - { - "instruction": "Serve over lettuce.", - "number": 3 - } - ], - "name": "Curried Strawberry Chicken Salad", - "tags": [ - "salad" - ] - }, - { - "id": 621213, - "image": "https://spoonacular.com/recipeImages/621213-556x370.jpg", - "ingredients": [ - { - "id": 10123, - "quantity": { - "amount": 14, - "unit": "slices" - } - }, - { - "id": 11090, - "quantity": { - "amount": 4, - "unit": "oz" - } - }, - { - "id": 1017, - "quantity": { - "amount": 3, - "unit": "oz" - } - }, - { - "id": 11215, - "quantity": { - "amount": 2, - "unit": "tsp" - } - }, - { - "id": 1022020, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - }, - { - "id": 4053, - "quantity": { - "amount": 1, - "unit": "tbsp" - } - }, - { - "id": 11282, - "quantity": { - "amount": 0.5, - "unit": "small" - } - }, - { - "id": 2026, - "quantity": { - "amount": 0.5, - "unit": "tsp" - } - }, - { - "id": 10011821, - "quantity": { - "amount": 0.5, - "unit": "" - } - }, - { - "id": 10218, - "quantity": { - "amount": 16, - "unit": "oz" - } - }, - { - "id": 1102047, - "quantity": { - "amount": 4, - "unit": "servings" - } - }, - { - "id": 10011457, - "quantity": { - "amount": 2, - "unit": "oz" - } - }, - { - "id": 11529, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Saute onion in 1 tbsp. Olive Oil for a few minutes until soft.", - "number": 1 - }, - { - "instruction": "Add garlic and cook for 45-60 seconds, then add spinach. Put all the spices in there except for 1/4 tsp. of the liquid smoke, thyme, and rosemary.", - "number": 2 - }, - { - "instruction": "Let wilt and then add cream cheese. Set aside.Preheat oven to 350F.Lay pork tenderloin on cutting board and cover with saran wrap, then pound with meat hammer until flat - cut the uneven sides so it goes square. Season with salt and pepper, then 1/4 tsp. liquid smoke.Make a bacon weave the same size as the pork tenderloin square.", - "number": 3 - }, - { - "instruction": "Spread spinach and cream cheese all over the pork tenderloin, then lay tenderloin on top of bacon. Slice the pieces of bacon that poke out.", - "number": 4 - }, - { - "instruction": "Roll it up. Season with salt and pepper and the remaining 1/4 tsp. of thyme and rosemary.", - "number": 5 - }, - { - "instruction": "Add toothpicks where the bacon ends are so that it doesn't fall apart.", - "number": 6 - }, - { - "instruction": "Bake for 75 minutes or until thermometer reads 140F.", - "number": 7 - }, - { - "instruction": "Saute broccoli, peppers, and tomatoes in the remaining fat in the bottom of the pan of the pork tenderloin while it rests.", - "number": 8 - } - ], - "name": "Bacon Wrapped Stuffed Pork Tenderloin", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 611858, - "image": "https://spoonacular.com/recipeImages/611858-556x370.jpg", - "ingredients": [ - { - "id": 18371, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 18372, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 1123, - "quantity": { - "amount": 1, - "unit": "large" - } - }, - { - "id": 20081, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 19334, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 19157, - "quantity": { - "amount": 16, - "unit": "" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 10019903, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 1145, - "quantity": { - "amount": 0.3333333333333333, - "unit": "cup" - } - }, - { - "id": 2050, - "quantity": { - "amount": 2, - "unit": "teaspoons" - } - } - ], - "instructions": [ - { - "instruction": "Preheat oven to 350F. Line a 8x8-inch baking pan with foil and spray with non-stick cooking spray.In a medium bowl, whisk together the flour, baking powder, baking soda, and salt.In the bowl of a stand mixer fitted with the paddle attachment or in a large bowl with an electric mixer, combine the melted butter and brown sugar.", - "number": 1 - }, - { - "instruction": "Add egg and vanilla, mixing until well combined. Gradually add in dry ingredients and mix until just combined. Stir in chocolate chips.", - "number": 2 - }, - { - "instruction": "Spread half the dough into the prepared pan.", - "number": 3 - }, - { - "instruction": "Place the Rolos evenly onto the cookie dough. Using a small cookie scoop, evenly distribute the rest of the cookie dough on top of the Rolos. There is need to spread evenly over the Rolos, this will happen naturally during the baking process.", - "number": 4 - }, - { - "instruction": "Bake in the preheated oven until a toothpick inserted in the center comes out clean, about 20 to 25 minutes.", - "number": 5 - }, - { - "instruction": "Remove pan to wire rack and cool completely.If desired, drizzle with melted chocolate or caramel before serving.", - "number": 6 - } - ], - "name": "Rolo Cookie Bars", - "tags": [ - "side dish" - ] - }, - { - "id": 991136, - "image": "https://spoonacular.com/recipeImages/991136-556x370.jpg", - "ingredients": [ - { - "id": 1001, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 98871, - "quantity": { - "amount": 12, - "unit": "" - } - }, - { - "id": 19296, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 6168, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 1002030, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 1055062, - "quantity": { - "amount": 1, - "unit": "pound" - } - } - ], - "instructions": [ - { - "instruction": "Place chicken in a 3-qt. slow cooker. Toss with 2 tablespoons hot sauce and pepper; cook, covered, on low until tender, 3-4 hours.", - "number": 1 - }, - { - "instruction": "Remove chicken; discard cooking juices. In a small saucepan, combine butter, honey and remaining hot sauce; cook and stir over medium heat until blended. Shred chicken with two forks; stir into sauce and heat through.", - "number": 2 - }, - { - "instruction": "Serve on rolls with optional ingredients as desired. Freeze option: Freeze cooled chicken mixture in freezer containers. To use, partially thaw in refrigerator overnight. Microwave, covered, on high in a microwave-safe dish until heated through, stirring occasionally and adding a little water or broth if necessary.", - "number": 3 - } - ], - "name": "Buffalo Chicken Sliders", - "tags": [ - "lunch", - "main course", - "main dish", - "dinner" - ] - }, - { - "id": 583738, - "image": "https://spoonacular.com/recipeImages/583738-556x370.jpg", - "ingredients": [ - { - "id": 18372, - "quantity": { - "amount": 0.75, - "unit": "teaspoon" - } - }, - { - "id": 19334, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 1123, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 20081, - "quantity": { - "amount": 1.75, - "unit": "cups" - } - }, - { - "id": 16098, - "quantity": { - "amount": 0.75, - "unit": "cup" - } - }, - { - "id": 10019151, - "quantity": { - "amount": 8, - "unit": "oz" - } - }, - { - "id": 2047, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 1145, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 19335, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Preheat oven to 350°F. Line two baking sheets with parchment paper.", - "number": 1 - }, - { - "instruction": "Combine the flour, baking soda and salt in a medium bowl. Set aside.In the bowl of a stand mixer, beat the butter, peanut butter and sugars, until light and fluffy.", - "number": 2 - }, - { - "instruction": "Add in the egg and vanilla.Gradually add in the flour mixture on low speed. Stir until dough forms. Then stir in Reese's Pieces by hand.Using a cookie dough scoop or your hands, form balls of dough with 1 heaping tablespoon of dough. Gently flatten cookie dough (to form a disk shape) and place on prepared baking sheets.", - "number": 3 - }, - { - "instruction": "Bake for 9 minutes and remove from oven.", - "number": 4 - }, - { - "instruction": "Let cool for 5 minutes before transferring cookies to a wire rack to cool completely.Note: Cookies will not spread much at all and will look like they are not done baking. But I promise they are! Once they finish cooling, the cookie and chocolate will become firm and you will have a magically soft and crumbly cookie!", - "number": 5 - } - ], - "name": "Reese's Pieces Peanut Butter Cookies", - "tags": [ - "antipasti", - "starter", - "snack", - "appetizer", - "antipasto", - "hor d'oeuvre" - ] - }, - { - "id": 601216, - "image": "https://spoonacular.com/recipeImages/601216-556x370.jpg", - "ingredients": [ - { - "id": 1041009, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 10018413, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 2044, - "quantity": { - "amount": 3, - "unit": "leaves" - } - }, - { - "id": 10111529, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 4053, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 11477, - "quantity": { - "amount": 1, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "Saute the zucchini in the olive oil on high heat. Season generously with salt and pepper. Stir and leave alone for a little while, so you get a little bit of texture from the browning on the zucchini.While you’re sauteing, toast the flatbread in the oven at 400 degrees.When the zucchini is soft and just slightly browned, remove from the heat. Take the flatbread out of the oven and spread the zucchini on the flatbread.Top with the fresh tomatoes, cheese, and fresh basil.", - "number": 1 - }, - { - "instruction": "Cut, serve, and enjoy!", - "number": 2 - } - ], - "name": "Farmer’s Market Flatbread Pizza", - "tags": [ - "side dish" - ] - }, - { - "id": 226562, - "image": "https://spoonacular.com/recipeImages/226562-556x370.jpg", - "ingredients": [ - { - "id": 9019, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 18079, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 16069, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 19334, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 11124, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 2009, - "quantity": { - "amount": 0.25, - "unit": "teaspoon" - } - }, - { - "id": 9079, - "quantity": { - "amount": 0.3333333333333333, - "unit": "cup" - } - }, - { - "id": 11165, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 11215, - "quantity": { - "amount": 3, - "unit": "" - } - }, - { - "id": 1002014, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 2042, - "quantity": { - "amount": 0.5, - "unit": "teaspoon" - } - }, - { - "id": 11935, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 4053, - "quantity": { - "amount": 2, - "unit": "tablespoon" - } - }, - { - "id": 11282, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 12151, - "quantity": { - "amount": 0.5, - "unit": "cup" - } - }, - { - "id": 11821, - "quantity": { - "amount": 1, - "unit": "cup" - } - }, - { - "id": 1102047, - "quantity": { - "amount": 8, - "unit": "servings" - } - }, - { - "id": 6615, - "quantity": { - "amount": 3, - "unit": "cups" - } - } - ], - "instructions": [ - { - "instruction": "Wash the lentils and place into a pot along with the vegetable broth. Bring to a boil, then reduce heat to medium-low and simmer, for about 40 minutes.", - "number": 1 - }, - { - "instruction": "Add more broth or water if necessary", - "number": 2 - }, - { - "instruction": "Meanwhile, warm the oil in a pan.", - "number": 3 - }, - { - "instruction": "Add the onions and cook for about 4 minutes or until soft.", - "number": 4 - }, - { - "instruction": "Add the carrots, bell pepper and garlic. Cook for about 3 minutes more. Set aside.When the lentils are ready mash them slightly with a potato masher or a fork.Preheat the oven to 350º F.In a large bowl, mix the onion mixture, mashed lentils, apple sauce, cranberries, pistachios, bread crumbs, cilantro, chili powder, cumin, thyme, salt and pepper.Line a loaf pan with parchment paper.", - "number": 5 - }, - { - "instruction": "Transfer the mixture to the loaf pan and press mixture into the pan with a spoon.", - "number": 6 - }, - { - "instruction": "Mix the glaze ingredients in a small bowl and spread evenly over the top.", - "number": 7 - }, - { - "instruction": "Bake for about 45 minutes.", - "number": 8 - }, - { - "instruction": "Transfer the pan to a wire rack and let the loaf cool a bit. Run a table knife around the edge of the pan and turn the loaf out onto a serving plate.", - "number": 9 - } - ], - "name": "Vegan Lentil Loaf", - "tags": [ - "side dish" - ] - }, - { - "id": 605132, - "image": "https://spoonacular.com/recipeImages/605132-556x370.jpg", - "ingredients": [ - { - "id": 1001, - "quantity": { - "amount": 2, - "unit": "tablespoons" - } - }, - { - "id": 20027, - "quantity": { - "amount": 0.25, - "unit": "cup" - } - }, - { - "id": 1123, - "quantity": { - "amount": 1, - "unit": "" - } - }, - { - "id": 1125, - "quantity": { - "amount": 2, - "unit": "" - } - }, - { - "id": 1077, - "quantity": { - "amount": 2, - "unit": "cups" - } - }, - { - "id": 2050, - "quantity": { - "amount": 1, - "unit": "teaspoon" - } - }, - { - "id": 19335, - "quantity": { - "amount": 0.3333333333333333, - "unit": "cup" - } - } - ], - "instructions": [ - { - "instruction": "In a heavy saucepan, stir together the milk and 1/4 cup of sugar. Bring to a boil over medium heat.", - "number": 1 - }, - { - "instruction": "In a medium bowl, whisk together the egg yolks and egg. Stir together the remaining sugar and cornstarch; then stir them into the egg until smooth. When the milk comes to a boil, drizzle it into the bowl in a thin stream while mixing so that you do not cook the eggs. Return the mixture to the saucepan, and slowly bring to a boil, stirring constantly so the eggs don' t curdle or scorch on the bottom.", - "number": 2 - }, - { - "instruction": "When the mixture comes to a boil and thickens, remove from the heat. Stir in the butter and vanilla, mixing until the butter is completely blended in.", - "number": 3 - }, - { - "instruction": "Pour into a heat-proof container and place a piece of plastic wrap directly on the surface to prevent a skin from forming. Refrigerate until chilled before using.", - "number": 4 - } - ], - "name": "Pastry Cream", - "tags": [ - "side dish" - ] - } - ] + { + id: 595736, + image: "https://spoonacular.com/recipeImages/595736-556x370.jpg", + ingredients: [ + { + id: 20081, + quantity: { + amount: 1.5, + unit: "c", + }, + }, + { + id: 18372, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + { + id: 1123, + quantity: { + amount: 1, + unit: "large", + }, + }, + { + id: 19335, + quantity: { + amount: 0.5, + unit: "c", + }, + }, + { + id: 19206, + quantity: { + amount: 3, + unit: "Tbsp", + }, + }, + { + id: 19334, + quantity: { + amount: 0.5, + unit: "c", + }, + }, + { + id: 2047, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + { + id: 1012047, + quantity: { + amount: 24, + unit: "servings", + }, + }, + { + id: 10019903, + quantity: { + amount: 2, + unit: "c", + }, + }, + { + id: 1145, + quantity: { + amount: 0.5, + unit: "c", + }, + }, + { + id: 2050, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + ], + instructions: [ + { + instruction: + "In a large mixing bowl, whisk together the dry ingredients (flour, pudding mix, soda and salt). Set aside.In a large mixing bowl of a stand mixer, cream butter for 30 seconds. Gradually add granulated sugar and brown sugar and cream until light and fluffy.", + number: 1, + }, + { + instruction: "Add egg and vanilla and mix until combined.", + number: 2, + }, + { + instruction: + "Add dry ingredients and mix on low just until incorporated. Stir in chocolate chips.Scoop the dough into 1,5 tablespoon size balls and place on a plate or sheet. Cover with saran wrap and chill at least 2 hours or overnight.When ready to bake, preheat oven to 350 degrees.", + number: 3, + }, + { + instruction: + "Place the cookie dough balls into ungreased muffin pan. Sprinkle with sea salt.", + number: 4, + }, + { + instruction: + "Bake for 9 to 10 minutes, or until you see the edges start to brown.", + number: 5, + }, + { + instruction: + "Remove the pan from the oven and let sit for 10 minutes before removing onto a cooling rack.Top with ice cream and a drizzle of chocolate sauce.", + number: 6, + }, + ], + name: "Loaded Chocolate Chip Pudding Cookie Cups", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 678353, + image: "https://spoonacular.com/recipeImages/678353-556x370.jpg", + ingredients: [ + { + id: 1009016, + quantity: { + amount: 1.5, + unit: "cups", + }, + }, + { + id: 9003, + quantity: { + amount: 2, + unit: "", + }, + }, + { + id: 20027, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 1002046, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 11215, + quantity: { + amount: 1, + unit: "clove", + }, + }, + { + id: 1012046, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 19911, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 16112, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 10010062, + quantity: { + amount: 24, + unit: "ounce", + }, + }, + { + id: 1102047, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 16124, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 1016168, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + ], + instructions: [ + { + instruction: + "Season the pork chops with salt and pepper and grill or pan fry over medium high heat until cooked, about 3-5 minutes per side. (If grilling, baste the chops in the maple dijon apple cider sauce as you grill.)Meanwhile, mix the remaining ingredients except the apple slices, bring to a simmer and cook until the sauce thickens, about 2-5 minutes.Grill or saute the apple slices until just tender but still crisp.Toss the pork chops and apple slices in the maple dijon apple cider sauce and enjoy!", + number: 1, + }, + ], + name: "Maple Dijon Apple Cider Grilled Pork Chops", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 412309, + image: "https://spoonacular.com/recipeImages/412309-556x370.jpeg", + ingredients: [ + { + id: 1002030, + quantity: { + amount: 4, + unit: "teaspoons", + }, + }, + { + id: 19334, + quantity: { + amount: 8, + unit: "tablespoons", + }, + }, + { + id: 1001, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 4582, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 2031, + quantity: { + amount: 4, + unit: "teaspoons", + }, + }, + { + id: 5100, + quantity: { + amount: 1, + unit: "pound", + }, + }, + { + id: 2009, + quantity: { + amount: 4, + unit: "teaspoons", + }, + }, + { + id: 1022020, + quantity: { + amount: 4, + unit: "teaspoons", + }, + }, + { + id: 6168, + quantity: { + amount: 8, + unit: "cups", + }, + }, + { + id: 9176, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2026, + quantity: { + amount: 4, + unit: "teaspoons", + }, + }, + { + id: 1042047, + quantity: { + amount: 1.5, + unit: "tablespoons", + }, + }, + { + id: 1042047, + quantity: { + amount: 4, + unit: "teaspoons", + }, + }, + ], + instructions: [ + { + instruction: + "Mix the hot sauce, butter, mango habanero sauce, brown sugar, chili powder, garlic powder, onion powder, black pepper, cayenne pepper and seasoning salt in a bowl. Stir vigorously until completely combined.", + number: 1, + }, + ], + name: "Dirty Steve's Original Wing Sauce", + tags: ["sauce"], + }, + { + id: 741603, + image: "https://spoonacular.com/recipeImages/741603-556x370.jpeg", + ingredients: [ + { + id: 20081, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 18371, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 9040, + quantity: { + amount: 12, + unit: "servings", + }, + }, + { + id: 20011, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 1001, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1001, + quantity: { + amount: 6, + unit: "tablespoons", + }, + }, + { + id: 1230, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 1123, + quantity: { + amount: 2, + unit: "", + }, + }, + { + id: 19296, + quantity: { + amount: 12, + unit: "servings", + }, + }, + { + id: 16098, + quantity: { + amount: 12, + unit: "servings", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 19335, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + ], + instructions: [ + { + instruction: "Watch how to make this recipe.", + number: 1, + }, + { + instruction: + "In a large bowl, whisk together buttermilk, eggs, baking powder, sugar, salt and butter.", + number: 2, + }, + { + instruction: + "In another large bowl mix together all-purpose flour and buckwheat flour.", + number: 3, + }, + { + instruction: + "Slowly add flour into the wet ingredients mixing with a whisk.", + number: 4, + }, + { + instruction: + "Mix until there are no lumps and the batter is smooth and velvety.", + number: 5, + }, + { + instruction: + "In a large cast iron skillet or flat grill pan over medium-high heat, melt a tablespoon of butter. Ladle pancake batter onto skillet to desired size. Using the ladle, form pancake into circular shape. Cook on each side for 2 to 3 minutes or until golden brown. Set pancakes aside and keep warm. Repeat with remaining ingredients.", + number: 6, + }, + { + instruction: + "Once completed, spread peanut butter on a pancake, layer it with sliced bananas and drizzle it with honey. Top the pancake with another pancake to form a sandwich. Repeat with remaining pancakes and serve with extra honey.", + number: 7, + }, + ], + name: "Elvis Pancakes", + tags: ["side dish"], + }, + { + id: 562334, + image: "https://spoonacular.com/recipeImages/562334-556x370.jpg", + ingredients: [ + { + id: 2048, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 18371, + quantity: { + amount: 0.3333333333333333, + unit: "teaspoon", + }, + }, + { + id: 20090, + quantity: { + amount: 1.125, + unit: "cup", + }, + }, + { + id: 93784, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 4582, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 1124, + quantity: { + amount: 3, + unit: "large", + }, + }, + { + id: 93625, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 12220, + quantity: { + amount: 2, + unit: "Tablespoons", + }, + }, + { + id: 10118375, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 19304, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 11413, + quantity: { + amount: 0.75, + unit: "cup", + }, + }, + { + id: 2047, + quantity: { + amount: 0.75, + unit: "teaspoon", + }, + }, + { + id: 93696, + quantity: { + amount: 0.75, + unit: "cup", + }, + }, + { + id: 93760, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 14412, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 93626, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + ], + instructions: [ + { + instruction: + "Grease or spray oil a 9×5 inch loaf pan.Preheat oven to 170 – 200°F (lowest possible).", + number: 1, + }, + { + instruction: + "Mix warm water with brown rice syrup, molasses, and yeast in a cup larger than 8 oz., as it may bubble over; set aside until foamy on the top, no more than 5 minutes.In the bowl of your mixer, beat the eggs at high speed in a large mixing bowl until large bubbles form, about 20 seconds.", + number: 2, + }, + { + instruction: "Whisk together the dry ingredients; set aside.", + number: 3, + }, + { + instruction: + "Add the oil, vinegar and yeast mixture to the egg whites and blend on low for a few seconds.", + number: 4, + }, + { + instruction: + "Add dry ingredients all at once and mix on low speed until all dry ingredients are moistened. Then beat on high for 1 minute.", + number: 5, + }, + { + instruction: + "Add dough batter to prepared pan and distribute and smooth the top using a rubber spatula. You'll want to meet all sides of the pan. If you miss the corners that will still be okay. It will fill in upon rising. To even out top, drop a few drops of filtered water on top, and spread evenly with a rubber spatula, or dip spatula in water several times.", + number: 6, + }, + { + instruction: + "Place the bread pan in the oven. Turn oven off. Allow the dough to rise until the center is about 1/2” over the top of the pan, about 22 minutes. It will rise more while the oven is heating and during baking.", + number: 7, + }, + { + instruction: "Remove pan from oven and preheat oven to 375°F.", + number: 8, + }, + { + instruction: + "Place the pan on the center of the rack in the center of the oven and bake for about 45 minutes or more.", + number: 9, + }, + { + instruction: + "Remove the loaf from the oven and immediately remove it from the pan (careful it will be hot), and set the loaf on a cooling rack to cool. If you do not remove it right away the steam will make the crust soggy.Slice off the two ends to allow the steam to escape, or it will begin to sink in on the sides and bottom.Once cooled, it will shrink a little bit. Slice it with an electric slicer, electric knife or serrated knife. You'll get about 13-16, depending upon how thick you slice it.", + number: 10, + }, + ], + name: "Mock Udi’s Gluten Free Whole Grain Bread", + tags: [], + }, + { + id: 507921, + image: "https://spoonacular.com/recipeImages/507921-556x370.jpg", + ingredients: [ + { + id: 18371, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 19350, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 1123, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 1124, + quantity: { + amount: 2, + unit: "large", + }, + }, + { + id: 20081, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 9099, + quantity: { + amount: 15, + unit: "oz", + }, + }, + { + id: 19335, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 14412, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + ], + instructions: [ + { + instruction: + "To make the Cupcakes: Preheat oven to 350 degrees. Line 12 cupcake tins with paper holders.", + number: 1, + }, + { + instruction: "Whisk together dry Fruit Cocktail Cupcakes ingredients.", + number: 2, + }, + { + instruction: + "Add in wet Fruit Cocktail Cupcakes ingredients and stir with a rubber spatula until thoroughly combined. Fill cupcake tins evenly, and bake for 20 minutes or until thin knife inserted in center comes out clean.", + number: 3, + }, + ], + name: "Ambrosia Cupcakes", + tags: ["side dish"], + }, + { + id: 721146, + image: "https://spoonacular.com/recipeImages/721146-556x370.jpg", + ingredients: [ + { + id: 12061, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 19334, + quantity: { + amount: 6, + unit: "tablespoons", + }, + }, + { + id: 12104, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 12115, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 4047, + quantity: { + amount: 6, + unit: "tablespoons", + }, + }, + { + id: 10019071, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 8212, + quantity: { + amount: 1, + unit: "Handful", + }, + }, + { + id: 19911, + quantity: { + amount: 5, + unit: "tablespoons", + }, + }, + { + id: 8121, + quantity: { + amount: 3, + unit: "cups", + }, + }, + { + id: 12142, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2047, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat the oven to 325 degrees F.Coarsely chop the almonds and pecans.", + number: 1, + }, + { + instruction: + "Combine the oats, almonds, pecans, and salt in a bowl. Toss to combine.In a medium-sized bowl, combine the coconut oil (measure exactly when it's melted and not in the hardened state), and 1/2 cup chocolate chips.Microwave in bursts of 15 seconds stirring in between each burst for 15 seconds until completely melted.Stir in the brown sugar (measured lightly packed), honey or maple syrup, and vanilla extract.", + number: 2, + }, + { + instruction: + "Pour the chocolate wet mixture into the oat and nut mixture and stir until well combined.", + number: 3, + }, + { + instruction: + "Spread the granola evenly onto a parchment lined baking sheet.", + number: 4, + }, + { + instruction: + "Bake for 20-30 minutes (depending on the heat of your oven) making sure to flip and stir the granola around every 6-8 minutes.", + number: 5, + }, + { + instruction: + 'Remove and allow the granola to harden and set up. (It may be soft and not very "granola-like", but it hardens as it dries out so be careful to not over-cook it). Mine generally takes about 21 minutes to be fully baked.Allow the granola to sit at room temperature for a few hours to harden and set up.Once the granola is hardened, stir in the remaining 1/2 cup chocolate chips and the toasted flaked coconut.To make a yogurt bowl: fill a bowl with the coconut cream yogurt, add a swirl of nut butter, add some fruit such as a banana, add the granola, and finish with chia seeds. Enjoy immediately.', + number: 6, + }, + ], + name: "Creamy Coconut Yogurt Bowl with Chocolate Granola (Video)", + tags: ["side dish"], + }, + { + id: 541288, + image: "https://spoonacular.com/recipeImages/541288-556x370.jpg", + ingredients: [ + { + id: 20081, + quantity: { + amount: 160, + unit: "g", + }, + }, + { + id: 93740, + quantity: { + amount: 40, + unit: "g", + }, + }, + { + id: 1125, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 12023, + quantity: { + amount: 40, + unit: "g", + }, + }, + { + id: 19335, + quantity: { + amount: 80, + unit: "g", + }, + }, + { + id: 1145, + quantity: { + amount: 1, + unit: "stick", + }, + }, + ], + instructions: [ + { + instruction: + "Cut the butter into small cubes and keep them refrigerated until ready to use (I cut on parchment paper and wrap up the butter for easy transfer.).In the food processor, combine the flour, almond meal, sugar, and salt. If you don’t have a food processor, you can simply use a bowl to mix all the ingredients.If you want your sesame seeds to be fine texture, add them now. If you prefer to keep the original shape of sesame seeds, add them with egg yolk later on.Take out the butter from the refrigerator and mix together. If you use a regular bowl to mix, use a dough/pastry blender to combine the butter into the dry ingredients.Lastly add egg yolk.If the food processor is small (like mine) and it doesn’t look like it’s mixed completely, take it out and mix well with a silicone spatula.Form the dough into a ball and cut in half.", + number: 1, + }, + { + instruction: + "Roll it to a log approximately 2” across. For me it’s easier to work when the dough is wrapped in plastic wrap. While rolling, unwrap some parts of plastic wrap then roll again. Form a nice shape. I wasn't paying attention so my log is flat on one side (see step 11)!Wrap the logs tightly in plastic wrap and refrigerate until firm, about 1 hour.Preheat the oven to 350° F (175° C).", + number: 2, + }, + { + instruction: + "Remove the dough from plastic wrap and cut into discs about ¼ inch thick (if you prefer thicker cookies, cut into discs about ½ inch and you get 20 cookies total).", + number: 3, + }, + { + instruction: + "Place them on two baking sheets lined with parchment paper.", + number: 4, + }, + { + instruction: + "Bake for about 15 minutes, or until lightly browned around the edges.", + number: 5, + }, + { + instruction: + "Remove from the oven and allow to cool on the baking sheet for about 10 minutes. Then transfer to a wire rack to cool completely. Store cookies in an airtight container. Cookies will last for a day or two.", + number: 6, + }, + ], + name: "Sesame Cookies", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 779583, + image: "https://spoonacular.com/recipeImages/779583-556x370.jpg", + ingredients: [ + { + id: 19334, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 19334, + quantity: { + amount: 3, + unit: "tablespoons", + }, + }, + { + id: 4582, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 4582, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1015062, + quantity: { + amount: 1, + unit: "pound", + }, + }, + { + id: 10011109, + quantity: { + amount: 4, + unit: "cups", + }, + }, + { + id: 10116098, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 2064, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 2021, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 9160, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 9266, + quantity: { + amount: 1.25, + unit: "cups", + }, + }, + { + id: 16124, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 1016168, + quantity: { + amount: 0.5, + unit: "tablespoon", + }, + }, + { + id: 1016168, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + ], + instructions: [ + { + instruction: + "Prepare the chicken: In a large bowl, whisk together the brown sugar, ginger, oil, soy sauce, Sriracha and peanut butter.", + number: 1, + }, + { + instruction: "Add the chicken and toss to coat.", + number: 2, + }, + { + instruction: + "Let marinate at room temperature for 15 minutes or cover and refrigerate for up to 6 hours. Preheat the oven broiler with a rack set 4-inches from the heat source. Line an 18x13-inch rimmed sheet pan with foil and spray with nonstick spray.", + number: 3, + }, + { + instruction: + "Remove the chicken from the marinade, discarding excess marinade, and place on prepared pan, covering two-thirds of the pan and spacing evenly. Broil for 6 minutes.", + number: 4, + }, + { + instruction: + "Remove the pan from the oven and spread pineapple on the remaining space on the pan. Sprinkle the pineapple with 1 tablespoon brown sugar. Broil for 3 to 5 minutes or until chicken is browned and no longer pink inside.", + number: 5, + }, + { + instruction: "Transfer the chicken to serving plates.", + number: 6, + }, + { + instruction: "Place the coleslaw mix in a medium bowl.", + number: 7, + }, + { + instruction: + "Add the broiled pineapple, lime juice, oil, soy sauce and Sriracha; toss to coat. Divide among the plates with the chicken and sprinkle the slaw with mint or basil.", + number: 8, + }, + ], + name: "Thai Chicken Tenders with Broiled Pineapple Slaw", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 550940, + image: "https://spoonacular.com/recipeImages/550940-556x370.jpg", + ingredients: [ + { + id: 11135, + quantity: { + amount: 1, + unit: "large head", + }, + }, + { + id: 6172, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 1002046, + quantity: { + amount: 1, + unit: "tbsp", + }, + }, + { + id: 1123, + quantity: { + amount: 8, + unit: "", + }, + }, + { + id: 11215, + quantity: { + amount: 2, + unit: "cloves", + }, + }, + { + id: 93632, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 12120, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 93690, + quantity: { + amount: 2, + unit: "tbsp", + }, + }, + { + id: 11282, + quantity: { + amount: 1, + unit: "small", + }, + }, + { + id: 1002030, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + { + id: 10010123, + quantity: { + amount: 5, + unit: "slices", + }, + }, + { + id: 11096, + quantity: { + amount: 200, + unit: "g", + }, + }, + { + id: 1012047, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat the oven to 375FCook and peel the hard boiled eggs according to your favourite method.", + number: 1, + }, + { + instruction: + "Add onion, garlic, salt and pepper to a medium saucepan. Cook over medium heat for one or two minutes, until fragrant and slightly softened.Throw the cauliflower florets in and continue cooking for a minute or two.", + number: 2, + }, + { + instruction: + "Add chicken stock, cover and bring to the boil; lower heat and continue cooking until the cauliflower is tender, about 5-7 minutes.Ladle the cauliflower mixture into your blender; add ghee, Dijon mustard and nutritional yeast and process on high speed until super smooth and silky in consistency. Set aside. Steam the rapini for 30 seconds to a minute, until slightly softened and bright green. In a small skillet, dry roast the hazelnuts over medium heat until they become fragrant and take a nice golden coloration. Slice the hard boiled eggs and add them to a large mixing bowl, followed by “Bechamel” sauce, rapini and three quarters of the hazelnuts.", + number: 3, + }, + { + instruction: + "Mix very delicately until well combined and transfer to an oven safe dish. Tear the prosciutto into smaller pieces and arrange them on top of the dish. Sprinkle with the rest of the hazelnuts. Cover with foil and place in the oven for 20 minutes; after that time, remove the foil and set the oven to broil for a 2-3 minutes or until the prosciutto becomes nice and crispy and takes a nice golden coloration. You could also make this ahead of time and place it in the fridge after you have covered it with foil (although you might want to let it cool a bit beforehand). In this case, you’ll want to increase oven time to about 45 minutes, at 375F. This also reheats extremely well in the microwave and will easily keep for 4-5 days in the refrigerator.", + number: 4, + }, + ], + name: "Egg and Rapini Casserole", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 583502, + image: "https://spoonacular.com/recipeImages/583502-556x370.jpg", + ingredients: [ + { + id: 6150, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 19334, + quantity: { + amount: 2, + unit: "tbsp", + }, + }, + { + id: 6194, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 11215, + quantity: { + amount: 3, + unit: "large", + }, + }, + { + id: 93627, + quantity: { + amount: 3, + unit: "tbsp", + }, + }, + { + id: 11282, + quantity: { + amount: 1, + unit: "large", + }, + }, + { + id: 2028, + quantity: { + amount: 8, + unit: "servings", + }, + }, + { + id: 10072, + quantity: { + amount: 6, + unit: "lbs", + }, + }, + { + id: 1102047, + quantity: { + amount: 8, + unit: "servings", + }, + }, + { + id: 6971, + quantity: { + amount: 2, + unit: "tbsp", + }, + }, + ], + instructions: [ + { + instruction: + "Combine 1 cup chicken broth, 1 cup BBQ sauce, 3 tbsp liquid smoke, 2 tbsp Worcestershire sauce, 3 pressed garlic cloves, 2 tbsp brown sugar and stir to combine.Generously sprinkle the pork roast with salt, pepper and paprika.Rub the seasoning into the pork shoulder.Chop 1 large onion and place it into the bottom of the slow cooker.", + number: 1, + }, + { + instruction: + "Place the pork roast over the onion and pour the marinade over the pork.Cover and set on low for 8 hours.", + number: 2, + }, + { + instruction: + "Let it cool down so you don't burn your fingers while shredding.", + number: 3, + }, + { + instruction: + "Remove the meat to a large bowl and shred. This meat is fall-apart tender! The marinade enhances the natural flavors of the pork. When you're done shredding the pork, pour as much of the remaining sauce over the pork as you like.", + number: 4, + }, + { + instruction: "Serve with more Baby Rays BBQ Sauce... and pickles", + number: 5, + }, + ], + name: "Pulled Pork", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 543687, + image: "https://spoonacular.com/recipeImages/543687-556x370.jpg", + ingredients: [ + { + id: 93607, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 9040, + quantity: { + amount: 1, + unit: "small", + }, + }, + { + id: 18942, + quantity: { + amount: 1, + unit: "Tbsp", + }, + }, + { + id: 1012010, + quantity: { + amount: 0.25, + unit: "tsp", + }, + }, + { + id: 2021, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 2025, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 43274, + quantity: { + amount: 1, + unit: "oz", + }, + }, + { + id: 8120, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 11424, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "Add all ingredients to a blender (except graham crackers if using). Cover and blend until well pureed then serve topped with crushed graham crackers if desired.*The banana is mostly what gives this smoothie it's sweetness, so I recommend using one that is speckled (not mushy though).Recipe Source: Cooking Classy", + number: 1, + }, + ], + name: "Pumpkin Cheesecake Breakfast Smoothie", + tags: ["morning meal", "brunch", "breakfast"], + }, + { + id: 516904, + image: "https://spoonacular.com/recipeImages/516904-556x370.jpg", + ingredients: [ + { + id: 9016, + quantity: { + amount: 3, + unit: "Tablespoons", + }, + }, + { + id: 19334, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 1001, + quantity: { + amount: 1, + unit: "Tablespoon", + }, + }, + { + id: 1001, + quantity: { + amount: 2, + unit: "Tablespoons", + }, + }, + { + id: 18047, + quantity: { + amount: 16, + unit: "ounce", + }, + }, + { + id: 1123, + quantity: { + amount: 10, + unit: "large", + }, + }, + { + id: 1089003, + quantity: { + amount: 5, + unit: "medium", + }, + }, + { + id: 19335, + quantity: { + amount: 2, + unit: "Tablespoons", + }, + }, + { + id: 1012010, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 2047, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 1077, + quantity: { + amount: 3, + unit: "cups", + }, + }, + ], + instructions: [ + { + instruction: + "Prepare apple filling: Melt butter over medium heat in 12- inch skillet.", + number: 1, + }, + { + instruction: + "Add apples and sugar; cook 20 minutes, stirring occasionally. Stir in apple juice; cook 1 more minute.", + number: 2, + }, + { + instruction: + "Grease 13 x 9-inch baking dish. Arrange 1/2 of bread slices, overlapping slightly.", + number: 3, + }, + { + instruction: "In a medium bowl, whisk milk, salt, cinnamon and eggs.", + number: 4, + }, + { + instruction: + "Pour 1/2 of egg mixture over bread. Set aside 1/4 of apple filling; cover and refrigerate to spoon on after baking.", + number: 5, + }, + { + instruction: + "Spread remaining apple filling over bread in an even layer. Arrange remaining bread slices over apple layer.", + number: 6, + }, + { + instruction: + "Pour remaining egg mixture over top bread layer. Press bread down with spatula so it absorbs the maximum amount of egg mixture. Dot bread with butter and sprinkle with sugar. Cover and refrigerate overnight.", + number: 7, + }, + { + instruction: + "To bake: Preheat oven to 325°F. Uncover dish and bake 50 to 55 minutes or until knife inserted in center comes out clean. Reheat remaining apple mixture in microwave. Spoon over top to serve.", + number: 8, + }, + ], + name: "Cinnamon Raisin Overnight French Toast w/ Apple Filling", + tags: ["side dish"], + }, + { + id: 988243, + image: "https://spoonacular.com/recipeImages/988243-556x370.jpg", + ingredients: [ + { + id: 1002030, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 1001, + quantity: { + amount: 4, + unit: "tablespoons", + }, + }, + { + id: 11297, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 11215, + quantity: { + amount: 6, + unit: "cloves", + }, + }, + { + id: 1032009, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 2047, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 15152, + quantity: { + amount: 2, + unit: "pounds", + }, + }, + { + id: 11294, + quantity: { + amount: 0.25, + unit: "medium", + }, + }, + ], + instructions: [ + { + instruction: + "Melt butter to a large skillet over medium heat. As the butter melts, it will begin to foam as it transitions from a bright, lemon-yellow color to golden and then finally to a nutty-brown color. As the butter just begins to turn nutty-brown from golden, reduce your heat to medium-low and carefully toss in your garlic and onion. Cook until the onion just begins to become tender and then add in your shrimp. Stirring frequently, cook until the shrimp turn pink and lose their translucence.", + number: 1, + }, + { + instruction: + "Stir in salt, black pepper, red pepper flakes and fresh parsley. Toss shrimp to make sure all are well-coated.", + number: 2, + }, + { + instruction: "Remove from heat and serve.", + number: 3, + }, + ], + name: "Brown Butter Garlic Shrimp", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 724018, + image: "https://spoonacular.com/recipeImages/724018-556x370.jpg", + ingredients: [ + { + id: 11007, + quantity: { + amount: 2, + unit: "large", + }, + }, + { + id: 9150, + quantity: { + amount: 4, + unit: "slices", + }, + }, + { + id: 9156, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 18069, + quantity: { + amount: 6, + unit: "slices", + }, + }, + { + id: 1033, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 11297, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 11215, + quantity: { + amount: 6, + unit: "cloves", + }, + }, + { + id: 2027, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 1034053, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 1002030, + quantity: { + amount: 0.125, + unit: "teaspoon", + }, + }, + { + id: 2004, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 9150, + quantity: { + amount: 2, + unit: "slices", + }, + }, + { + id: 11215, + quantity: { + amount: 2, + unit: "cloves", + }, + }, + ], + instructions: [ + { + instruction: + "Cut off the crust from 6 slices of bread. Chop the centers and put into a food processor. Pulse until you have coarse breadcrumbs. You should have about 3 cups.", + number: 1, + }, + { + instruction: + "Make the stuffing: In a large bowl, stir together the breadcrumbs, lemon zest, Parmesan cheese, minced garlic, chopped parsley, minced oregano, 1/2 cup olive oil, and black pepper. Set aside.", + number: 2, + }, + ], + name: "Baked Stuffed Artichokes", + tags: [ + "side dish", + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 623855, + image: "https://spoonacular.com/recipeImages/623855-556x370.jpg", + ingredients: [ + { + id: 18372, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + { + id: 1001, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 1001, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 10116098, + quantity: { + amount: 0.3333333333333333, + unit: "cup", + }, + }, + { + id: 10116098, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 1123, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 20081, + quantity: { + amount: 1.25, + unit: "cup", + }, + }, + { + id: 19335, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 19334, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 19336, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + { + id: 10019903, + quantity: { + amount: 1.5, + unit: "cups", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "Tbsp", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat oven to 350FLine a baking sheet with parchment, set aside.In bowl of stand mixer cream butter and peanut butter together until smooth.", + number: 1, + }, + { + instruction: "Add both sugars and beat for 2 minutes.", + number: 2, + }, + { + instruction: "Add in egg, vanilla, baking soda and salt.", + number: 3, + }, + { + instruction: + "Mix until combined.Turn mixer to low and add in flour.Portion out dough by in tablespoon amounts.", + number: 4, + }, + { + instruction: + "Roll into a ball and then flatten to approximately inch thick.", + number: 5, + }, + { + instruction: "Place on baking sheet about 2 inches apart.", + number: 6, + }, + { + instruction: "Bake for 8-9 minutes until golden at he edges.", + number: 7, + }, + { + instruction: + "Remove from oven and transfer cookies to a wire rack to cool completely.In microwave safe bowl combine chocolate chips, peanut butter and butter.", + number: 8, + }, + { + instruction: "Heat on high for 1 minute and then stir until smooth.", + number: 9, + }, + { + instruction: + "Place powdered sugar in bowl.Dip each cookie in chocolate and using a fork remove cookie, tapping off excess chocolate. You don't need a lot of chocolate coating on the cookies.Immediately dip the cookie into the powdered sugar and toss to coat completely.", + number: 10, + }, + { + instruction: + "Place back on cooling rack to until chocolate is set. Repeat for all cookies.", + number: 11, + }, + ], + name: "Puppy Chow Cookies", + tags: ["side dish"], + }, + { + id: 793584, + image: "https://spoonacular.com/recipeImages/793584-556x370.jpg", + ingredients: [ + { + id: 11143, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 1002046, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 1129, + quantity: { + amount: 2, + unit: "", + }, + }, + { + id: 4641, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1011256, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2026, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 11297, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1002030, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 11944, + quantity: { + amount: 3, + unit: "tablespoons", + }, + }, + { + id: 10011282, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 11353, + quantity: { + amount: 2, + unit: "pounds", + }, + }, + { + id: 2047, + quantity: { + amount: 0.75, + unit: "teaspoons", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + ], + instructions: [ + { + instruction: + "Place potatoes in a large saucepan and add water to cover by 1 inch. Bring to boil over medium-high heat.", + number: 1, + }, + { + instruction: + "Add 1-tablespoon salt, reduce heat to medium, and simmer. Stir a few times, until potatoes re-fork tender, about 8 minutes.", + number: 2, + }, + { + instruction: + "Drain potatoes and transfer to a large bowl.In a medium sized bowl whisk together yogurt, mayonnaise, mustard, salt, pepper and onion powder.", + number: 3, + }, + { + instruction: "Add to potatoes and gently stir to combine.", + number: 4, + }, + { + instruction: + "Add celery, pickles, red onions, parsley and chopped eggs to potato mixture, stir to combine.", + number: 5, + }, + { + instruction: + "Add more salt and pepper to taste.Cover and refrigerate until chilled, about 1 hour before serving. Potato salad can be made up to one day ahead.", + number: 6, + }, + ], + name: "Easy Creamy Potato Salad with Yogurt", + tags: ["salad"], + }, + { + id: 607805, + image: "https://spoonacular.com/recipeImages/607805-556x370.jpg", + ingredients: [ + { + id: 10211821, + quantity: { + amount: 3, + unit: "large", + }, + }, + { + id: 11215, + quantity: { + amount: 2, + unit: "cloves", + }, + }, + { + id: 10020048, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 93651, + quantity: { + amount: 1, + unit: "cups", + }, + }, + { + id: 7927, + quantity: { + amount: 0.5, + unit: "lb", + }, + }, + { + id: 11282, + quantity: { + amount: 1, + unit: "small", + }, + }, + { + id: 2027, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + { + id: 1033, + quantity: { + amount: 2, + unit: "Tbsp", + }, + }, + { + id: 11549, + quantity: { + amount: 14, + unit: "oz", + }, + }, + ], + instructions: [ + { + instruction: "Cut tops off peppers; remove and discard seeds.", + number: 1, + }, + { + instruction: "Chop tops; place in medium bowl.", + number: 2, + }, + { + instruction: + "Add sausage, onions, rice, Parmesan, garlic, oregano, 1-1/2 cups pizza sauce and 1-1/4 cups shredded cheese; mix lightly. Spoon into pepper shells.", + number: 3, + }, + { + instruction: + "Stand peppers in slow cooker; top with remaining sauce and shredded cheese. Cover with lid.", + number: 4, + }, + { + instruction: + "Cook on LOW 6 to 8 hours (or on HIGH 2-1/2 to 3-1/2 hours).", + number: 5, + }, + ], + name: "Slow-Cooker Italian-Stuffed Peppers", + tags: ["side dish"], + }, + { + id: 763858, + image: "https://spoonacular.com/recipeImages/763858-556x370.jpg", + ingredients: [ + { + id: 10120129, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 1001, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 20081, + quantity: { + amount: 3.5, + unit: "cups", + }, + }, + { + id: 1053, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 19296, + quantity: { + amount: 0.3333333333333333, + unit: "cup", + }, + }, + { + id: 10118375, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 10118375, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1077, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 4053, + quantity: { + amount: 16, + unit: "servings", + }, + }, + { + id: 8120, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 8120, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1012047, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 14412, + quantity: { + amount: 1, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "Whisk flours together with teaspoon instant yeast in a large mixing bowl with a tight-fitting lid (like this one), and then stir in the oats. Stir the water and milk together, then pour the liquids into the dry ingredients, stirring to create a loose, shaggy dough. Cover the mixing bowl tightly, and allow the dough to rest at room temperature at least eight and up to twelve hours.Dump the dough into the basin of a stand mixer (like this one), and then beat in the butter, honey, salt, and the remaining 2 tablespoons yeast. Continue beating all the ingredients together until they form a smooth dough, and then turn it out on a well-floured surface. Knead by hand for ten to fifteen minutes, incorporating about 1 cups additional flour, until the dough becomes smooth and elastic.Oil a large mixing bowl, and transfer the dough to the bowl. Cover tightly, and allow the dough to rise until doubled in volume.", + number: 1, + }, + { + instruction: + "Transfer the dough to a well-floured surface, and split into two portions of approximately equal weight. Butter and flour two 4-inch by 8-inch loaf pans.Working one at a time, roll each lump of dough out into a large rectangle, about 8 by 16 inches. Working from the short end, roll the dough into a loaf, pinching the seam at the bottom of the loaf tightly to seal it.", + number: 2, + }, + { + instruction: + "Place the dough, seam-side down, in a prepared loaf pan. Cover lightly with a kitchen towel, and allow it to rise until doubled in size, about two hours.While the dough rises, heat the oven to 400 F.Using a pastry brush, gently brush the top of the dough with cream, and then scatter one tablespoon rolled oats over each loaf.", + number: 3, + }, + { + instruction: + "Transfer the loaves to the oven, and bake 5 minutes at 400 F. Then reduce the temperature to 350 F and continue baking until the crust is a dark brown and the bread reaches an internal temperature of 200 F about 45 minutes.", + number: 4, + }, + { + instruction: + "Remove from the oven and allow the loaves to cool in their pans for five minutes, then turn out onto a wire rack, allowing the bread to cool completely before slicing.", + number: 5, + }, + ], + name: "Whole Wheat Milk and Honey Sandwich Bread", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 618332, + image: "https://spoonacular.com/recipeImages/618332-556x370.jpg", + ingredients: [ + { + id: 19912, + quantity: { + amount: 168, + unit: "g", + }, + }, + { + id: 18371, + quantity: { + amount: 2, + unit: "g", + }, + }, + { + id: 20027, + quantity: { + amount: 1, + unit: "g", + }, + }, + { + id: 10019071, + quantity: { + amount: 42, + unit: "g", + }, + }, + { + id: 1012010, + quantity: { + amount: 3, + unit: "g", + }, + }, + { + id: 11424, + quantity: { + amount: 183, + unit: "g", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "g", + }, + }, + { + id: 1145, + quantity: { + amount: 28, + unit: "g", + }, + }, + { + id: 2050, + quantity: { + amount: 5, + unit: "mL", + }, + }, + { + id: 10020080, + quantity: { + amount: 120, + unit: "g", + }, + }, + ], + instructions: [ + { + instruction: + "In a medium bowl, whisk together the flour, baking powder, cornstarch, cinnamon, and salt. In a separate bowl, whisk together the butter, pumpkin, and vanilla. Stir in the agave.", + number: 1, + }, + { + instruction: + "Add the flour mixture, stirring just until incorporated. Fold in 2 tablespoons of chocolate chips. Chill the cookie dough for at least 30 minutes. (If chilling longer than 1 hour, cover the top of the bowl with foil.)Preheat the oven to 325F, and line a baking sheet with parchment paper or a silicone baking mat. Drop the cookie dough into 12 rounded scoops onto the prepared baking sheet. Flatten slightly, and press the remaining chocolate chips into the tops of the cookie dough.", + number: 2, + }, + { + instruction: + "Bake at 325F for 15-17 minutes. Cool on the baking sheet for at least 10 minutes before turning out onto a wire rack.", + number: 3, + }, + ], + name: "The Ultimate Healthy Soft & Chewy Pumpkin Chocolate Chip Cookies", + tags: ["side dish"], + }, + { + id: 231951, + image: "https://spoonacular.com/recipeImages/231951-556x370.jpg", + ingredients: [ + { + id: 20027, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 10019334, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 1053, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 93814, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 1145, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 1077, + quantity: { + amount: 1.5, + unit: "cups", + }, + }, + ], + instructions: [ + { + instruction: + "Whisk together brown sugar, cornstarch, and 1/4 teaspoon salt in a heavy medium saucepan, then whisk in milk and cream. Bring to a boil over medium heat, whisking frequently, then boil, whisking, 1 minute.", + number: 1, + }, + { + instruction: "Remove from heat and whisk in butter and vanilla.", + number: 2, + }, + { + instruction: + "Pour into a bowl, then cover surface with buttered wax paper and chill until cold, at least 1 1/2 hours.", + number: 3, + }, + ], + name: "Butterscotch Pudding", + tags: ["side dish"], + }, + { + id: 880108, + image: "https://spoonacular.com/recipeImages/880108-556x370.jpg", + ingredients: [ + { + id: 11206, + quantity: { + amount: 1, + unit: "large", + }, + }, + { + id: 11297, + quantity: { + amount: 1, + unit: "bunch", + }, + }, + { + id: 11215, + quantity: { + amount: 4, + unit: "cloves", + }, + }, + { + id: 9150, + quantity: { + amount: 1, + unit: "large", + }, + }, + { + id: 4053, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 20035, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + { + id: 11529, + quantity: { + amount: 1, + unit: "large", + }, + }, + ], + instructions: [ + { + instruction: "Rinse the quinoa under cool running water.", + number: 1, + }, + { + instruction: + "Place the rinsed quinoa in a pot with 1.75 cups of water. Put a lid on top, bring it to a boil, then reduce the heat to low and let simmer for 15 minutes. After 15 minutes, turn off the heat. Allow the quinoa to cool before making the salad or else the heat will wilt the parsley and vegetables. To cool it faster, spread it out on a baking sheet and place in the refrigerator for 30 minutes.While the quinoa is cooling, prepare the rest of the salad.", + number: 2, + }, + { + instruction: + "Cut the tomato and cucumber into a small dice. Rinse the parsley well to remove sand and grit, then chop well.", + number: 3, + }, + { + instruction: + "Add the cucumber, tomato, and parsley to a bowl.To make the dressing, squeeze the juice from the lemon into a bowl (about cup). Mince the garlic and add to the lemon juice along with the olive oil and salt.Once the quinoa is cooled, combine it with the chopped vegetables and the lemon dressing. Stir well and then serve!", + number: 4, + }, + ], + name: "quinoa tabbouleh", + tags: ["side dish"], + }, + { + id: 602311, + image: "https://spoonacular.com/recipeImages/602311-556x370.jpg", + ingredients: [ + { + id: 14242, + quantity: { + amount: 0.6666666666666666, + unit: "cup", + }, + }, + { + id: 14130, + quantity: { + amount: 0.6666666666666666, + unit: "cup", + }, + }, + { + id: 19177, + quantity: { + amount: 2, + unit: "envelopes", + }, + }, + { + id: 1053, + quantity: { + amount: 1, + unit: "tbsp", + }, + }, + { + id: 93645, + quantity: { + amount: 30, + unit: "servings", + }, + }, + { + id: 14051, + quantity: { + amount: 0.6666666666666666, + unit: "cup", + }, + }, + { + id: 1054, + quantity: { + amount: 30, + unit: "servings", + }, + }, + ], + instructions: [ + { + instruction: + "Lightly spray the mold with non-stick spray and wipe excess off with a paper towel. Don’t overdo it or the residue will affect the taste of the jello.", + number: 1, + }, + { + instruction: + "Pour the soda, juice, and cream into a medium saucepan and sprinkle the gelatin on top. Allow the gelatin to soak for 2-3 minutes, then begin to heat on low, stirring constantly until gelatin is fully dissolved (about 5 minutes).", + number: 2, + }, + { + instruction: + "Remove saucepan from heat and add vodka and food coloring.", + number: 3, + }, + { + instruction: + "Pour into molds and chill for several hours, or until set.", + number: 4, + }, + { + instruction: + "Remove from mold, top with whipped cream, and enjoy responsibly!*The original recipe suggests 2-3 envelopes, depending on how long your jello shots will be left out (more gelatin for more time). I opted for 3 because we were traveling an hour to get to the party, but I found them to be a little too firm , so I suggest you stick with 2 and plan accordingly for the best results!", + number: 5, + }, + ], + name: "Birthday Cake Jello Shots", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 670408, + image: "https://spoonacular.com/recipeImages/670408-556x370.jpg", + ingredients: [ + { + id: 93828, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 11266, + quantity: { + amount: 16, + unit: "ounces", + }, + }, + { + id: 1017, + quantity: { + amount: 4, + unit: "ounces", + }, + }, + { + id: 1019, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 1022020, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 1022027, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 1082047, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 1082047, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 4053, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1033, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 1032009, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 10011457, + quantity: { + amount: 8, + unit: "ounces", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat oven to 350 degrees F. First, remove the mushroom stems by pushing each one toward you, then away from you. It will pop right out. (Save them to add to another recipe.) Swish and rub the mushroom tops in a large bowl of cold water to get them clean. Then, lay them open side down on a kitchen towel to dry.While the mushrooms dry, mix together the cream cheese, spinach, artichoke hearts, parmesan, garlic powder, 1/2 tsp. kosher salt, and red pepper flakes.In a small bowl, stir together olive oil, 1/4 tsp. salt, and Italian seasoning. Use a basting brush or your fingers to lightly rub the outside of the mushrooms with the oil mixture.", + number: 1, + }, + { + instruction: + "Place the mushrooms open side up on a baking sheet. Use a small disher or spoon to place a heaping scoop of dip mixture into each mushroom, pressing it down to make sure it fills the opening. Press a small amount of feta cheese on top of each stuffed mushroom.", + number: 2, + }, + { + instruction: + "Bake in preheated oven for 20-25 minutes until filling is hot and bubbly and feta is starting to brown. Mushrooms will drain some brown liquid during cooking, so drain on paper towels before serving if you don't want that liquid on your serving plate. These taste just as good even after they have cooled down!", + number: 3, + }, + ], + name: "Artichoke Spinach Dip Stuffed Mushrooms", + tags: ["condiment", "dip", "spread"], + }, + { + id: 325208, + image: "https://spoonacular.com/recipeImages/325208-556x370.jpeg", + ingredients: [ + { + id: 1002030, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 2044, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 11215, + quantity: { + amount: 2, + unit: "cloves", + }, + }, + { + id: 1053, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 7036, + quantity: { + amount: 1, + unit: "pound", + }, + }, + { + id: 1082047, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 10111549, + quantity: { + amount: 26, + unit: "ounce", + }, + }, + { + id: 1077, + quantity: { + amount: 0.75, + unit: "cup", + }, + }, + { + id: 4053, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1038, + quantity: { + amount: 3, + unit: "cups", + }, + }, + { + id: 11304, + quantity: { + amount: 4, + unit: "ounces", + }, + }, + { + id: 11677, + quantity: { + amount: 2, + unit: "small", + }, + }, + { + id: 11020420, + quantity: { + amount: 12, + unit: "", + }, + }, + { + id: 1001026, + quantity: { + amount: 8, + unit: "ounces", + }, + }, + { + id: 93630, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 14106, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: "Watch how to make this recipe.", + number: 1, + }, + { + instruction: + "Place an oven rack in the center of the oven. Preheat the oven to 350 degrees F. Spray a 9-by-13-by-2-inch glass baking dish with vegetable oil cooking spray. Set aside.", + number: 2, + }, + { + instruction: + "For the fonduta sauce: In a medium heavy-bottomed saucepan, bring the milk and cream to a simmer over medium heat. Reduce the heat to low.", + number: 3, + }, + { + instruction: + "Add the Pecorino Romano and whisk until the cheese is melted and the sauce is smooth.", + number: 4, + }, + { + instruction: + "Remove the pan from the heat and stir in the basil. Set aside.", + number: 5, + }, + { + instruction: + "In a large skillet, heat 2 tablespoons of olive oil over medium-high heat.", + number: 6, + }, + { + instruction: + "Add the sausage, shallots, garlic, 1/4 teaspoon salt, and 1/4 teaspoon pepper. Cook until the sausage is cooked through and the vegetables have softened, 8 to 10 minutes. Using a wooden spoon, break the sausage into 1/2-inch pieces. Increase the heat to high.", + number: 7, + }, + { + instruction: + "Add the wine and scrape up the brown bits that cling to the bottom of the pan with a wooden spoon. Cook until the wine has evaporated, about 2 minutes.", + number: 8, + }, + { + instruction: + "Remove the pan from the heat and set aside to cool slightly.", + number: 9, + }, + { + instruction: + "Add the peas, ricotta, and 1 cup of the fonduta sauce. Season with remaining 1/2 teaspoon kosher salt and 1/4 teaspoon pepper.", + number: 10, + }, + { + instruction: + "Bring a large pot of salted water to a boil over high heat.", + number: 11, + }, + { + instruction: + "Add the pasta and cook until just tender, 7 to 8 minutes.", + number: 12, + }, + { + instruction: "Drain and set aside.", + number: 13, + }, + { + instruction: + "Spread half of the marinara sauce over the bottom of the prepared baking dish. Using a small spoon, fill the manicotti shells with the sausage filling and arrange in a single layer in the baking dish.", + number: 14, + }, + { + instruction: + "Pour the remaining marinara sauce on top of the filled shells. Spoon the remaining fonduta sauce on top and sprinkle with the mozzarella.", + number: 15, + }, + { + instruction: + "Drizzle with olive oil and bake until bubbly and golden brown, 30 to 35 minutes.", + number: 16, + }, + ], + name: "Baked Manicotti with Sausage and Peas", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 542778, + image: "https://spoonacular.com/recipeImages/542778-556x370.jpg", + ingredients: [ + { + id: 1123, + quantity: { + amount: 2, + unit: "medium size", + }, + }, + { + id: 11463, + quantity: { + amount: 10, + unit: "ounces", + }, + }, + { + id: 11215, + quantity: { + amount: 3, + unit: "", + }, + }, + { + id: 93651, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 93828, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 1011256, + quantity: { + amount: 6, + unit: "ounces", + }, + }, + { + id: 4053, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1025, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 20035, + quantity: { + amount: 3, + unit: "cups", + }, + }, + { + id: 1102047, + quantity: { + amount: 5, + unit: "servings", + }, + }, + { + id: 11677, + quantity: { + amount: 1, + unit: "", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat the oven to 375°F then prepare a large casserole dish (I used a 1 quart dish) by greasing with Earth Balance, butter or non-stick cooking spray.Warm the olive oil over medium heat in a sauté pan and cook the shallot and garlic for a few minutes, until fragrant.Using a strainer and a paper towel, press the excess water out from the defrosted spinach then add it to the pan.", + number: 1, + }, + { + instruction: + "Add the chopped artichoke hearts (I discarded any tough parts) and a pinch of salt & pepper to the pan and cook for five minutes.Meanwhile, combine the eggs, yogurt and cheese in a large bowl and whisk together until well-combined.", + number: 2, + }, + { + instruction: + "Remove the spinach artichoke mixture from the heat and allow to cool for a few minutes before adding to the bowl with the eggs and cheese.Lastly, add the cooked quinoa and stir until everything is mixed together well.", + number: 3, + }, + { + instruction: + "Place the mixture into the casserole dish, smoothing the top with the back of a spoon. Sprinkle a few tablespoons of cheese on top and cook for 30-35 minutes, until top is light golden brown.", + number: 4, + }, + { + instruction: "Serve warm and enjoy!", + number: 5, + }, + ], + name: "Spinach Artichoke Quinoa Casserole", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 698701, + image: "https://spoonacular.com/recipeImages/698701-556x370.jpg", + ingredients: [ + { + id: 10014623, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 10014623, + quantity: { + amount: 6, + unit: "teaspoons", + }, + }, + { + id: 1124, + quantity: { + amount: 4, + unit: "large", + }, + }, + { + id: 9302, + quantity: { + amount: 3, + unit: "cups", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 19335, + quantity: { + amount: 0.3333333333333333, + unit: "cup", + }, + }, + { + id: 19335, + quantity: { + amount: 6, + unit: "teaspoons", + }, + }, + ], + instructions: [ + { + instruction: + "To prepare berry layer: Preheat oven to 375F. Coat six 8-ounce souffl cups with cooking spray.", + number: 1, + }, + { + instruction: + "Add 1 teaspoon sugar to each cup and swirl to coat the inside. Distribute raspberries in the bottom of the cups and sprinkle each with 1 teaspoon crme de cassis (or eau-de-vie, juice or nectar).To prepare souffls: Stir raspberries in a saucepan over low heat until they are juicy (for fresh) or thawed (for frozen).", + number: 2, + }, + { + instruction: + "Transfer to a fine sieve set over a bowl. With a spoon, press the berries through the sieve, being careful to extract all the pulp. Discard the seeds.Return the puree to the saucepan. Bring to a simmer and stir over medium heat until very thick and reduced to 1/4 cup, about 10 minutes. (Reduce the heat as the mixture thickens.) Stir in 1 tablespoon crme de cassis (or eau-de-vie, juice or nectar) and set aside to cool slightly.Beat egg whites and salt in a mixing bowl with an electric mixer on high speed until soft peaks form. Continuing to beat, gradually add sugar and beat until stiff peaks form. With a rubber spatula, fold about a fourth of the beaten whites into the reserved raspberry puree to lighten its texture, then pour the mixture over the remaining whites. Gently fold the puree and whites together until evenly blended. Spoon the souffl mixture into the cups, spreading to the edges of the cups.Set the cups on a baking sheet and bake for 10 minutes, or until lightly browned on the top. Dust with confectioners sugar and serve immediately.", + number: 3, + }, + ], + name: "Double Raspberry Soufflés", + tags: ["side dish"], + }, + { + id: 515021, + image: "https://spoonacular.com/recipeImages/515021-556x370.jpg", + ingredients: [ + { + id: 9040, + quantity: { + amount: 4, + unit: "", + }, + }, + { + id: 1001, + quantity: { + amount: 1.25, + unit: "sticks", + }, + }, + { + id: 9354, + quantity: { + amount: 1, + unit: "large can", + }, + }, + { + id: 9070, + quantity: { + amount: 15, + unit: "servings", + }, + }, + { + id: 14181, + quantity: { + amount: 15, + unit: "servings", + }, + }, + { + id: 1123, + quantity: { + amount: 2, + unit: "", + }, + }, + { + id: 10018617, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 1053, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 12135, + quantity: { + amount: 15, + unit: "servings", + }, + }, + { + id: 19336, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 19335, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + ], + instructions: [ + { + instruction: "Grease a 9×13 pan.", + number: 1, + }, + { + instruction: + "Mix together graham cracker crust and 1¼ sticks of butter. Press out in pan.In mixer, mix together powdered sugar, 2 sticks of butter, vanilla, and eggs.", + number: 2, + }, + { + instruction: "Pour on top of graham cracker crust.", + number: 3, + }, + { + instruction: + "Spread out crushed pineapple on top of sugar mixture, then add sliced bananas. I added cherries next for fun.In mixer, add heavy cream and mix on medium high until soft peak. When almost completed, add ½ cup sugar.", + number: 4, + }, + { + instruction: + "Spread whipped cream over top of bananas. Refrigerate for at least 2 hours, (I waited 1 hours and it was fine.)Enjoy!", + number: 5, + }, + ], + name: "A Cake To Warm Any Heart – Banana Split Cake", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 999044, + image: "https://spoonacular.com/recipeImages/999044-556x370.jpg", + ingredients: [ + { + id: 9037, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 16057, + quantity: { + amount: 1.5, + unit: "cups", + }, + }, + { + id: 11297, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 2045, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1256, + quantity: { + amount: 3, + unit: "tablespoons", + }, + }, + { + id: 9152, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 4053, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 1102047, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 11291, + quantity: { + amount: 2, + unit: "", + }, + }, + ], + instructions: [ + { + instruction: + "Working in a couple of batches, roughly chop the chickpeas and place in a bowl.", + number: 1, + }, + { + instruction: + "Add the minced herbs and scallions to the chickpeas and give a quick toss.", + number: 2, + }, + { + instruction: + "In a separate bowl, whisk together the mayo, lemon juice, and olive oil.", + number: 3, + }, + { + instruction: + "Cut the avocado in half, remove the pit, and cut each half into cubes (see note).", + number: 4, + }, + { + instruction: + "Place in the bowl and pour the mayo mixture over the chickpeas and avocado. Toss until well combine. Taste and add salt/pepper to your preferred taste.", + number: 5, + }, + { + instruction: "Serve on a sandwich or with crackers.", + number: 6, + }, + ], + name: "Avocado Chickpea Salad", + tags: ["salad"], + }, + { + id: 798070, + image: "https://spoonacular.com/recipeImages/798070-556x370.jpg", + ingredients: [ + { + id: 18371, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 20081, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 19335, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 1077, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 9236, + quantity: { + amount: 20, + unit: "ounces", + }, + }, + { + id: 2047, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 1145, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 19095, + quantity: { + amount: 8, + unit: "servings", + }, + }, + { + id: 1054, + quantity: { + amount: 8, + unit: "servings", + }, + }, + ], + instructions: [ + { + instruction: + "Melt butter and brush some of the butter around the slow cooker.Using a stand mixer, combine flour, 1-cup sugar, baking powder, and salt. Then, add milk and remaining melted cooled butter, mixing just until dry ingredients are moistened.", + number: 1, + }, + { + instruction: + "Pour the batter in the slow cooker and place the frozen peaches on top.Cook on high for 3 hours with lid on top. Once the cobbler is done, divide and serve cobbler warm with ice cream and whipped cream on top.", + number: 2, + }, + ], + name: "Slow Cooker Peach Cobbler", + tags: ["side dish"], + }, + { + id: 574317, + image: "https://spoonacular.com/recipeImages/574317-556x370.jpg", + ingredients: [ + { + id: 20081, + quantity: { + amount: 2.5, + unit: "cups", + }, + }, + { + id: 1001, + quantity: { + amount: 2, + unit: "T", + }, + }, + { + id: 10862, + quantity: { + amount: 3, + unit: "strips", + }, + }, + { + id: 5114, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 1019, + quantity: { + amount: 0.75, + unit: "cup", + }, + }, + { + id: 1022020, + quantity: { + amount: 2, + unit: "t", + }, + }, + { + id: 11333, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 1026, + quantity: { + amount: 0.75, + unit: "cup", + }, + }, + { + id: 1033, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 10011282, + quantity: { + amount: 0.5, + unit: "medium", + }, + }, + { + id: 10211529, + quantity: { + amount: 2, + unit: "", + }, + }, + { + id: 2047, + quantity: { + amount: 0.5, + unit: "t", + }, + }, + { + id: 11424, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 19335, + quantity: { + amount: 1, + unit: "t", + }, + }, + { + id: 14412, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 1011009, + quantity: { + amount: 0.75, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "In a large mixing bowl, add 1 cup warm water, 1 pack rapid or quick yeast, 1 t sugar 1/2 t salt and 1 T olive oil.", + number: 1, + }, + { + instruction: "Mix well.", + number: 2, + }, + { + instruction: "Add 2 1/2 cups flour and mix.", + number: 3, + }, + { + instruction: + "Add a little more flour if too sticky but you are making a light dough not a heavy brick.", + number: 4, + }, + { + instruction: + "Cover and let rise until double in size. About 30-40 minutes.", + number: 5, + }, + { + instruction: "While dough is rising, prep any toppings.", + number: 6, + }, + { + instruction: "Preheat oven 375 convection.", + number: 7, + }, + { + instruction: + "Spread the dough on a well oiled large pizza pan or cookie sheet. Melt 2 T butter in a microwave for 15-20 seconds.", + number: 8, + }, + { + instruction: + "Mix 2 t garlic powder in the butter and spread thinly over the dough.", + number: 9, + }, + { + instruction: "Top with cheeses and other toppings of choice.", + number: 10, + }, + { + instruction: "Bake in oven for 20 to 25 minutes.", + number: 11, + }, + ], + name: "4 Cheese White Pizza", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 673337, + image: "https://spoonacular.com/recipeImages/673337-556x370.jpg", + ingredients: [ + { + id: 98998, + quantity: { + amount: 12, + unit: "servings", + }, + }, + { + id: 1001, + quantity: { + amount: 2, + unit: "tablespoon", + }, + }, + { + id: 8030, + quantity: { + amount: 6.5, + unit: "oz", + }, + }, + { + id: 19116, + quantity: { + amount: 9, + unit: "oz", + }, + }, + { + id: 1077, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 19336, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 19335, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + ], + instructions: [ + { + instruction: + "Pour mixture into prepared pan, using your hands press to flatten. Set aside for 1-2 hours to set.In a separate bowl, combine powdered sugar with milk and stir to combine. Using a spoon, drizzle glaze on top of cereal bars and dust with colored sugar or sprinkles.", + number: 1, + }, + ], + name: "Cereal Marshmallow Bars", + tags: ["side dish"], + }, + { + id: 764184, + image: "https://spoonacular.com/recipeImages/764184-556x370.jpg", + ingredients: [ + { + id: 1123, + quantity: { + amount: 6, + unit: "large", + }, + }, + { + id: 6150, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 16158, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2028, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 1002030, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 2046, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + ], + instructions: [ + { + instruction: + "To hard-boil the eggs, place the raw eggs at the bottom of a large pot.", + number: 1, + }, + { + instruction: + "Pour water in the pot until the water is 1-2 inches over the top of the eggs.", + number: 2, + }, + { + instruction: + "Place the pot on the stove top uncovered and turn the burner to high heat. Bring the water in the pot to a boil. When the water comes to a full boil, cover the pot with a lid and turn off the heat to the burner. Leave the pot on the burner, covered, for 12 minutes.While the eggs sit in the covered pot, fill a mixing bowl way with ice water. When the time is up on the eggs, use a slotted spoon to remove them from the pot and transfer them to the bowl of ice water to stop them from cooking. Leave them in the bowl of ice water for a few minutes until fully cold.Peel the eggs under cold running water (Ive found its much easier). Slice the eggs in half lengthwise and removethe yolks into a mixing bowl. Use a fork to mash the yolks as much as you can. I usually add a little splash of water to the mashed egg yolks and mash again.", + number: 3, + }, + { + instruction: + "Add the black pepper, hummus, hot sauce and mustard and stir together until well combined and mostly smooth. Spoon or pipe this filling back into the hollows of the egg whites. Sprinkle paprika over the tops of the eggs and serve.", + number: 4, + }, + ], + name: "Hummus Deviled Eggs", + tags: ["side dish"], + }, + { + id: 206402, + image: "https://spoonacular.com/recipeImages/206402-556x370.jpg", + ingredients: [ + { + id: 1017, + quantity: { + amount: 16, + unit: "ounces", + }, + }, + { + id: 1214, + quantity: { + amount: 12, + unit: "ounces", + }, + }, + { + id: 1053, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 19206, + quantity: { + amount: 6.8, + unit: "ounces", + }, + }, + { + id: 9214, + quantity: { + amount: 12, + unit: "ounces", + }, + }, + { + id: 9216, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 9216, + quantity: { + amount: 8, + unit: "servings", + }, + }, + { + id: 19335, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + ], + instructions: [ + { + instruction: + "Whisk together evaporated milk, pudding mix, and zest in a bowl for 2 minutes or until mixture is thickened.", + number: 1, + }, + { + instruction: + "Beat cream cheese and vanilla at medium speed with an electric mixer until fluffy.", + number: 2, + }, + { + instruction: + "Add orange juice concentrate, beating until smooth; add evaporated milk mixture, and beat until blended.", + number: 3, + }, + { + instruction: "Pour into crust. Cover and chill 8 hours or until firm.", + number: 4, + }, + { + instruction: + "Combine cream and confectioner's sugar in a bowl and whip with a whisk until it holds soft peaks. Dollop or pipe each slice with whipped cream, and garnish with candied zest or candy if desired.", + number: 5, + }, + ], + name: "Creamsicle Pie", + tags: ["side dish"], + }, + { + id: 446577, + image: "https://spoonacular.com/recipeImages/446577-556x370.jpg", + ingredients: [ + { + id: 10123, + quantity: { + amount: 6, + unit: "slices", + }, + }, + { + id: 11052, + quantity: { + amount: 1, + unit: "pound", + }, + }, + { + id: 11215, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 1002030, + quantity: { + amount: 1, + unit: "pinch", + }, + }, + { + id: 11282, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2047, + quantity: { + amount: 0.125, + unit: "teaspoon", + }, + }, + { + id: 14412, + quantity: { + amount: 1, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "Place bacon in a large, deep skillet. Cook over medium high heat until the fat begins to render. Stir in onions and garlic; let cook for 1 minute. Stir in beans and water.", + number: 1, + }, + { + instruction: + "Let the beans cook until the water has evaporated and the beans are tender. If the beans are not tender once the water has evaporated, add a small amount more water and let them cook until tender. Season with salt and pepper (to taste) and serve.", + number: 2, + }, + ], + name: "Smothered Green Beans", + tags: ["side dish"], + }, + { + id: 576906, + image: "https://spoonacular.com/recipeImages/576906-556x370.jpg", + ingredients: [ + { + id: 11959, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 1004, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1012047, + quantity: { + amount: 2, + unit: "servings", + }, + }, + { + id: 1002030, + quantity: { + amount: 0.125, + unit: "teaspoon", + }, + }, + { + id: 4053, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 9252, + quantity: { + amount: 0.5, + unit: "", + }, + }, + { + id: 9252, + quantity: { + amount: 1, + unit: "tablespoons", + }, + }, + { + id: 43408, + quantity: { + amount: 3, + unit: "tablespoons", + }, + }, + { + id: 11677, + quantity: { + amount: 1, + unit: "medium", + }, + }, + { + id: 2049, + quantity: { + amount: 2, + unit: "sprigs", + }, + }, + { + id: 12155, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + ], + instructions: [ + { + instruction: + "In a medium bowl add the pear juice and vinegar. While whisking, slowly stream in the olive oil. Scrape the leaves off of two sprigs of thyme and add in the black pepper.", + number: 1, + }, + { + instruction: "Whisk to combine", + number: 2, + }, + { + instruction: + "Assemble romaine leaves and top with sliced pear, shallot, toasted walnuts, blue cheese and season with sea salt to taste.", + number: 3, + }, + { + instruction: + "Drizzle with desired amount of the pear vinaigrette and enjoy!", + number: 4, + }, + ], + name: "Pear & Walnut Salad with a Pear Vinaigrette", + tags: ["salad"], + }, + { + id: 504218, + image: "https://spoonacular.com/recipeImages/504218-556x370.jpg", + ingredients: [ + { + id: 10011693, + quantity: { + amount: 2, + unit: "cans", + }, + }, + { + id: 11124, + quantity: { + amount: 4, + unit: "", + }, + }, + { + id: 2012, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + { + id: 1002014, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + { + id: 11913, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 11215, + quantity: { + amount: 2, + unit: "cloves", + }, + }, + { + id: 11333, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 11282, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 2047, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 11477, + quantity: { + amount: 2, + unit: "", + }, + }, + ], + instructions: [ + { + instruction: "Chop all the veggies.", + number: 1, + }, + { + instruction: "Saute the onion and garlic in a large skillet.", + number: 2, + }, + { + instruction: + "Add in the carrots and saute for a few minutes, covering to cook for about 5 minutes.", + number: 3, + }, + { + instruction: + "Add in the other veggies and seasonings and let it cook until the veggies are tender.", + number: 4, + }, + { + instruction: + "Serve hot over cornbread with shredded cheese and sour cream.", + number: 5, + }, + ], + name: "Mexican Vegetables on Cornbread", + tags: ["side dish"], + }, + { + id: 445196, + image: "https://spoonacular.com/recipeImages/445196-556x370.jpg", + ingredients: [ + { + id: 6150, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 10220445, + quantity: { + amount: 2, + unit: "servings", + }, + }, + { + id: 2003, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 1022020, + quantity: { + amount: 0.125, + unit: "teaspoon", + }, + }, + { + id: 11333, + quantity: { + amount: 1, + unit: "medium", + }, + }, + { + id: 19296, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 11282, + quantity: { + amount: 1, + unit: "medium", + }, + }, + { + id: 1002030, + quantity: { + amount: 0.125, + unit: "teaspoon", + }, + }, + { + id: 15152, + quantity: { + amount: 0.75, + unit: "pound", + }, + }, + ], + instructions: [ + { + instruction: + "In a nonstick skillet coated with cooking spray, saute onion and green pepper for 3-4 minutes or until crisp-tender.", + number: 1, + }, + { + instruction: + "Combine the barbecue sauce, honey, basil, garlic powder and pepper; pour over vegetables. Bring to a boil over medium-high heat, stirring constantly.", + number: 2, + }, + { + instruction: + "Add shrimp; cook and stir for 3-5 minutes or until shrimp turn pink.", + number: 3, + }, + { + instruction: "Serve with rice.", + number: 4, + }, + ], + name: "Barbecue Shrimp Stir-Fry", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 759534, + image: "https://spoonacular.com/recipeImages/759534-556x370.jpg", + ingredients: [ + { + id: 19334, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + { + id: 16018, + quantity: { + amount: 15, + unit: "oz", + }, + }, + { + id: 4582, + quantity: { + amount: 1, + unit: "Tbs", + }, + }, + { + id: 99223, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 11165, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 10218364, + quantity: { + amount: 4, + unit: "8-inch", + }, + }, + { + id: 11215, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + { + id: 1002014, + quantity: { + amount: 1, + unit: "tsp", + }, + }, + { + id: 9160, + quantity: { + amount: 2, + unit: "Tbs", + }, + }, + { + id: 10011109, + quantity: { + amount: 8, + unit: "oz", + }, + }, + { + id: 10611282, + quantity: { + amount: 1, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: "Preheat oven to 450°F.", + number: 1, + }, + { + instruction: "Heat oil in saucepan over medium-high heat.", + number: 2, + }, + { + instruction: "Add onion, and cook 5 minutes, or until translucent.", + number: 3, + }, + { + instruction: "Add garlic and cumin, and cook 1 minute more.", + number: 4, + }, + { + instruction: + "Place onion mixture in blender with beans, chipotle chile, brown sugar, and 3 Tbs. water. Blend until smooth. Season with salt and pepper.", + number: 5, + }, + { + instruction: "Place 2 tortillas each on 2 baking sheets.", + number: 6, + }, + { + instruction: + "Spread bean mixture on tortillas, and bake 5 to 7 minutes, or until edges become golden.", + number: 7, + }, + { + instruction: + "Toss slaw in bowl with cilantro and lime juice. Season with salt and pepper. Top each clayuda with slaw, and cut into triangles.", + number: 8, + }, + ], + name: "Clayudas", + tags: ["side dish"], + }, + { + id: 588893, + image: "https://spoonacular.com/recipeImages/588893-556x370.jpg", + ingredients: [ + { + id: 11457, + quantity: { + amount: 2, + unit: "handfuls", + }, + }, + { + id: 11268, + quantity: { + amount: 0.5, + unit: "oz", + }, + }, + { + id: 10020005, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 11215, + quantity: { + amount: 2, + unit: "large cloves", + }, + }, + { + id: 4053, + quantity: { + amount: 2, + unit: "tablespoon", + }, + }, + { + id: 1033, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 2047, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 1102047, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 14412, + quantity: { + amount: 5, + unit: "cups", + }, + }, + { + id: 10511282, + quantity: { + amount: 0.5, + unit: "medium", + }, + }, + ], + instructions: [ + { + instruction: + "In a medium sized pot combine the farro with the 5 cups of water and 2 teaspoons salt. Bring to a boil, then lower to a simmer and cook for about 25 minutes for semi-pearled farro and 50 minutes for whole farro. The farro is done when the grains are tender and all the water has been absorbed. Set aside.While the farro is cooking, combine the shiitake mushrooms with 1 cup of boiling water.", + number: 1, + }, + { + instruction: + "Let sit for 15 minutes or however long the package instructions say is needed to reconstitute the mushrooms. When done, remove the mushrooms from the water and chop, reserving the liquid.About 2o minutes before the farro is done warm the olive oil in a large skillet. Cook the onion, stirring frequently, for about 5 minutes or until translucent and beginning to get some color.", + number: 2, + }, + { + instruction: + "Add the garlic and crushed red pepper flakes (if using), cook 1 minute longer, until fragrant.", + number: 3, + }, + { + instruction: + "Add the chopped mushrooms, mushroom broth and a few big handfuls of baby spinach. Cook, stirring frequently, until the spinach has wilted and most of the liquid has evaporated. Season with salt and pepper to taste.Stir in the farro, mixing with a large spoon to combine well.", + number: 4, + }, + { + instruction: "Serve topped with shredded Parmesan cheese.", + number: 5, + }, + ], + name: "Farro with Shiitake Mushrooms and Baby Spinach", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 615581, + image: "https://spoonacular.com/recipeImages/615581-556x370.jpg", + ingredients: [ + { + id: 2069, + quantity: { + amount: 0.5, + unit: "tablespoon", + }, + }, + { + id: 11250, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 4582, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 20027, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 11156, + quantity: { + amount: 3, + unit: "tablespoons", + }, + }, + { + id: 11165, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 19296, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 4025, + quantity: { + amount: 5, + unit: "tablespoons", + }, + }, + { + id: 11119, + quantity: { + amount: 1, + unit: "head", + }, + }, + { + id: 4053, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 15152, + quantity: { + amount: 1, + unit: "pound", + }, + }, + { + id: 11112, + quantity: { + amount: 0.25, + unit: "head", + }, + }, + { + id: 1016168, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 98962, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + ], + instructions: [ + { + instruction: + "In a bowl, whisk together the mayo, chili sauce and sriracha, then set it aside until ready to use.Toss the shrimp with the cornstarch until evenly coated.", + number: 1, + }, + { + instruction: "Heat the canola oil in a large skillet over high heat.", + number: 2, + }, + { + instruction: + "Add the shrimp and cook until it just turns pink and opaque, about 3 minutes.", + number: 3, + }, + { + instruction: + "Transfer the shrimp to a large bowl and toss with the mayo mixture.In a separate bowl, add the cabbage and lettuce. Toss with the olive oil, vinegar and honey until well coated. Toss the cilantro in. To serve the shrimp, mix with the slaw and garnish the entire thing with chives. Enjoy!", + number: 4, + }, + ], + name: "Bang Bang Shrimp with Napa Cabbage Slaw", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 764810, + image: "https://spoonacular.com/recipeImages/764810-556x370.jpg", + ingredients: [ + { + id: 1002030, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 2003, + quantity: { + amount: 1.5, + unit: "teaspoons", + }, + }, + { + id: 2042, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 1123, + quantity: { + amount: 4, + unit: "", + }, + }, + { + id: 1002020, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 10023572, + quantity: { + amount: 2.75, + unit: "pounds", + }, + }, + { + id: 2027, + quantity: { + amount: 1, + unit: "tablespoon", + }, + }, + { + id: 1033, + quantity: { + amount: 1.5, + unit: "cups", + }, + }, + { + id: 2047, + quantity: { + amount: 1.5, + unit: "teaspoons", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat the oven to 350F.Spray baking sheets with cooking spray or spread a thin layer of olive oil over them.", + number: 1, + }, + { + instruction: + "Mix all of the ingredients together very well -- you'll need to use your hands.", + number: 2, + }, + { + instruction: + "Roll into balls the size of a golf ball, molding them firmly together without packing them.", + number: 3, + }, + { + instruction: "Place the balls on baking sheets.", + number: 4, + }, + { + instruction: + "Bake for 30 to 40 minutes, or until the center registers 160F on a meat thermometer.", + number: 5, + }, + { + instruction: "Remove from oven and use as needed.", + number: 6, + }, + ], + name: "Homemade Italian Meatballs", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 799732, + image: "https://spoonacular.com/recipeImages/799732-556x370.jpg", + ingredients: [ + { + id: 10011250, + quantity: { + amount: 4, + unit: "", + }, + }, + { + id: 11143, + quantity: { + amount: 2, + unit: "rib", + }, + }, + { + id: 5064, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 2015, + quantity: { + amount: 0.75, + unit: "teaspoon", + }, + }, + { + id: 9160, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + { + id: 1009159, + quantity: { + amount: 0.75, + unit: "teaspoon", + }, + }, + { + id: 4641, + quantity: { + amount: 0.3333333333333333, + unit: "cup", + }, + }, + { + id: 98991, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 10011282, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 2047, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 9316, + quantity: { + amount: 2, + unit: "cups", + }, + }, + ], + instructions: [ + { + instruction: + "In a large bowl, mix the first six ingredients. Stir in chicken, celery and onion. Refrigerate, covered, at least 1 hour.", + number: 1, + }, + { + instruction: "To serve, stir strawberries into chicken mixture.", + number: 2, + }, + { + instruction: "Serve over lettuce.", + number: 3, + }, + ], + name: "Curried Strawberry Chicken Salad", + tags: ["salad"], + }, + { + id: 621213, + image: "https://spoonacular.com/recipeImages/621213-556x370.jpg", + ingredients: [ + { + id: 10123, + quantity: { + amount: 14, + unit: "slices", + }, + }, + { + id: 11090, + quantity: { + amount: 4, + unit: "oz", + }, + }, + { + id: 1017, + quantity: { + amount: 3, + unit: "oz", + }, + }, + { + id: 11215, + quantity: { + amount: 2, + unit: "tsp", + }, + }, + { + id: 1022020, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + { + id: 4053, + quantity: { + amount: 1, + unit: "tbsp", + }, + }, + { + id: 11282, + quantity: { + amount: 0.5, + unit: "small", + }, + }, + { + id: 2026, + quantity: { + amount: 0.5, + unit: "tsp", + }, + }, + { + id: 10011821, + quantity: { + amount: 0.5, + unit: "", + }, + }, + { + id: 10218, + quantity: { + amount: 16, + unit: "oz", + }, + }, + { + id: 1102047, + quantity: { + amount: 4, + unit: "servings", + }, + }, + { + id: 10011457, + quantity: { + amount: 2, + unit: "oz", + }, + }, + { + id: 11529, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "Saute onion in 1 tbsp. Olive Oil for a few minutes until soft.", + number: 1, + }, + { + instruction: + "Add garlic and cook for 45-60 seconds, then add spinach. Put all the spices in there except for 1/4 tsp. of the liquid smoke, thyme, and rosemary.", + number: 2, + }, + { + instruction: + "Let wilt and then add cream cheese. Set aside.Preheat oven to 350F.Lay pork tenderloin on cutting board and cover with saran wrap, then pound with meat hammer until flat - cut the uneven sides so it goes square. Season with salt and pepper, then 1/4 tsp. liquid smoke.Make a bacon weave the same size as the pork tenderloin square.", + number: 3, + }, + { + instruction: + "Spread spinach and cream cheese all over the pork tenderloin, then lay tenderloin on top of bacon. Slice the pieces of bacon that poke out.", + number: 4, + }, + { + instruction: + "Roll it up. Season with salt and pepper and the remaining 1/4 tsp. of thyme and rosemary.", + number: 5, + }, + { + instruction: + "Add toothpicks where the bacon ends are so that it doesn't fall apart.", + number: 6, + }, + { + instruction: "Bake for 75 minutes or until thermometer reads 140F.", + number: 7, + }, + { + instruction: + "Saute broccoli, peppers, and tomatoes in the remaining fat in the bottom of the pan of the pork tenderloin while it rests.", + number: 8, + }, + ], + name: "Bacon Wrapped Stuffed Pork Tenderloin", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 611858, + image: "https://spoonacular.com/recipeImages/611858-556x370.jpg", + ingredients: [ + { + id: 18371, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 18372, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 1123, + quantity: { + amount: 1, + unit: "large", + }, + }, + { + id: 20081, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 19334, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 19157, + quantity: { + amount: 16, + unit: "", + }, + }, + { + id: 2047, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 10019903, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 1145, + quantity: { + amount: 0.3333333333333333, + unit: "cup", + }, + }, + { + id: 2050, + quantity: { + amount: 2, + unit: "teaspoons", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat oven to 350F. Line a 8x8-inch baking pan with foil and spray with non-stick cooking spray.In a medium bowl, whisk together the flour, baking powder, baking soda, and salt.In the bowl of a stand mixer fitted with the paddle attachment or in a large bowl with an electric mixer, combine the melted butter and brown sugar.", + number: 1, + }, + { + instruction: + "Add egg and vanilla, mixing until well combined. Gradually add in dry ingredients and mix until just combined. Stir in chocolate chips.", + number: 2, + }, + { + instruction: "Spread half the dough into the prepared pan.", + number: 3, + }, + { + instruction: + "Place the Rolos evenly onto the cookie dough. Using a small cookie scoop, evenly distribute the rest of the cookie dough on top of the Rolos. There is need to spread evenly over the Rolos, this will happen naturally during the baking process.", + number: 4, + }, + { + instruction: + "Bake in the preheated oven until a toothpick inserted in the center comes out clean, about 20 to 25 minutes.", + number: 5, + }, + { + instruction: + "Remove pan to wire rack and cool completely.If desired, drizzle with melted chocolate or caramel before serving.", + number: 6, + }, + ], + name: "Rolo Cookie Bars", + tags: ["side dish"], + }, + { + id: 991136, + image: "https://spoonacular.com/recipeImages/991136-556x370.jpg", + ingredients: [ + { + id: 1001, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 98871, + quantity: { + amount: 12, + unit: "", + }, + }, + { + id: 19296, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 6168, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 1002030, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 1055062, + quantity: { + amount: 1, + unit: "pound", + }, + }, + ], + instructions: [ + { + instruction: + "Place chicken in a 3-qt. slow cooker. Toss with 2 tablespoons hot sauce and pepper; cook, covered, on low until tender, 3-4 hours.", + number: 1, + }, + { + instruction: + "Remove chicken; discard cooking juices. In a small saucepan, combine butter, honey and remaining hot sauce; cook and stir over medium heat until blended. Shred chicken with two forks; stir into sauce and heat through.", + number: 2, + }, + { + instruction: + "Serve on rolls with optional ingredients as desired. Freeze option: Freeze cooled chicken mixture in freezer containers. To use, partially thaw in refrigerator overnight. Microwave, covered, on high in a microwave-safe dish until heated through, stirring occasionally and adding a little water or broth if necessary.", + number: 3, + }, + ], + name: "Buffalo Chicken Sliders", + tags: ["lunch", "main course", "main dish", "dinner"], + }, + { + id: 583738, + image: "https://spoonacular.com/recipeImages/583738-556x370.jpg", + ingredients: [ + { + id: 18372, + quantity: { + amount: 0.75, + unit: "teaspoon", + }, + }, + { + id: 19334, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 1123, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 20081, + quantity: { + amount: 1.75, + unit: "cups", + }, + }, + { + id: 16098, + quantity: { + amount: 0.75, + unit: "cup", + }, + }, + { + id: 10019151, + quantity: { + amount: 8, + unit: "oz", + }, + }, + { + id: 2047, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 1145, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 19335, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "Preheat oven to 350°F. Line two baking sheets with parchment paper.", + number: 1, + }, + { + instruction: + "Combine the flour, baking soda and salt in a medium bowl. Set aside.In the bowl of a stand mixer, beat the butter, peanut butter and sugars, until light and fluffy.", + number: 2, + }, + { + instruction: + "Add in the egg and vanilla.Gradually add in the flour mixture on low speed. Stir until dough forms. Then stir in Reese's Pieces by hand.Using a cookie dough scoop or your hands, form balls of dough with 1 heaping tablespoon of dough. Gently flatten cookie dough (to form a disk shape) and place on prepared baking sheets.", + number: 3, + }, + { + instruction: "Bake for 9 minutes and remove from oven.", + number: 4, + }, + { + instruction: + "Let cool for 5 minutes before transferring cookies to a wire rack to cool completely.Note: Cookies will not spread much at all and will look like they are not done baking. But I promise they are! Once they finish cooling, the cookie and chocolate will become firm and you will have a magically soft and crumbly cookie!", + number: 5, + }, + ], + name: "Reese's Pieces Peanut Butter Cookies", + tags: [ + "antipasti", + "starter", + "snack", + "appetizer", + "antipasto", + "hor d'oeuvre", + ], + }, + { + id: 601216, + image: "https://spoonacular.com/recipeImages/601216-556x370.jpg", + ingredients: [ + { + id: 1041009, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 10018413, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 2044, + quantity: { + amount: 3, + unit: "leaves", + }, + }, + { + id: 10111529, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 4053, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 11477, + quantity: { + amount: 1, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "Saute the zucchini in the olive oil on high heat. Season generously with salt and pepper. Stir and leave alone for a little while, so you get a little bit of texture from the browning on the zucchini.While you’re sauteing, toast the flatbread in the oven at 400 degrees.When the zucchini is soft and just slightly browned, remove from the heat. Take the flatbread out of the oven and spread the zucchini on the flatbread.Top with the fresh tomatoes, cheese, and fresh basil.", + number: 1, + }, + { + instruction: "Cut, serve, and enjoy!", + number: 2, + }, + ], + name: "Farmer’s Market Flatbread Pizza", + tags: ["side dish"], + }, + { + id: 226562, + image: "https://spoonacular.com/recipeImages/226562-556x370.jpg", + ingredients: [ + { + id: 9019, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 18079, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 16069, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 19334, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 11124, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 2009, + quantity: { + amount: 0.25, + unit: "teaspoon", + }, + }, + { + id: 9079, + quantity: { + amount: 0.3333333333333333, + unit: "cup", + }, + }, + { + id: 11165, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 11215, + quantity: { + amount: 3, + unit: "", + }, + }, + { + id: 1002014, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 2042, + quantity: { + amount: 0.5, + unit: "teaspoon", + }, + }, + { + id: 11935, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 4053, + quantity: { + amount: 2, + unit: "tablespoon", + }, + }, + { + id: 11282, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 12151, + quantity: { + amount: 0.5, + unit: "cup", + }, + }, + { + id: 11821, + quantity: { + amount: 1, + unit: "cup", + }, + }, + { + id: 1102047, + quantity: { + amount: 8, + unit: "servings", + }, + }, + { + id: 6615, + quantity: { + amount: 3, + unit: "cups", + }, + }, + ], + instructions: [ + { + instruction: + "Wash the lentils and place into a pot along with the vegetable broth. Bring to a boil, then reduce heat to medium-low and simmer, for about 40 minutes.", + number: 1, + }, + { + instruction: "Add more broth or water if necessary", + number: 2, + }, + { + instruction: "Meanwhile, warm the oil in a pan.", + number: 3, + }, + { + instruction: + "Add the onions and cook for about 4 minutes or until soft.", + number: 4, + }, + { + instruction: + "Add the carrots, bell pepper and garlic. Cook for about 3 minutes more. Set aside.When the lentils are ready mash them slightly with a potato masher or a fork.Preheat the oven to 350º F.In a large bowl, mix the onion mixture, mashed lentils, apple sauce, cranberries, pistachios, bread crumbs, cilantro, chili powder, cumin, thyme, salt and pepper.Line a loaf pan with parchment paper.", + number: 5, + }, + { + instruction: + "Transfer the mixture to the loaf pan and press mixture into the pan with a spoon.", + number: 6, + }, + { + instruction: + "Mix the glaze ingredients in a small bowl and spread evenly over the top.", + number: 7, + }, + { + instruction: "Bake for about 45 minutes.", + number: 8, + }, + { + instruction: + "Transfer the pan to a wire rack and let the loaf cool a bit. Run a table knife around the edge of the pan and turn the loaf out onto a serving plate.", + number: 9, + }, + ], + name: "Vegan Lentil Loaf", + tags: ["side dish"], + }, + { + id: 605132, + image: "https://spoonacular.com/recipeImages/605132-556x370.jpg", + ingredients: [ + { + id: 1001, + quantity: { + amount: 2, + unit: "tablespoons", + }, + }, + { + id: 20027, + quantity: { + amount: 0.25, + unit: "cup", + }, + }, + { + id: 1123, + quantity: { + amount: 1, + unit: "", + }, + }, + { + id: 1125, + quantity: { + amount: 2, + unit: "", + }, + }, + { + id: 1077, + quantity: { + amount: 2, + unit: "cups", + }, + }, + { + id: 2050, + quantity: { + amount: 1, + unit: "teaspoon", + }, + }, + { + id: 19335, + quantity: { + amount: 0.3333333333333333, + unit: "cup", + }, + }, + ], + instructions: [ + { + instruction: + "In a heavy saucepan, stir together the milk and 1/4 cup of sugar. Bring to a boil over medium heat.", + number: 1, + }, + { + instruction: + "In a medium bowl, whisk together the egg yolks and egg. Stir together the remaining sugar and cornstarch; then stir them into the egg until smooth. When the milk comes to a boil, drizzle it into the bowl in a thin stream while mixing so that you do not cook the eggs. Return the mixture to the saucepan, and slowly bring to a boil, stirring constantly so the eggs don' t curdle or scorch on the bottom.", + number: 2, + }, + { + instruction: + "When the mixture comes to a boil and thickens, remove from the heat. Stir in the butter and vanilla, mixing until the butter is completely blended in.", + number: 3, + }, + { + instruction: + "Pour into a heat-proof container and place a piece of plastic wrap directly on the surface to prevent a skin from forming. Refrigerate until chilled before using.", + number: 4, + }, + ], + name: "Pastry Cream", + tags: ["side dish"], + }, +]; + +export default recipeData; diff --git a/src/data/users.js b/src/data/users.js index fae3a16d76..4791eb9caa 100644 --- a/src/data/users.js +++ b/src/data/users.js @@ -6479,3 +6479,6 @@ const usersData = [ ] } ] + + export default usersData; + diff --git a/src/domUpdates.js b/src/domUpdates.js index ee865f0ac5..7f837dcd87 100644 --- a/src/domUpdates.js +++ b/src/domUpdates.js @@ -1,16 +1,15 @@ //NOTE: Your DOM manipulation will occur in this file //Here are 2 example functions just to demonstrate one way you can export/import between the two js files. You'll want to delete these once you get your own code going. -function exampleFunction1(person) { - console.log(`oh hi there ${person}`) -} - -function exampleFunction2(person) { - console.log(`bye now ${person}`) -} - - -export { - exampleFunction1, - exampleFunction2, -} \ No newline at end of file +// function exampleFunction1(person) { +// console.log(`oh hi there ${person}`) +// } + +// function exampleFunction2(person) { +// console.log(`bye now ${person}`) +// } + +// export { +// exampleFunction1, +// exampleFunction2, +// } diff --git a/src/scripts.js b/src/scripts.js index 34761c2893..d5cfa89e71 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -1,15 +1,36 @@ //NOTE: Data model and non-dom manipulating logic will live in this file. -import './styles.css' -import apiCalls from './apiCalls' +// import "./styles.css"; +// import apiCalls from "./apiCalls"; // An example of how you tell webpack to use an image (also need to link to it in the index.html) -import './images/turing-logo.png' -import ingredientsData from './data/ingredients.js' +// import "./images/turing-logo.png"; +// import ingredientsData from "./data/ingredients.js"; //Example of one way to import functions from the domUpdates file. You will delete these examples. -import {exampleFunction1, exampleFunction2} from './domUpdates.js' +// import { exampleFunction1, exampleFunction2 } from "./domUpdates.js"; -exampleFunction1('heather') -exampleFunction2('heather') +// exampleFunction1("heather"); +// exampleFunction2("heather"); -console.log(ingredientsData) \ No newline at end of file +// console.log(ingredientsData); + +function createFunction(array) { + return array; +} + +function returnFilteredListName(array, name) { + return array.filter((recipeEl) => { + return recipeEl.name === name; + }); +} + +function returnFilteredTag(array, tag) {} +function returnIngredientNames(array) {} +module.exports = { + createFunction, + returnFilteredListName, + returnIngredientNames, + returnFilteredTag, + returnRecipeCost, + returnRecipeDirections, +}; diff --git a/test/RecipeRepository-test.js b/test/RecipeRepository-test.js index 8c611f4047..262962af4c 100644 --- a/test/RecipeRepository-test.js +++ b/test/RecipeRepository-test.js @@ -1,8 +1,8 @@ -import { expect } from 'chai'; -import RecipeRepository from '../src/classes/RecipeRepository'; +// import { expect } from "chai"; +// import RecipeRepository from "../src/classes/RecipeRepository"; -describe('Recipe', () => { - it('Should be a function', () => { - expect(RecipeRepository).to.be.a('function'); - }); -}) \ No newline at end of file +// describe("Recipe", () => { +// it("Should be a function", () => { +// expect(RecipeRepository).to.be.a("function"); +// }); +// }); diff --git a/test/recipe-test.js b/test/recipe-test.js new file mode 100644 index 0000000000..489fcb8eef --- /dev/null +++ b/test/recipe-test.js @@ -0,0 +1,80 @@ +const chai = require("chai"); +const expect = chai.expect; + +// const { createFunction } = require("../src/scripts.js"); +import { + createFunction, + returnFilteredListName, + returnIngredientNames, + returnFilteredTag, + returnRecipeCost, + returnRecipeDirections, +} from "../src/scripts.js"; + +// const ingredientsData = require("../src/data/ingredients.js"); +import ingredientsData from "../src/data/ingredients.js"; + +import recipeData from "../src/data/recipes.js"; + +import usersData from "../src/data/users.js"; + +describe("Testing", () => { + it("Should be a function", () => { + expect(createFunction).to.be.a("function"); + }); + + it("should return an array", () => { + const result = createFunction(recipeData); + expect(result).to.be.an("array"); + }); +}); + +describe("Filtered List Based on Name", () => { + it("should return a filtered list based on a name", () => { + const result = returnFilteredListName( + recipeData, + "Loaded Chocolate Chip Pudding Cookie Cups" + ); + expect(result.length).to.equal(1); + }); +}); + +describe("Filtered List Based on Tag", () => { + it.skip("should return a filtered list based on a tag", () => { + const result = returnFilteredTag( + recipeData, + "Loaded Chocolate Chip Pudding Cookie Cups" + ); + expect(result.length).to.be.an("array"); + }); +}); + +describe("Names of Ingredients", () => { + it.skip("should determine the names of ingredients based on a recipe name", () => { + const result = returnIngredientNames( + recipeData, + "Loaded Chocolate Chip Pudding Cookie Cups" + ); + expect(result.length).to.equal(1); + }); +}); + +describe("Cost of Recipe", () => { + it.skip("should calculate the cost of a given recipe's ingredients", () => { + const result = returnRecipeCost( + recipeData, + "Loaded Chocolate Chip Pudding Cookie Cups" + ); + expect(result.length).to.equal(1); + }); +}); + +describe("Directions for Recipe", () => { + it.skip("should return the directions for a given recipe", () => { + const result = returnRecipeDirections( + recipeData, + "Loaded Chocolate Chip Pudding Cookie Cups" + ); + expect(result.length).to.equal(1); + }); +}); From e694dfbaeba0022ff09eed17f145d9f1195fd625 Mon Sep 17 00:00:00 2001 From: Patrick Eitel Date: Sun, 27 Aug 2023 09:05:22 -0700 Subject: [PATCH 02/73] remove unfinished functions, add returnFilteredTag function --- src/scripts.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/scripts.js b/src/scripts.js index d5cfa89e71..7586b3e557 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -18,14 +18,19 @@ function createFunction(array) { return array; } -function returnFilteredListName(array, name) { - return array.filter((recipeEl) => { - return recipeEl.name === name; +function returnFilteredTag(array, tag) { + const filteredRecipe = array.filter((recipeEl) => { + return recipeEl.tags.includes(tag); }); + if (filteredRecipe) { + return filteredRecipe.map((recipeEl) => { + return recipeEl.id; + }); + } else { + return []; + } } -function returnFilteredTag(array, tag) {} -function returnIngredientNames(array) {} module.exports = { createFunction, returnFilteredListName, From ce37b71ab0ad635f3b05d12a2fc312b13c7f07b9 Mon Sep 17 00:00:00 2001 From: Patrick Eitel Date: Sun, 27 Aug 2023 09:08:50 -0700 Subject: [PATCH 03/73] Add a test for the returnFilteredTag function --- src/scripts.js | 8 +++---- test/recipe-test.js | 52 +++++---------------------------------------- 2 files changed, 9 insertions(+), 51 deletions(-) diff --git a/src/scripts.js b/src/scripts.js index 7586b3e557..946d6e2ba9 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -33,9 +33,9 @@ function returnFilteredTag(array, tag) { module.exports = { createFunction, - returnFilteredListName, - returnIngredientNames, + // returnFilteredListName, + // returnIngredientNames, returnFilteredTag, - returnRecipeCost, - returnRecipeDirections, + // returnRecipeCost, + // returnRecipeDirections, }; diff --git a/test/recipe-test.js b/test/recipe-test.js index 489fcb8eef..d521aaf8ef 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -29,52 +29,10 @@ describe("Testing", () => { }); }); -describe("Filtered List Based on Name", () => { - it("should return a filtered list based on a name", () => { - const result = returnFilteredListName( - recipeData, - "Loaded Chocolate Chip Pudding Cookie Cups" - ); - expect(result.length).to.equal(1); - }); -}); - describe("Filtered List Based on Tag", () => { - it.skip("should return a filtered list based on a tag", () => { - const result = returnFilteredTag( - recipeData, - "Loaded Chocolate Chip Pudding Cookie Cups" - ); - expect(result.length).to.be.an("array"); + it("should return a filtered list based on a tag", () => { + const result = returnFilteredTag(recipeData, "starter"); + console.log(result); + expect(result.length).to.equal(9); }); -}); - -describe("Names of Ingredients", () => { - it.skip("should determine the names of ingredients based on a recipe name", () => { - const result = returnIngredientNames( - recipeData, - "Loaded Chocolate Chip Pudding Cookie Cups" - ); - expect(result.length).to.equal(1); - }); -}); - -describe("Cost of Recipe", () => { - it.skip("should calculate the cost of a given recipe's ingredients", () => { - const result = returnRecipeCost( - recipeData, - "Loaded Chocolate Chip Pudding Cookie Cups" - ); - expect(result.length).to.equal(1); - }); -}); - -describe("Directions for Recipe", () => { - it.skip("should return the directions for a given recipe", () => { - const result = returnRecipeDirections( - recipeData, - "Loaded Chocolate Chip Pudding Cookie Cups" - ); - expect(result.length).to.equal(1); - }); -}); +}); \ No newline at end of file From 63f195292624136dbd18a97b07b7e0379ddc1651 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Sun, 27 Aug 2023 09:22:15 -0700 Subject: [PATCH 04/73] Add returnRecipeCost function --- src/scripts.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/scripts.js b/src/scripts.js index 946d6e2ba9..1b0208fdcb 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -31,11 +31,34 @@ function returnFilteredTag(array, tag) { } } +function returnRecipeCost(arrayRecipe, arrayIngredients, recipeID) { + const filteredRecipe = arrayRecipe.find((recipeEl) => { + return recipeEl.id === recipeID; + }); + if (filteredRecipe) { + const ingredientsArr = filteredRecipe.ingredients; + let totalCost = 0; + + ingredientsArr.forEach((ingredientEl) => { + const matchingIngredient = arrayIngredients.find((ingredientsObjEl) => { + return ingredientEl.id === ingredientsObjEl.id; + }); + if (matchingIngredient) { + totalCost += + (ingredientEl.quantity.amount * + matchingIngredient.estimatedCostInCents) / + 100; + } + }); + return totalCost; + } +} + module.exports = { createFunction, // returnFilteredListName, // returnIngredientNames, returnFilteredTag, - // returnRecipeCost, + returnRecipeCost, // returnRecipeDirections, }; From f87431bbca13b3bd462ead2d7a0ebec74366445c Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Sun, 27 Aug 2023 09:22:57 -0700 Subject: [PATCH 05/73] Add returnRecipeCost test --- test/recipe-test.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/recipe-test.js b/test/recipe-test.js index d521aaf8ef..9b445f843d 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -35,4 +35,11 @@ describe("Filtered List Based on Tag", () => { console.log(result); expect(result.length).to.equal(9); }); +}); + +describe("Cost of Recipe", () => { + it("should calculate the cost of a given recipe's ingredients", () => { + const result = returnRecipeCost(recipeData, ingredientsData, 595736); + expect(result).to.equal(177.76000000000002); + }); }); \ No newline at end of file From 3e4bbb849e4638ba7688121ee89c73d15ef6aec4 Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Sun, 27 Aug 2023 09:32:39 -0700 Subject: [PATCH 06/73] add the function and test for the names of the recipes --- src/scripts.js | 20 +++++++++++++++++++- test/recipe-test.js | 12 +++++++++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/scripts.js b/src/scripts.js index 1b0208fdcb..20fb0de0d6 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -54,10 +54,28 @@ function returnRecipeCost(arrayRecipe, arrayIngredients, recipeID) { } } +function returnIngredientNames(arrayRecipe, arrayIngredients, recipeID) { + const filteredRecipe = arrayRecipe.find((recipeEl) => { + return recipeEl.id === recipeID; + }); + if (filteredRecipe) { + const ingredientsArr = filteredRecipe.ingredients; + return ingredientsArr.map((ingredientEl) => { + const matchingIngredient = arrayIngredients.find((ingredientsObjEl) => { + return ingredientEl.id === ingredientsObjEl.id; + }); + if (matchingIngredient) { + return matchingIngredient.name; + } + }); + } + return []; +} + module.exports = { createFunction, // returnFilteredListName, - // returnIngredientNames, + returnIngredientNames, returnFilteredTag, returnRecipeCost, // returnRecipeDirections, diff --git a/test/recipe-test.js b/test/recipe-test.js index 9b445f843d..93bfc3a278 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -42,4 +42,14 @@ describe("Cost of Recipe", () => { const result = returnRecipeCost(recipeData, ingredientsData, 595736); expect(result).to.equal(177.76000000000002); }); -}); \ No newline at end of file +}); + +describe("Filtered List Based on Name", () => { + it("should return a filtered list based on a name", () => { + const result = returnFilteredListName( + recipeData, + "Loaded Chocolate Chip Pudding Cookie Cups" + ); + expect(result.length).to.equal(1); + }); +}); From b0a954d7e2efa2c0458dbd9be629201cfffb462c Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Sun, 27 Aug 2023 09:33:59 -0700 Subject: [PATCH 07/73] add the function and test for the recipe directions --- src/scripts.js | 14 +++++++++++++- test/recipe-test.js | 8 ++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/scripts.js b/src/scripts.js index 20fb0de0d6..4a0661923b 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -71,12 +71,24 @@ function returnIngredientNames(arrayRecipe, arrayIngredients, recipeID) { } return []; } +function returnRecipeDirections(array, recipeID) { + const filteredRecipe = array.find((recipeEl) => { + return recipeEl.id === recipeID; + }); + if (filteredRecipe) { + return filteredRecipe.instructions.map((instructionsObj) => { + return instructionsObj.instruction; + }); + } else { + return []; + } +} module.exports = { createFunction, // returnFilteredListName, returnIngredientNames, returnFilteredTag, returnRecipeCost, - // returnRecipeDirections, + returnRecipeDirections, }; diff --git a/test/recipe-test.js b/test/recipe-test.js index 93bfc3a278..8ca7ef169d 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -53,3 +53,11 @@ describe("Filtered List Based on Name", () => { expect(result.length).to.equal(1); }); }); + +describe("Directions for Recipe", () => { + it("should return the directions for a given recipe", () => { + const result = returnRecipeDirections(recipeData, 595736); + console.log(result); + expect(result.length).to.equal(6); + }); +}); From cdf9656192a761bafd3acf8ad5babe0f12382c9f Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Sun, 27 Aug 2023 09:37:45 -0700 Subject: [PATCH 08/73] add the function and test for filtering list names --- src/scripts.js | 12 +++++++++++- test/recipe-test.js | 12 ++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/scripts.js b/src/scripts.js index 4a0661923b..550f727419 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -84,9 +84,19 @@ function returnRecipeDirections(array, recipeID) { return []; } } + +function returnFilteredListName(array, name) { + return array + .filter((recipeEl) => { + return recipeEl.name === name; + }) + .map((filteredRecipeEl) => { + return filteredRecipeEl.id; + }); +} module.exports = { createFunction, - // returnFilteredListName, + returnFilteredListName, returnIngredientNames, returnFilteredTag, returnRecipeCost, diff --git a/test/recipe-test.js b/test/recipe-test.js index 8ca7ef169d..4ce58941eb 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -32,7 +32,6 @@ describe("Testing", () => { describe("Filtered List Based on Tag", () => { it("should return a filtered list based on a tag", () => { const result = returnFilteredTag(recipeData, "starter"); - console.log(result); expect(result.length).to.equal(9); }); }); @@ -57,7 +56,16 @@ describe("Filtered List Based on Name", () => { describe("Directions for Recipe", () => { it("should return the directions for a given recipe", () => { const result = returnRecipeDirections(recipeData, 595736); - console.log(result); expect(result.length).to.equal(6); }); }); + +describe("Filtered List Based on Name", () => { + it("should return a filtered list based on a name", () => { + const result = returnFilteredListName( + recipeData, + "Loaded Chocolate Chip Pudding Cookie Cups" + ); + expect(result.length).to.equal(1); + }); +}); From d2a8d5c6d312ac7263fade3d1402b75c7ecb3ed6 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Sun, 27 Aug 2023 10:54:17 -0700 Subject: [PATCH 09/73] Add basic HTML and CSS --- dist/bundle.js | 2 +- dist/index.html | 58 ++++++++++++++++++++++++++++++++++++++++++++++--- src/styles.css | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+), 4 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index 66bfcbdd3b..29d4e00234 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -2,7 +2,7 @@ /******/ (() => { // webpackBootstrap var __webpack_exports__ = {}; - alert('hello') + // alert('hello') /******/ })() ; \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 630ecfc1c1..10e9c3f50e 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,11 +1,63 @@ - - Whats Cookin + + + + + + + What's Cookin'? -

Whats Cookin

+
+
+

What's Cookin'

+
+ +
+
+ recipe-img + +
+
+ recipe-img + +
+
+ recipe-img + +
+
+ recipe-img + +
+ +
+
diff --git a/src/styles.css b/src/styles.css index 2c4cbd7128..ffa6089783 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,3 +1,59 @@ +* { + border: 2px solid green; + margin: 0; + padding: 0; +} + body { background-color: blueviolet; + +} + +main { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 15px; +} + +h1 { + display: flex; + align-items: center; + justify-content: center; +} + + +.nav { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 20px; +} + +.recipes { + display: flex; + flex-wrap: wrap; + gap: 15px; +} + +.recipe-card{ + display: flex; + flex-direction: column; + +} + +img { + height: 150px; + width: 150px; +} + +.view-saved{ + height: 50px; + width: 200px; +} + +button:hover{ +cursor: pointer; } \ No newline at end of file From 16cb4aae6e8418934078fcca1907ab4b051cf27d Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Sun, 27 Aug 2023 11:50:39 -0700 Subject: [PATCH 10/73] display the recipes --- index.html | 0 src/domUpdates.js | 25 +++++++++++++++++++++++++ src/scripts.js | 2 ++ 3 files changed, 27 insertions(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/domUpdates.js b/src/domUpdates.js index 7f837dcd87..b04eadb933 100644 --- a/src/domUpdates.js +++ b/src/domUpdates.js @@ -13,3 +13,28 @@ // exampleFunction1, // exampleFunction2, // } + +import recipeData from "../src/data/recipes.js"; + +const recipeDisplay = document.querySelector(".recipes"); + +document.addEventListener("DOMContentLoaded", (event) => { + displayRecipes(); +}); + +function displayRecipes() { + let recipeHTML = ""; + recipeData.forEach((recipeEl) => { + recipeHTML += `
+ recipe-img + +
`; + }); + recipeDisplay.innerHTML = recipeHTML; +} + +export { displayRecipes }; diff --git a/src/scripts.js b/src/scripts.js index 550f727419..56b6026020 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -13,6 +13,8 @@ // exampleFunction2("heather"); // console.log(ingredientsData); +import "./styles.css"; +import "./domUpdates.js"; function createFunction(array) { return array; From 9a8c3de5abed7af549640b7b342cefe842e7b682 Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Sun, 27 Aug 2023 14:45:52 -0700 Subject: [PATCH 11/73] just experimenting. things are breaking here --- dist/index.html | 39 ++++++++++++++++- src/domUpdates.js | 29 ++++++++++++- src/styles.css | 102 +++++++++++++++++++++++++++++++++++--------- test/recipe-test.js | 7 +++ 4 files changed, 154 insertions(+), 23 deletions(-) diff --git a/dist/index.html b/dist/index.html index 10e9c3f50e..5bb42b7f96 100644 --- a/dist/index.html +++ b/dist/index.html @@ -18,9 +18,9 @@

What's Cookin'

+ + + diff --git a/src/domUpdates.js b/src/domUpdates.js index b04eadb933..555e052f8c 100644 --- a/src/domUpdates.js +++ b/src/domUpdates.js @@ -13,15 +13,42 @@ // exampleFunction1, // exampleFunction2, // } +import { + createFunction, + returnFilteredListName, + returnIngredientNames, + returnFilteredTag, + returnRecipeCost, + returnRecipeDirections, +} from "../src/scripts.js"; + +import ingredientsData from "../src/data/ingredients.js"; import recipeData from "../src/data/recipes.js"; +import usersData from "../src/data/users.js"; + const recipeDisplay = document.querySelector(".recipes"); +const modal = document.querySelector(".modal"); + document.addEventListener("DOMContentLoaded", (event) => { + console.log("dom loaded"); displayRecipes(); }); +recipeDisplay.addEventListener("click", () => { + getRecipeClicked(); + const idClicked = displayRecipes(); + returnRecipeDirections(recipeData, idClicked); +}); + +function getRecipeClicked() { + recipeDisplay.addEventListener("click", (event) => { + return event.target.id; + }); +} + function displayRecipes() { let recipeHTML = ""; recipeData.forEach((recipeEl) => { @@ -37,4 +64,4 @@ function displayRecipes() { recipeDisplay.innerHTML = recipeHTML; } -export { displayRecipes }; +export { displayRecipes, getRecipeClicked }; diff --git a/src/styles.css b/src/styles.css index ffa6089783..d9fd8b08f5 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,12 +1,11 @@ * { border: 2px solid green; - margin: 0; - padding: 0; + margin: 0; + padding: 0; } body { background-color: blueviolet; - } main { @@ -14,46 +13,109 @@ main { flex-direction: column; justify-content: center; align-items: center; - gap: 15px; + gap: 15px; } h1 { display: flex; align-items: center; - justify-content: center; + justify-content: center; } - .nav { display: flex; - flex-direction: column; + flex-direction: column; justify-content: center; - align-items: center; - gap: 20px; + align-items: center; + gap: 20px; } .recipes { display: flex; - flex-wrap: wrap; - gap: 15px; + flex-wrap: wrap; + gap: 15px; } -.recipe-card{ +.recipe-card { display: flex; - flex-direction: column; - + flex-direction: column; } img { height: 150px; - width: 150px; + width: 150px; } -.view-saved{ +.view-saved { height: 50px; - width: 200px; + width: 200px; +} + +button:hover { + cursor: pointer; +} + +.modal-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(73, 166, 233, 0.5); + display: grid; + place-items: center; + visibility: hidden; + z-index: -10; } -button:hover{ -cursor: pointer; -} \ No newline at end of file +.open-modal { + visibility: visible; + z-index: 10; +} +.modal-container { + background-image: linear-gradient( + rgba(15, 15, 15, 0.2), + rgba(15, 15, 15, 0.6) + ), + url(https://spoonacular.com/recipeImages/595736-556x370.jpg); + background-size: cover; + color: white; + width: 90vw; + opacity: 0.95; + height: 60vh; + text-align: center; + display: grid; + place-items: center; + position: relative; +} + +.close-btn { + position: absolute; + top: 1rem; + right: 1rem; + font-size: 2rem; + background: none; + border: none; + cursor: pointer; + height: 50px; + width: 50px; +} +.close-btn:hover { + transform: scale(1.3); +} + +.modal-container { + display: flex; + justify-content: space-between; +} + +.modal-title-directions { + display: flex; + flex-direction: column; + gap: 20px; +} + +.modal-tags { + display: flex; + flex-direction: column; +} diff --git a/test/recipe-test.js b/test/recipe-test.js index 4ce58941eb..cd562eeac9 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -69,3 +69,10 @@ describe("Filtered List Based on Name", () => { expect(result.length).to.equal(1); }); }); + +describe("Names of Ingredients", () => { + it("should determine the names of ingredients based on a recipe name", () => { + const result = returnIngredientNames(recipeData, ingredientsData, 595736); + expect(result.length).to.equal(11); + }); +}); From 0624d6f78e5cc7d556fb9ddb4db363645faceda7 Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Sun, 27 Aug 2023 22:37:52 -0700 Subject: [PATCH 12/73] filtering by tags, and opening modal --- dist/index.html | 15 +++--- src/domUpdates.js | 113 +++++++++++++++++++++++++++++++++++++++------- src/scripts.js | 67 +++++++++++++++++++++++++-- src/styles.css | 42 ++++++++++++++++- 4 files changed, 208 insertions(+), 29 deletions(-) diff --git a/dist/index.html b/dist/index.html index 5bb42b7f96..243d594e6c 100644 --- a/dist/index.html +++ b/dist/index.html @@ -61,27 +61,29 @@

What's Cookin'

+ + +
+
+

What's Cookin'

+
+ +
+
+ recipe-img + +
+
+ recipe-img + +
+
+ recipe-img + +
+
+ recipe-img + +
+ +
+ + + +
+ diff --git a/src/domUpdates.js b/src/domUpdates.js index c53ebd430d..836075ae1a 100644 --- a/src/domUpdates.js +++ b/src/domUpdates.js @@ -54,7 +54,7 @@ const inputIngredient = document.querySelector(".input-ingredient"); //ON PAGE LOAD document.addEventListener("DOMContentLoaded", (event) => { displayRecipes(recipeData); - displayTags(); + displayTags(recipeData); }); function displayRecipes(array) { @@ -67,14 +67,14 @@ function displayRecipes(array) { alt="recipe-img" id=${recipeEl.id} /> - + `; }); recipeDisplay.innerHTML = recipeHTML; } -function displayTags() { - const tagsArray = returnListOfUniqueTags(recipeData); +function displayTags(array) { + const tagsArray = returnListOfUniqueTags(array); let tagsHtml = ""; tagsArray.forEach((tagEl) => { tagsHtml += ` @@ -129,7 +129,7 @@ inputIngredient.addEventListener("keydown", (event) => { // // `; // }); -// +// // recipeDisplay.innerHTML = recipeHTML; // } //CLICKING A TAG ELEMENT @@ -196,4 +196,4 @@ closeBtn.addEventListener("click", function () { modalOverlay.classList.remove("open-modal"); }); -export { displayRecipes }; \ No newline at end of file +export { displayRecipes }; From ba06ba24affe147e443076c064e130fab944878d Mon Sep 17 00:00:00 2001 From: Patrick Eitel Date: Mon, 28 Aug 2023 17:02:10 -0700 Subject: [PATCH 16/73] add 2 periods to the name search field --- dist/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/index.html b/dist/index.html index 9d76691a3f..a53f17ec68 100644 --- a/dist/index.html +++ b/dist/index.html @@ -19,7 +19,7 @@

What's Cookin'

diff --git a/src/domUpdates.js b/src/domUpdates.js index db140a9fd0..e879fad38f 100644 --- a/src/domUpdates.js +++ b/src/domUpdates.js @@ -22,7 +22,7 @@ export function displayTags(array) { const tagsArray = returnListOfUniqueTags(array); let tagsHtml = ""; tagsArray.forEach((tagEl) => { - tagsHtml += `

${tagEl}

+ tagsHtml += `

${tagEl}

`; }); tagButtons.innerHTML = tagsHtml; diff --git a/src/images/antipasti.png b/src/images/antipasti.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ee8dcbc0dbf9a6d85b6c145f71c5542745ba37 GIT binary patch literal 10267 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 literal 0 HcmV?d00001 diff --git a/src/images/antipasto.png b/src/images/antipasto.png new file mode 100644 index 0000000000000000000000000000000000000000..191ffe37346a9a6c9d07387333d6005f0ae57ca2 GIT binary patch literal 8416 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 x7bmXRit0NZz;2QM%*FO*`UHPA0-Dr_O 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 literal 0 HcmV?d00001 diff --git a/src/images/hor d'oeuvre.png b/src/images/hor d'oeuvre.png new file mode 100644 index 0000000000000000000000000000000000000000..20bb89d17190ecad6474fac3255173448ba1f4d1 GIT binary patch literal 10329 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 literal 0 HcmV?d00001 diff --git a/src/images/lunch.png b/src/images/lunch.png new file mode 100644 index 0000000000000000000000000000000000000000..196e19e4610965f2a8f12856d25cbe3e520d731b GIT binary patch literal 7491 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 N002ovPDHLkV1l43PCftt literal 0 HcmV?d00001 diff --git a/src/images/main course.png b/src/images/main course.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d6cf60ffab7abbf4509f46082e806ee44803ae GIT binary patch literal 8285 zcmai4Fs{KwY+3v|$b-F-7n??1wDSAOq>goH)- zzd%OH&V?W$(c-Ge%jo&%9_IxnF&PH`mFo5S{Bs^;W0AgzT|aB6(%ZnS8VqH$kqy^C$MN`?sYN#!8xdv%QKkn%pz(bKn{Ew4P5yOTM&1qJ18m>r6U zEAhMxU(bn9@^YpH9c%gz!4%(PWAIjWq6dG2A8Q@~#!QKDk<=qA=L$}qjWTL^D8A_J zg!}rjoP_@0&yP}(ZvzN9*N}1SPZcHu*eLx;`FtkMS`1I2N-sot-53TT0HMz}3hp=H zQRpqb@4timNq*HoKzTMA{nymc7{;wpXj>77l)`C~uSDm>6y?;48-m@{bgR`%yZa zeC~ErnhfNweZk9n#Ijzj?;G@aM=_u&=z@!nv2wMrutcPh};TCk6};{@q(oFIi1O(h|dIrJ4e7;W=rytQ!_)Dy1;{gA0yD zjD1*Umk2|e2No7@x@vXyuI!31;8UoJSY{9aUQgld4q#h^*jY?78{Y4q9;cl?-;mhS zrhfb@X){mh~@3K6)Jf2R`iR=0(0 zsx96(g1XEFMifX5;|mpKm{b+3hE?%6*HQ3x{8bOCU%3E?KWjt_Gn(Rbuw2SZ&0@0a?t++$D*; z5?MPV1*lF){VbR1uMaG_!1JSb!N>bny7eN34jT;LtsGX#?!)VsM(i<++??lkT(-Lp z@-IXVG7Au@akL1`K|Yg;dV8{pnGg5(2=VBMPd^H^ThV^&+cVkgn|JlLz}ZbijZv8s zN%vvL!d(_^2oUECB_1{%rlnmif(w?^^_w3Z2J<{}*`LI&=~;(i+_STQQb|^t1SU@Z zTl!~){Fq-!ndFd|m>ipVv9q`B?aTGDTP;b(n9CeR*SNC4)AYWNMv{PTCTnN%Nl~P4 zzP}u@9I?x^g+W@Q%+o_TZGt;?*{ybRv1xeQ%Zky&pm&TSyrnT){=Gv|Vgbl#**sZf zv#j_NgR|;jhL|CvanS^z98DK+_&bv_e-b{=w+25^^)8gzxI#ac?@xQvc?u~i-Ve^1 zQUr`cMxcW%0P6o4yfA|YM|my}i~C^fChAFb@1yW4x*y_r!Xr*sxcVGNs5#h#d- zRwc}?8p?{iR1{FoLh}Y1xP`yS;l~SIxuWoc6F4GD1x({h_lj8FhTl-5ilbW1H3Sv^ zECGKqF58Zm0RI!ahAT+_h_u^b&npW?`vqe*jfAEjv^L|J_+vAj}q~{xLysyib9D}Fzn%li{L0~ zN7D?{wy5}Lo!o(`R4_i_zi1b_$2H*42c8Rp@b81@=ItIfq{oUsj2y$QOVjY(6x_*U zY`T)&wfSKy8{LTqI1xY9SIWbLDi!vmqTYm%!-+jjd5 z?qAO(Xg0eHMrfin$?Vr>jVYN<5GsTQ+(|+Q-g>Y&^*UqrH&ZKs-Amz6XMBv>riH)0 z*^bjz<`PT7j>rVActAqInJNIFEdJbmxVgOYU=kv7K9Z{uBL)%=thzpAgZnG?Eq@2c zK-1upayfzh+~(>iFj@K_4+nBVHmfQIjTAb;h1%tmFBAS_qcQ7zfmqd06LKfc9TJWR zK;`o1x*)2?K#R@Az6tuRdfAL#%=;O07Dr$C@kr|1@o7iCEO0XmynR} z-kF4}#C$nCX&OzTPn30kyhI;IZp{bHD=%#23pG(C%LwY?DWx+Kx0t?Xu(pwIsoTgh zXp9o5am1ateCX)PX8t!OVaODxWuMle4<=NMcpyj8p(Zt_G`W+AH-=^6Ct;Iy5ahkm z$aoeXnJ}~QatSO`%-N73nT4#AyuIzq=(yha^ZsA`de^KM>f|GBDY>WHTHqwbpK&m0 zPdde$0IrNY9}BG*R#VAcBKhZc-^x!6BTh)<*s1N^jS%s|1Rr8jnA2q3n9>y;?Mp!g zwp~5vtoAggF3OaSwG|l){d6i-!7OYCB(lI@+coT+_Xi(xWHh=wGc7=_7r+&xKgwV&;#LJn^w__BOp{TD< z2tN;d&sR2Nl-4w{m}R}TNZ(VGIYk8-^Pvhz4qrazgx+ZJ1f;TBZ=Xpcg!khn9@aXS zjx8+s7mUq9>W;EZ;b$+hM&TohdmQw@m*AH=lF~4q1Uv7?B&J_)LQ-*G?^sqI`s^Ss z>YfKDa;)pIxyBI|x78x`{`LNS@8#rl73bn5OLS{@sd}!?zO6j1b9G%_w4HI+1sj?x zDHps2YXK2ak-#=>nwPEhRk+>Rn$&t-zlu1!v$mX7{ya2DQQc$*?Lr4slQ+)WcpS`(biJPsN#liN3Ou08f7?P_9T`1*5>^iF3HA zk02x8E2+)oLGg!I=}esjMc80&vM){K+PmakWIbYvl1=R+GB-%m;H>6nMMqv0RVgQT z4bO1HOP)JGqQXySR}*?rb*u&VIAI?JB?BWPabIL{CW%Fm5P}f}_d&>^WbEq!z2j(C z|CYxaiRU^!LsO2&4IgyI`Y=q*wB8r{zY;*J2>YH&ri*nG2B|zF{WNv2FwJbu1X^casK?msaAGd->?Hv9s z6Zp^FQIfWJzBF~lxz3a@nU}?QefjYidyhiPKIZv>X1(@iE$O9A2%cd&HsT)g-bA395@^-}dvFZ{X0rob7u+4a%P&x0w z=d)Y6J$tPJf?1);1Ofsi?Qo&)>XuQa1g0JX<31A;o3hYIMLtbtvg+{a^;B0-}R6_uFvp{S+u*%JN=K@`X-TfOD2)FPGXKwEl-qY=8F0V>R>H14g|1g=EM#+F2RN-Z)tW;iL43SyibFf1lDCqRa^=Ev-CB zi#aVCB1nSTDq8_Xy&ZTi=xNFB26!HXAi*4(j}VnMJYm*10FT2IrU5v(gc^+*kbsgz zgVTcbM4Msk~GrO(&#_I#FedA+sD$B6$8cGlp!CW zS{SzsA0ySG6l@LYDKU}BZ-fv2m7k^mmCC2j=#0>NA=As z_)rTN#3_+6^2Chl zZ1jW|0?m&|N0z$wZE6tymk^xqxM5V#nZ1FNMTSHx4)6QN27e0gMCn$nax-YW>90QI z-(BC8vMdqwE({sOCD$#zpEp@cJ2^0*nS1QjJ!=zP72pDyqt>1C(i&GYP@nvCEG7RZ zgZADQ!78fHCyVCCK@f3a36b&JO`2x`$`}59PCc*YzCi`|Gr#0!Q`7@&ds33#h|oK! zALp;&p~Ll#IcGp#h@fZxDMQIrP2ZUUtCw3uYd56~&7F(LIjViG(!PIm37lDerhDm~ z_*H3!BO6cXsPy8cp;oiFAO>O{Ov3to+S$s~UlJvdvBehc&q(M|=#OF;Cyp@kEbl0@ zr36C}#DFvWBStolQ%N16b21f}U5tuOxgfHYNf_-gd9@ekSj~LnH7Y+$jz*^3Y|J3% zvK3ufz}}VYd4?P2-9~0nIC69>%@HS~BhMa8lU4bSmY1&TV4<-guR;*AglbN5+ZYO76K>`cWa9=3`sl_&oNrU9)1MOAiJIx! z(sNPoOB#+AMwvp%?hSM=-^u>@X`?Lx8nP(8&n-M%yj>v2Vz6r9K`Y<9=RrEsVVdcj zo!CqriP4q^9@o)#PAS~{gLRn+TIx1CtuY+)!X@g+^B)2jfY{PR=Z!?h)QKtVMep9D zc_sWJfjXO2f-S;u;?0DAHK&#yvx(8HNO5s|mJ5>~w&Q~2NR!%b>DuK>Q1NN$VpBXm zxcyW%k?ySF5sESP6to9y3-UOgbSRsrw^&?i7mxp*_1R+=ECgM~wrU;*k1(-<1{JQq zhD{U(e;VU#O}R!`9x|GW)znLwioOHYkn!YoyUbm$GkzF&kS?}7W<>ZiP25A`w= z_kN3g@4`-kUe)Tg`iE|LQ1C>Nmo3Jp{>7q3srU`X!2Z_c@mN#2z0Q3Uw}<$c&J zLG%MHKBESbOrVKTK5W4T-b~&_SW)@k)xz$Q&fH7|(!H(XqEg$4-zsGqg`vRmP%6>8 z4X(ypwr@Wc7*1hny_hz7mOrhOVM^N6`{x4fLzc1|a~b%q9o8C->=i2`OlS_)VcC#9 zq6I=xk>0Q0i`WcCe!|rqU|msYzx;~s6_vS>zpuaR`&rRXg|W9mM~0gE1Hl*YFBz#& z1yoyygLu!>Uj3S587fbQknLfhh-VZ24r9%|WA;#~ul?JC{kc0vPcP!zjg6z-y0L#D&Ea`MMwFE)-6#A~Za^=3f)i~g z^HRYiB_miQP)fjZvAgj|?8Ifg+6C%c^f=%j*gLi)G^;yq)A8An7NxTT|#tX|s!ul$WNQhKn5Lpb2#Hj6(l zLKPpCcjVX(dX6&Id2vQ>NO>Yf z3iaGVAeH^4DcR&njw!h-a|YUEx6ZrEDq0^oUNK6+r7~2zQV};c8-c=D2gsTJxRkGQ z`%(m@j^32N(_u_LJR!KPG1h^b5KT=om*!1^`2>MFX&2+o=3NE`GwUJsC7jWjp9uRQu*2sgYW^}OQFI|5pOB1`#idPTNV`b zgvG)}BRzfQu$SBECxiGG;C`4Wno3>xKd^Mxv*fM^U-UrJoV(n8E1C)R%rEis$aSPb5Gay|O zSfF9DoEx+Smj)P@Qm;@p9Z^m9yd7j4D%s!oi^Bh584nn*@PwI7C5^LYlru4QzU@#c zu$0p{kc0r_~lqz96mSo8?1Eq+URZ}FXXV)?k+n8%k+V@~!bN6p~8epjN4^nYPn zJbazN;9}nre&|k~*TM?!Y2p`SNTv3v?GKlKhT^lcy)oPyfWVLAOdGeNYOAXD-3?Z`X~rm*X_XM_R6W3|4vMW;dNikhEz$o#Oit z!PEC|;dSWat<8JTPVkb+B}niJLWGOvw+vs#%==;Z1WrwmSyP+pPLJ4vDXagG7gHU` zo_=-0CX+3WVsIMqw?0;U3AnK}74V{}UkOGb91}&_PktqcRn@A(Oo&3HDSlt;Gf}(b zkZZ{-qTUS9{C3lMn9JInM>8-=To|l;i?#=VE!pb%0c?R2H1cAhD90I%#A!Z<6bU~m zVr2BQ95l`kpSkxohD60a^*i=X{Z}8PDsloJJ}a3F+j|Oaeq8Z*s=qHO=!$cDvkGv! zHMez>ZLVVff{$@3aULrMBSHPpnwEY>KRxNausp)!Om*oa~oyW;FJV0EgG4Yu@+olA|<@*7Bj38I^~F| zM2q`=(q5zT0l!}N2!RV?L$hv3sr^9u7dSTa`|TB_>W3jb^v z%-DEQ77WAl}m-4Q)yxFR%&pu>l zvNl&z6-LPL5j?c3b1dOjHmx#qj*xiJMI`5%X+D+SUB;sT%Ahcg$)3!2&v{boMP;J4 zizIBAMY=@Zm*J+=H)-?jg$PWh|(nF_G9` zV7VE-)R8;l5r^5msK@m>ztcA z6O^J^w5n9Nx4yDR&%a0eY+8%Kv`!7J!j-ucYfTaRWWZReiP^Qg&V8OIygK?h71r)_ zW4ddQ!6vbtU-`Y5oP(*%-F{}vKH2?a0QJ}L)gbM;`<%)$XldV3++~q;UIIRq-8xD4diyw36UI z8EnJlE$UovDfQe%Q1~u_!HaIAi}19g+&@pFcXcQJ5WV5n%f6y1N4v_ex1yt{KR5thqZ zvslmXW83$!@C11s_!Q~eYvHO$C(0g8Og|)eCb0XUP)#G~CqvhYr7=-aMS6CeCbd778C*4?es8^61Pc04F{VjkoW(gMB!! zN}-&&uD_0UbZKy`flD1t;zK9dJ#RuXmkAN6hj}cP=o)_GS}Q1H3c0mk|Jh5k$384h z4DF(gM>SO$D(l!M4#X_4pU-1A{m$r<)P4v?QU(_H)ZxpXdbFW@)ApaV(M$MqO>GAD z@$r<^RqEPRVJ)2lCW&NOXIIb7)TQG6nET@x!7)uZ62Z>f_$Qc9y3|z-6gKaS##1RW ztVwcQC+kFX`6C0Ubzv%)US#Wq?xeMORIE8GmdhL_?`VdDg`pgeDs;dwjI!041V?R7 zjI3B*+P{zNE<~mw)F(}o){|T(2qj##&XC(kT7684s|&kfy$ZnY=5cAT9YpHJgDt5! zl7@I9l1+ar#y%Jlcb^7KYf%zlxYZ!0!5GRZg_8rbLHnu)elXo5oz&>>F#R>n=XF6U z2$mJ$C^YWBnFF_V?^S-6q4o*46y6HYVARF#A$KIL&l+J2+Jad^Y~{exNii z6mwiy=2AiV64idsX}S~4n`!|K?bt@fO^KL74I6U;w?oHPwE5;h2F zb^FNgwxmI};Tv{K$Sl$nNv60rv_yY#_Jr54Ze&}ln>5v=g~}$m8lHI167@&q0fb7f zVZ+zZ{$XI$wcF>HJ*XhaafCHUO+xO5+HCh6 z-KtQ*Mr%V(uQ=x;x!Ow+8wh=q+1(hK?b`k$?4lPrm^If5N5*q(tDxpmD+tX9z)af# zur|DBN^?YH|7QXROmyemv(%kfO!h5`IK#xikY8qC=!?9gUH1nBHN^b`%7wpPx{+Gg zPZnQ(9d`GhQ%9XQ1^=E>+i+Rrq+nsWYj6fEy;rF@GHG8(9^jXd_vXFXXEdXILk2BKGMg;G zvhf0@VuAxPUSzQ2ipwq>uVt1p<+xH#j7^n^G1!h1g28cs*rdQ9%LoKQ2rUL_KoX;U z_IdN(>-8?@{PM@S-F>^?8^O%~&Kfe$cLUDRFr5SB zETeOPoMm(lkh6@=0dkhnIY7=bItR#EM&|%I%jg^+XBnLXL!Zmq|MG zu`Y?6(w+Z521M84s|PP2esG#Ejv4_qh>-!aPmSl#N^;g$drQq5ZfK8rqvvx1Lp*#y zPEmrNjnw66mLRpsQ^x8!17zqi-uI=<<4XdmeZe(092c>ttp49!!#r81jY|`Jw?W=% zp?ON)Y2uPDnssq$8+zN_2CmbAJVlchK5IjkLbnZRn|$>sJAdv!GkMvK;2c-K4X+jL&nr%~g`-3VG5YX*5V%DbVvNPc6^xBBCcKj|7HcJ3k0JsY~S!p{BK$M;y zeD2Tx2z5D0yFv5#QIckpw6RQkb(yT&rn|g^!x4$#vK(BFwSsyVw97m29?={G)O(^R zLQF)ZQX#4o431)=C=OB?$5f|gu{Op;5k|m>V64#lXG8*XC2Wf*Vv7Az+7B2b7$Hb? zu@CiV4$gXv3dWjXUPVw`0EohmsUXIn>d>?^!lCB?5Y^E3*77m_?3aF-ZVM(SK_ZB1 z6{1SD&qQkskrj;3u_mZ}WCXDhQC!1RD%i*p8H-rKh{d=Z@j1pA6h#$W3O*~CXgo%i z5lsut2n-bwtQAB|2@umiW{d=_=mBB^Bm3tfSR;rK?kf~+>OD7H-@C?&fGEaVoUPzj zj^UHeKxR*p#^TiP{McXMT~1t|$1i^k`SyD;wRymRcqGq}xlPEnJxJO`L{I^VD#+m{ z;m84~)DTfr3?@sET^Av<^GKQ^#)4>&M=>ZF)+`{Ee;xb)Efk9t4N}>c*xqMguqcI8 z7ePbe@xnn+7)b4N4age0cL6$Wi0a{O zlMFU4!sV|8+5}E`U=o_&g1bKl^%+nPVxhANS6mO9t_7N`ulNaY6Y$exZ~pU1V@V8G z4(&&5gfWntP1JZ3wf6hS(ixB(G{!6)MrIyG7PjL%O|S+dIp}6`w}?5^fLa}#f}4bU z9ztGn0TS5|R+?Vm(6h{n@L_zElICy2R@xZTi|_;=HVT_REOWhBP=(UHWXQxQijiP0 zhe(3p8>D}vP{{C^r$}}3l=GZZ)(}-iL};%p^B=C?N!D#LIWvRGH1(+pZ~w(3Y`mzB zJ4#?k)`f{_>02T_?8YqB*5D1u}EYfq-UTkpg zrO3<`&c7U`^_;y%F@E(3nk7MK*C`}?CmOpCQT3?HSzhX5D>Y`9-cNe}uOsn>!k;8) zWQi_+A!h4#$Wy>Vr3!gUe*ag|<3}K>fb)=c(8*citFA^S>tSDE4m49_W5ko6Kgy@x z^9YkOl@Qfgi^LI?D8|G#gvR}Rq!&GvqO2Zcdl6Z0AH8!FG-!?q5kLu$K@ec07`J?o zZEyKqCNH@G^*LgmV+|Q45rae(<~LOU@P|5}7VovlF+jXPo(JakvV1&r6V!uxLGz-F z;w(lLTmpHuD7yqj@nW#;6=oK9a^>r9Lfr9?P-b1yc8k0nwzF;%-)VtrVa|$V&lJ*b z3e#rn02l+-#F)quSwSR5BZG+ouxjH_XtYtdt`}-YF($4BUYtVj##jIuQZn^mEWY(L z+3nwt9^Z?Zmy{a)(Szpbj)ih^}{D_pI1 zc^sd#(L4(p?DLSkW+|vcU5e{=@tOfSWEp}I#TB%@itDrrzW9>{Wh{X7BZ>kHG$+07 zW>|RyCU@dBhi(G(Nh;S~6P$Om87kXR4Lxv>2wx9e!F$uvZjy2+%G`9t#F?5Eamzh^-SdO=9+V~s7>`UL?hUV zDJ;O$cgv6Gqqx|kUi6c91AQ7kH@+R_ZykE}8KE_d4UyV_#yc!wjCTu?qRDZ*g7*e> zf=9?4m|BEPdJZo;UjFeVZvE^k7)R4i@ypAbg8g^Fw5f)oo@QCd+}{9GH#e4=s|TRHGWxCTCw- z;U}7l+})S}Q|UsImWaof7qDif@3?myIsdtJ(U=8B@`kZbeqD0 zw)yk=L8cYbEcD=Y_c!sa4q`($>%eT~fwy)C9Q`Ev_^%G0->)Kjz%i^jML^IeE&ZK6 zG~Uulss4ZTf4!17?0b^i*$J9bF`jaHFi!xly!EOIe|oWpFFnffRG?ym5_BEa#R;Y^ z-%w=izH~M8`dUa2B3Ir96PFcbfPdLz|Hhh!W?#h#SDT+dpE&^J9!VSgXpn;Kz3XP z+6BJ^dKk1x=rc)+dbt5_feA1*Fw?*c$UMkI@djrwTKg_(tQyiQ$pc*Sr?2JV{SQ)| z-b$_x3#1sp@Rsx_AH1L+3d%Y?~ zgvXN(d;aKEpn2#gz_KVAAJQZI$b1G@ZYH0vV{;D{q+-dJyEGm+LcW|Lu|bOrzcOc; z-VMg4V5-R6Ze-ySnBD=^1#nsTqsoBEQ2|0!+AcsK28qIVi9k&-b+Q05$MdNrW3Tr1 zEcov3)4a3VumQlWaL=?dj{G9rk*!U#_ZG`h{dH1 z8t=b?I9cY^(WSgan!L>|)193ldc_v3D5N2wle(evWQXOu4kNKaA_FRDW~guNFta;H zH(!Hny(X9_=RyD#)QUc%Wt73+X*&Wc3~5pynA+G_a;qiHNI^-L_rR2MDUNJAfpS0pxc z_H{^(=fpD+-i3Nq-b|Ug$iQ`Pfa-aWv;*U%HVlM53kYkZe#AVj(VUpGVYaPpNV z3$Ob@%)*7xZh|eqC^O!h@M&VukjG$pVeWcBjDRRHmO3D)DvHMpC6wifBd)mqxuG#W zsTdPAwJr4T_`&!oypXLH<%}ZC4V4XpjlpLSi6uS0O8wGHnY!_%kR~C4D?45_Kn-de z>E{;|Ado}eEZWiAw^l1)6#3#`E-;Lh)c68qd(Z)WAc0zPMf%(<7e^ls2P;dJCcQW^T*YbN`{!6_2VuX8m zht}S|Vd?$bX@B;oaLaoOHa$0S@EIvC&ffH^PwJ%2|Jn9_a&~C=W zB2+h4=p5-1ZQe{}=f%*?!PW^$UKOHgsBVYD_n~+G8vY;Oihk+$(PjsodL{bE$Iwsx z5c>HaM3-&{dtm^x4@3>5My?SehWidb!X4kb4WcT){i%0S`Gc48jxT`@}J0- z_S5?2M_B!zmyMVKM;*N(t&AadaIEt`i z-`{bbZBU=xLSkc*$398Cj}mB!s4!A>tAag0kKuECZY zpt{-PJ7E-|sSDkwjuBn|+eDkr3nNrak@Qt|pnE@ve)at@HBAfUp%7l#{Y8j0D*z)ENu;btV9WLphD%eQK+wl1R6_);4 zFmVxuH4-X|8;Ir?A&6W}b8=ioF%aWWHvgm?xX|0H_*Yarf$ zy!gMPU-@^C91F>+4hAALvkn(tdNZsZAZr{BwKpqxmlMU4RAx6pT<0&787?`#om-F2 z@u1m`9=#jw9tbx%gVQq4jP4a0;@Zos-1RYp3gouvg|$p>fr&*ASy4jw38pd|7%Wj? z_a}gjaQ_F9u0u>M3axczPan=5x+i*FnvSvd#-#(2DUM0hI3fxw3vb6j=kJXSr(>Ni6q>_A4CZqXGjQYs{hOa_p9=gxK zfd|3}a_56Ks^ltn&f4A?O#!ce|q-fwXAN+aT>M}C92~BfcDo6xdu5O3o zVd_8}#^(5ja`fvHkhKd*t``NwnIQEYLMHA?jPGg2sFt`e;!vAUp%O!Z6+ZR zMHN?Ao|jMm9bf;EDgNOH>%3@t1-F``Y0T@U+FTqZG_{JcG1@tRKKKs&XBN<7cZQ3{ z=u^fANYSW#(X&!vgxBdn`c{6kgeJA}_?G1z|vTgw@;1B*0?$GBUo8i^x zN8J0b=DF?1w{o6o@M|0lMN=U}WAPkJZ-aap{qoBo*BIQ2>Ndy~ zedsra?|Yige(WO`U2_Sabn$tPPjY;k@ug zkiv!=ki{!uwHPdyrAVHJ)fe(KOcf};Q~EAWApzNbQ)rsHQZgrlTuC$Zp4Y+QClIel zD=(;Ia^eSPvvnt)YkiPjTCx2A*DiGB!YZt2tD*>_Kcb zfRZKnG(oeJ?vewaAij(E4&oBfE|ppvm!x1SH22<1w(>C8#iEc1yx`}9iAobB^^kfb z&5KWuWFE=#!FKM$xdyo5UA@MQG&bB@zxrxSdJJQyU}Zm8gBV4kqIjHkA?sowI5eJqZr=mvlgNrpNHw*+0m!i z@w4w`!}ULkx;)HzISD$6vo-iF%?bcqSVqG4lDohp-))6i13nCr7O(hX29om{Udk)r z@OcjEP#o%9F?B61UfiSPkhTLb-t`Awi_eFiD+Qq716aj=^$9o^W_YOwE5*fgtU`kI* z!ggL9b78chcR|vWFjS|vdXUdhuYFC!d-6Ur{6G?YaWB8l_a5Vi_LthErBA29XY}t| zFx$H|&%*mc*oN0)=^t0$Z-Y;}#o8twi6+9*8?{p(-}PMsqN?~TDZSt*gM8mylpC)n zVww&!VhB_nX1Z!{>iz4yA2~kw9?Vi1z~N_6XhGN?CZ6`M>%D`^2lt_TzY;*|aY>74 zawC&hzXsPn#_IjI;d6(bo&y+NuVB1@h!`|aQCCRzki?Eiq%XZdZ>DYWG6N|aX6#x< zp6I@#0GIAj2F$rWP`!5aw7M@eg-;m>)7p0RK<)S8xPcJ(q{H-!Uru$~g^0bJ?ASpX z58OsPU(8`NXL=T{I((W0(>SEkJ?7+t7bvNB&)@Xzd7nvc1gNr!DQQn}ZP}EBUdOP{ zkD4`CdUjb`)dh{v61Y8~S;su~&KX?a+XhXVL{qca>3Oo_2eH!|@a+b6a+YX%z9+?J z3Xmd+Qo*O)uxdd`(gqA1)q(+#}Ms zCK~guD5Z=#_)-Kk1cDaVjcVA4lOHuPWl+k#q}Qgh_6%wJNLXJsK}H}8iwH=yh9+&Y z<}#Q6@dH#Ac5$lJ;FI$qB1mO|eD!Fke3lc#l3&oWloj?~M;W|^;pP1$Ngj%_#iC3Nh!tBfAn&iBmo;E)d^6+WeJlPUK_v&h@CVTCkIGT z|EbJwCOz^vR3--Is1*6Ek<`)fR{gL9)*-iwH89kbRGg8uii zZ|iA}y5KVVhNA=o^aU-R+lp(i;=4_v`V6kqVD^UB7w2S%iO(<~g|JPdNX_r<^uyQ z(J%-+Yb-H&#Y?E}xSVYH0JW_bP}#Jbm9Kr8#aI6)lYeUI_d_f4h9Ydt^K*V=r*Xl2MR40;la z?|lsk+nRKcC}zV;UXR4pqGU3|%AKDfd1^14e(dc7XMURf?58}~dh)_+>F&FqthI!R zCPGQ2#I!X|vn;874agaCup?j$fmH&d=T|s^zZhuRsBb7q{ZO>OPUPR4?~*16%KXj$ z7CXI&Z?6zdZlL|}J*Q-j2c}=+F6bgy!vUVI}dyjnTeRQ6Dh-i8qpC#)!;q~nL zdP&(jiDJp@^-W?a`RoHxHb+DL;bgdBz&l)fmCE8SW^a5Ql?|J5%@xel4B6^2mhbo| zohKh;>e3sz=yyNMP#^sm==1>T+u08LKl~1SV+m8A?rTcFR8eO32?~9q5!Pt-z6MzJ zfDD_OHE;J_08`4qeYXubCN8*!4cGiI7;v2?c5)84dYEH({59#pZ(}ECxa2>6iFo6- zpuuA>RsH6iwuX2Q#^9REJoAxvkgpses&7E^WE}@R9A%aLML%R6EsysB$-zkoS)WZC zMstW0kts%r_#B^f(JZ05?LwxmyouVD3vp=^yu;S#NDe>7%3U8PIs6#5zJc?9{covX z@S?G5M!)&vnT`-lM&4ZF>A(DS@}>PmGmBx7NblAZ^w#zUu9s(&{Ec@fe)09RV903` z3W0-z!Ea>=BprxiDjT;mdFhSRc3cKx@SRm8o1iDx&5h_ASpYaSa zemF7UJ-*z#s)EZp#8dM`i@QK`Tw|Gh^$0%g;FB({y^1C+q*7txycaNW;dN|z-P@^b z+Fi7}`0qIaqW?P2$q!2wok`ee$T+q4-Am)X&$9ZB+ex0jL97rJ;y)2szrB$ zU$+p~dFERrPw&MYKSCp4{TeyYRgkNBLo)}Oho?+4b=YMG?cs>CcrDD;0^}Z0$aW^Xj1=1^-JYPca z9q8-<loKaT*$!YfSK{#+K*j=ZV<5!X7{nN~ zu}C1PTfM#Yo^$4pbMAe&8?mY-wTyn$)qU@7{qFgm-}3#P-#G~9oa4AG8j(l)2OO8V zavYFFCdUC;WO5vkMJC4qS!8k?kVPiP0a;{n9FRpO#{pSnqL194a=1J{a)0h{i4+K- zK#0TgcyUBhC(a$V7dTqttVIY1LM`ZX4?iHzg7B7c;`=v)9f0FZ|9NhH9*g>X7>j59 z@*KAaTyb^v7HbhnLcDy8+Smo<;f3yNhu36Pz}Wd$?_=NBK8r{-IES+ioursv8)w`> z+g?<A#P>}Tx!tM@U!{kd;d4Xzx*2u)@p|bkf6uTT6TQ;KQQ&f zuMjO?<29zZ#N=4hW6h=io}r5_hnaD(7Gzcb9puJ0XlN9S!P&kC#QM$V2Jk?T8?4R2 z8e9OvnSOa~ai29FJgmXwIl>uC-bYx2sa#hD8EbIPB5;^Ir$4oyd}=?Z{@&j)^4cpG zr0EWm$@1FK-Sa4u|M#n?w1JcgYX*P_9U-h``!_zv$=x=i7hjH>8V?q{Fi|3yw|vkz zx$(W#8k`O1Txcw7ajuVZ&TE$oS^_v{agOkL&<9;%r5qq6PPpK#UHB{khm;QI!e%W3 zh=xXyQOu4{{SJC~InDDngiiI+&Der#hz$)Pg+vNTYuAHp{pe-LUXOUmiaA;W5^H

w0~Ut}*5Ci*Y`-);MbEaT+UxUy8LA$4W{x&FlUJ@crCEE<>nqyj zwa=C&&;k9)r%|;L&iP;e3@SP#PrqOu$puF(g+xn@49>iE$~j#4$@^KpdJNNV&HIxU zsUo7R&aTbZF>&ud!O&>9#^Jo{MhLv`kqQyE;Nb?~zg?l|)JjN_kBgUP1S%?d;q9`Op^TCAZ^(m@J1w2p{!Kb*K5(_8)TZ z?yWpJxtn2?aq+Lbg*To5JH-F=G0f5$bQlCT&LLEUP8;mnd>sHI7hi^$ng~x0BIKNq zUjWv7{$S>m*CbH}cHoRRN75mj^8U$Hd#)&60I3SSbm6(`;DNGpIIBVWpv*}?N>o~7 z>fUd#?6TiQNd1zvCGEX`6hCOxhpg$0EjAnxIbU?@SqLO4XBMM=!kP3sqz~CTvr0B5Ljedr}N|^ zB_PgPgnIEF;Uxp&O1BIDb@PY#>d$ZGoE4|jHHJ>Vk8_r`%%SUe=OZzbBPp>3v!~0< z78u&#L9z2dkvf8UlgBn+hX6({z8o<%PStz~>3?=%fr`E;sy(^VIejBm4}c8Mla#s= zG$a6NLS%))3Rh}e!5!xW=T0I-?lriumoJgMzhtLwg5%n<>xX=K>(@DR^i+g1NGw`P zVkziFg0p5c=jSzA!!c2s5G_kFdj(Tlf{BT#Fk?I@N~6*SJ8zrs=*x?|Pmu}{_LR;$ zY(mX*%Cc-Q|JmPLTtoOwac|+^g$&QC1QenYI26xYp!~^8&=7~S28{**U-;>DjAlc` zN?}|P^ZVX~c3io?iLR$OW6?rjga8Ts{at3Z7=|{0JBUw_Izrc*6-R$LVtU*=YLquA z!kaINcgW$_m5&k3GgbZq5F*@DBwTVNDtr&eZE@aVMa3r_v`O4cGEWDS7Y9f%u7$~H z;dpR-E6cNCjCDj(dh+EQC~pv6*KI;35Y`~e+>k&l6Lj}>n7Y%@cms%ofuc0bi@pdx zMHEI}dVf;deyPIVJN;5DrIPvFneyj@fAB%V!2FedL{`2N%wO5|&YP>!R6Q$XFIZkM zAkNvqT4C~mEez`#KWptk#F_+64~s?MoIp57OE^yN#hk3`bcYR5*CK;_` z*I{N$PGiHfff7O5VCU`EgM*QaE=SDl53#-kM42Be8cEYygu`AF3Jy{9F&q&Mrw-)3f@;g*{en2V&XXj_$$HbjCP#;@QoI6%z z87fJLd+m_FDPGGV9gOIRX4+s}&JYXd{f7_;LHO)j!z~x&`y{h>_GrAp`;TAfDVPX8+$k?ElUeNtUkmJ={TGN`^Z*7d$z|w@+Wr z&}0iIy$^8?A}df@Ks_avU2@@#h#*8-!Keu7d$&L!mJ9k%!|eBZ)L-MUMj*8tyr&I3 zCFH&wFnZx-h?$82OOYBd6^l0@aD}$`K3_an4IFu~cg(rpp?x&wj8B>1HARXLx)(zR z3t+OIGgcGI_mui8eu>jRayzEm#>JMLrV&Fb=4sbvJTs(? zIx>q(tdMtt;Eq(GEJ zs%Q3kseBoa3~6{Osd}Gcm;PQ^T%)~asks`1QV6XPN{1BAp{vM?07T%dqq%+)V^`he zH6@s@@p{BLPfqaRTOZ)29?7pNTQMKN_Dz3XeN+rZe>H?sXNehaY3tjS~z;@t9Ye)a@!{P`XpThid> zl?hu<+0C1lo=HUN30CmuB7~}Cuq8b!wpMy48EJ%$Ff)?c>Ncls+|RZoTH!zD`H@q_fR7XrqT(+G&RA9* zw|eF|DrT%Y@;E1nDTN2)$or7$UH-P_d6%&E>RU>mB7{OY=qpJs;OpnF;VUO9zBj!c znj^?8BFche&*u6Om8Gb9O4O(!vka$WAHqg4LPywMO6}yF(>Cr$C`Ufue3j&}&SRUe zW8&W1%jk=c`|{>%;7>}Blq}8IAXBVLb5#Zd!PiiY+@wOFJz+eOQPx4lI-2V)VQt}4 zIO#kP$A@5JlK_ zN^Nys`jlsYf(J#V4R&q*`_iWrujvGX&{tG?yU^Z|i@6%%8(&w#wf31{n$#=JS&Pjx5Gq z3Uel^<0#UbEGgy=fE`Mc9{M9ZA#1GL$l4Fyi0RHCXQ$aWI)v7OL<*KAb^dz)-OTnT zkh+GfMMRAZT}z2-DLVC9q0MPjruFn#+r%+O$ zg&>iVwP};j?7NRIKKWgUnn)F4V}+_`W!glCycSCPO-JE#gi{4Dx-@CFlTlmUXKdrX zXHT;zJ@6@a2Tc*O9OoGn#T}$Lu98X-LIx5!7{~X+$Z`TPl#*Yx$9bjjABG-uEG{Y6%!VsuviCB zJfnXuO;NQbyS{yWX}&=C!7UYqh8{Tcg2m5?xa8boia}Z?V(zHrp|sy&kfN0G-=6s% zv~&nziM1wDf@TzPa?;>WpZF11{PSS^N0{W6}@KYbbj;9 zcd@_wB)FWqPRNudQ<`%dque>Yi_`A;EMM4m7g&ggPaqy%g05#l8#E%42&Ey?9*iRT zQn5d-y=n74C4B*)gkrqS*N5n9srM;DAXMNZ6;?lB=Mph*D}9U9-rOB^9`alg8sf53 z-^zQ=`+bb-aG<*f8#{EYkkYZLF~qopcW?a);s<}pA3kyi9bwVKqsS=rRS!BT0T_Vc zBP~=Ed`XN`8W9CXzdC2^lESAvlRU~|IQX`|uV{)0L%C5U+Nx;7{1i&T^mXBD#6q}` zBQpzk)0#JP(TT6&8$14y@BQ>2Ie=oOQAbS9aGr}862r(nyV>>g8~BZL?`CY}X?*$& zLzKigYY-x;)QA*g@!{cBA0CGLOedpua)+^v``C8JvV$ZfeZ%Y8!3w;sH${R$cdh<` zN~sV4#!?pAEr1-EY0(arBun}2GvCX<&QIr_PyIW(S(AoJ8SV5~W-Tjn$3#-&O-t+i zV0tIx`BF}BF;0ol`v!wggUN@*KAiIbH?Xky@C} zB9cJFtPOU_^$@H^B%2V)TF_?T+?9nW16_x>208;>Lqy?wJcR8;)K< z85#|o1P_WBWOyki1ywS`LPa3tvExIkQWPVMtlLC%)lF>s^DDhkkO_^RAyd9;WuoU8 zkvUc@LF!9<*H6wy$a|pk1F#0Nvmo0Dw(Dz;oPpeeGYD&NXlOl--Sv5Dt0o!SIL@{^ zM#(z@ow~U`Mf(EpUEjVAWThBSSPw#|<0@;tgs*jSfmq6N{=%Wj5z~;W6uGa)x(%$o z`bKPLhE8vm)l)eQDVQ>_^?-v2oYRywrmh3}OdokgDP$Lc%qUEo9{~*cB;gRYgJ`aU z;j^)AQ8Id|o{Ky-*i}~DkCZtr8FE~5UIZrfKywyCjtU@Ns$=vw(&^7KvVR|AlO3{V z!Z&wxp{t4XKJxxu9uSd&`58_LKSpAAc-yU--fTq;&`r<{e=HdVI|2Dq5Y;f98nu)1 z=jSQ4MrGu2)DK`4X%kUNHVW^!N*{7WN=Xl+6l3&5=Uu`n*WAMXkG+-GJg}WdF1>&U zpP1tF4|I9=MG3mM6?!{x#5mUi5`=WPd@Hu|G|CDvJ)Fs*mxIfp?-vZ9vj<@(aZv*y zdOk~hQirh(<2-uDQu2;OCzUL1S>RpgvCY>as7xA?Vo=*FTo@?~>HKn<+@Z-)1;mSA zU|@LNCFno=2VVK{xA60oOZfiTYxwfEY4)})zk5!`l3|CSix5d50s@3a^~Rw$1E!BK zeNa8fbC7*7Im8a~1YwQ0Y&py-wnpx}G~B^-yFH05Z^&`ua;)^`S3w<)6NdT)_9wTgx|}p5@Lhvs|!5aQcu! ziavb-);h*}9bT23$R)`|bla2A&9S{6rrU#V57+C3?_F%S3%wq;+sE{}*iN5VwuvSL zdE_7y^9sDJ9}dpyJhu7zxtd}rD^#2;h@m<*qpX9AZv|%^=>?av`kI@#@-N=b*xo7b zy6_AhixRf99bcPqbWM)zSh9Z3u3n4RMO`jgbpdv2FSgSopY38=J@R%J)9PZ{ZA`mQ zztzFDy7XIJOuLJ1cgb5FOuLI7oguww24eZlsSr9sgxnWYKna>+tr>*I3m}UG5HE$M zq!<1wr~JXqWFLDgzqD;1+fO->$A=T940uaOuN`iTwBs_D@;q%AFtE757G+{0!lfLzRs@A*8(td;bne$ z9aOTvgXGSk$f5$I5N92=^Ea{NBmcmzKYu%CYH9pEi82e&Zk+B~Im_AIHhzZSEn9y3u-h^^y< zxW-qf9-`ZuL^p;iwZmyBF-j{{_j3#L%6*y=EsYSZI-P%M`gx_#m>q0=nkB6)1JWGz zSpzAti+Ma`A*3LWL+5Sa^bg*EY)?UJhI$VB8!5e7Oon4PO4;jX`J3_kKxU{c4t2x{ zx?WV+4+<#soa*~fU{UwQdeO2N)oGC5KZG;(;8V8482zr>u4Urh+YrqW(E4apzaI_p zn$ldqiM3bVf@#knW+$1dC-l>Z43I*wGH!D7)K7W1wH=`vxI`0$iWXV(BanLDl!q!P zGE05+OPZiYV{E%Y@5cd@`4gkU7`>`js_vUh!w~K-q{*5qWr@+c4V-$-mryfP?28Qj zT0-JLN^0mRy zyoPoTDZTmHx%qmg@4Xe>TvASqJrr5=fOzrbapc@hoN~?0OlJy-C6@Go&GJR|{mXYy zNsU9T&03UE*1<$b>G{~JE@RE;4DR8-C5l&)+a6%at>dJq$z9zY{L!9U`RIvPAcew2 zU34u>aS%nxrwA4Cgk_~f*}MG}(r=?+CK`0_hiKiTA8X0Q9P%im80!p^J075%YjFs2 zjA)1#=lnv<%SYCb35U{-NQ!b(N^o*C%$Cj$u6pWg^h^h(>JTYE5h#=y70$h^y3dN^ z>0C`oQ`Be#{U-efmv}If>e#LqDK#=q135f2K#my=0Y3#9;OvogtgN3%tJfxxsXr+k z!dQe7tP(@q(|(+HJaIFBynGX9)=x#r93@&9VNoKG&|Y!7~Z1xmun zag!N(ym!yn_>(=~VzN5{*%0aQa?*N+OCzYoh+2xsB1A1lWHF+aAhHBkOK~+niDuqdGid`*H%GK!R$1&+R*Bdx7(Q6E~4GT zwY$i6kEms!-Qmvu(|mon%ZLBl-!Oc_D%y`d#G@boHEiA^8d`yAO=4P8oObn%G}dpL z^BZ5R9CLsG``a^Y?Hyo?-OpWeiieXfuKO4d{@xEcyKxc#oyWKG z$j7e0OphbtjI|%Qmgf3P5Bc4WNkFQS+dkJl^q1Vd`+LmxI|va$I)qW0mV>C%W#a=+ za_*ia9cFrlsk~1+w`eP|Mqo`R_y!dWxh1 zZ*wB4Y45n7M?U`RtobjWW$2 zWX@ST_jAHj8|^HAw&@%mT-Kn`&gojmbg$1;ug7fPFq8M0%?;K-&lqxBR(m0&q_g)? z?)$(NUb*}gY~dTNRlojxYk#1i62 zF_dVUktWlcR4czJNvae|3cn!0%mf#nauFvrJRoycGODa4wh(g60|EuR7Ujg5VvPRu z58Qy6or2CRoit|YRGZgs+fS#S5DSSGl0-^|63tMosYi-5@}R^@k}2)$vhofedF^`u z$W1;sf?DAJQOz#|AoHbgtj%>B8N23YY(^bzn@@i|09qYhEB^}#NFfdz=F#7XYfsTO9qPH`o!{Nc zNI&Pmk{VJe66?q$3`d%wNHVMy)^yoDxq~;J`zG%Ct-tlpI|A{~F&$;SF!7TIrhob! zwtwPn$gD|Iq|8R}&GS#;N2e}lN()5KV2!2gU{7nBvoD#mLJ5 zkU?Wk|K!_j{~zywtU+C-WSuULFKzJfiNieJOlT=ZoEuJgbQ^E`=sjdLzg~*Pm2)Q# zx4bL>feI);-NLp{T#2j=A=5gwR+lI&5-FUY1ZpOBv*wm5UwprSA?*v1UuYjvmFmdj z*i|>;S~CzF{egPKfh1-kjX01+>`yf&r23D9nX1am1`scm0`F^XB5zGWYZe)nkd;C~ zdlqR}u%d+*D=#xZ2E}-d^Sq{*?hLjw4LZhlXR)0bPP^u&u&{t#aGvqJzwhPZL*`47 z2%LUk3)?^OHi`w~*M9IzG}muBYQO7cry+%uoceyh2Jorxzczqz^!n(_RznIY zqObmeJw!`RoIBkX8a2 z83`~7un>|Q7P2e|Kz0D(2r#w~CPKy*A;KJiWdz2^h{F=d5gfW!7GPE@X^)xRot@d8 z`|6p#yWdqu=Ffj*R=s*Xv(j|W?CwN(GNQU(Rb^#m{l33DGpm(|2)D{jQ}j#Sfm>y; z+ydk#E4Ki-$;vH2ZnAO6NP1CdJVz`B`=2w3a(H>jwaAutrNDAnf;D~4{`!H8kB++0^zP&bex zH(jg+edGE0B?Ux~Tml5)t7rb2C*~hvv3rSDyoM1&vo^uj`c4i`y^7ateZx!D)qW`e zA!$nIqaUUA{`aG2W^Rc3ddUDOa{9yPzrvp!{ase#MKl4muuh;uK#`b;$aG1?FkRcq zJMa84UNQ69m!iXN@B18m@r!gn_A%0@o}&7m_b~h`zj8w!^OCEqPagUWzI^s`G|FSt z!XcblvsiIPT`P^!8fz>avqmdkg!#-eG$Q82h^fg`r19VE2QEpbU*g1*h{nMty^>TWfv9*_wHr%Q=i%_ zDe`i|-QGUF7SNyuT~;d=tu#;0KgM4?`^Rh<-bQKx434tWCxj^1jz2UQLP|8Nll3+_bpF%FiN5{~g0WHb_8pMK zzEcL>Xkeawmh|vp!h;8|OG<8-n_wh$%&LlRtI9dwalhkGfZsjzTU5glEDB={M!;Bc z`~0`XSbr>n5h0e8P?w2~@ZX>OuK+n188avqpp_;v5hs?8@$~!?9G-ie<4ecfODm01 z8YSvVS6XBMjNYGqhPC&9kobwm32xg0l^O&Uuo(jZNII;d@$&BPf>$P_Gj?Cu?fw}7~i<` zHU94WLp-qU!2u~bws3?$efEEHdgVCnq)lQI1fir$jFy`moW74Az3Y86D`O~B-@zyV zVa}YR^YQ;e`otmB%NWS?^Bu!CaxM`1T(}0L4ROTuD z-Py13wb_5*nZ>7A=*-hiyELm~%nWbkmD8`}4cotqosHc9Jbw8xqST;(#AbGbZxLV> z&U>w9l~AJ0r=R{q9@zFEfeMJyh~Iwv<9zAN=PBz7^{`GQs8b7^>a=26i&}i)Ayp*GWFhqJO1fYyT*XyLmj$u!o zBDno_2ht|g)}{f;bni0@PxD(({5mI=oNsO)Qk!yN^&H0*pW!pleunSb z`4&F-@}Fd}yFjQzjFl`w;%F}ZWyMn+)dxy>G_2=5YZ)##Ik|d@FP!`2u683B#LUOMy*sQvI&3mK9N-kvx8w?(h6J%*iw8 zi806NY0_6?Ssw*Z8p)jxP+Fr(CDKEO93Y#e>-Bh9e{<@u`1No68kNwg0eVGC(%Rkd~nEV#PWDfi4lH3A4#%M#|$PHZ9b1a%=&myur85lUXPmqKe`@NA~cK z{`6s5OO|ka+(}lNH~=!q81VcAWd)@m!NIKX)x8URJ!M0HWPZF6!+(7EKQdY#BcMc_ zW?gf&Tv3I){E>ArL7)RKNot^VQ2AdYf<{p-g|ypw$KN>fsr)Eak1DKucj zVy)YQ3u}y4EYuALR!V%}n@wJIvO-c3+LH#ArjVvi60k@Hip^A(1+mWFNZ&uRA}H@_ zn_h1tB)y_+3=nVle*f_AbGbXu_K|HQ#^ixpMk06gEey1nf)T$`U1<$bYI)_<4EIb- z^TjhKxX@ms7KZCu?Q^XuoK<3pfH*az-i{~>3uTK@!n+TT@)L)e)Vcx7Lop(PPQ1a+ z47Ut|&_9;^IM?>xy_X^ZHd(G25RrZi@#QmLVJH|P6^qF`?>c6ECj(Dl$vapu)KD=B5^Hic%;MQY-X~B{mkZ!dhUs7^d8}RN>z} zImv6!4b!WpEDomxMo`v+V8u&7CK=X|S;U>QenSxBBqa|XMIpu@mD;9&$jUVX;-ch` zBMZ-PeEAeJLo+1C^g{&%Rrs7Ey@=aIGy*dRfRbECT+jKo;Zm10V<;%A?3@}XzP2t=`5ix7k$%^JzP zFjMfPJP>#Zv66#&CDnURP=)Q&-P&`+vHYK1{z)IBP?AjXlPY<(ubd0ZEJWrs! za>}CeLJLMLJ!42y%d(`Ltr#A-Q07;koZ_z4DxI347g&_lXwz3cAc*ZBtD;08C~r4J zyYr!fIJKBSfzoJe5j3XTB|Na-b>@YRL$Vypd}jfz%B0qkT9d~k3WX7&lg5lz%e?ls zZQL+u>te|VJLa{=9Cji{{96Lq8>k|L;{K`-_QS_x*fgj7`SNhuGA zw}7bBP+sVf4hOXE9;dx$m}sm*WGv+iEo#p$Q$O8-^9!iE_Y-ct&Gl)MqlwoHh{dAO zOw^|^0*N&kSw~2LKxr@)G;T#<{&Q!840XbWK7@J7&dqLXwPD%Y{rUe&=B zpqr*>1>1&3dBxNgc8-pc8sS`fg+udmoNKKjVyTAZt9y$AqM(-~ylwA(_KuG67blK# zdTp7Zu!@MKRoBEN#j78Wc;{cXnVe0ijZ_(b+ubaG;BL|#Lzpy$wHQg9A-16+t!UD! zrhKl=^e2wc{QFswu_}T=G?bSklA7k(pSh2PS5HDaAy|p9)?&rE(jtNl6v2U_P}UPx1Oe#tg^Fl zaMRP4t{D*ULrzL@VCF79eeUxt4S}|x420feG=;jxM@pd%K!o${Hb<8iSc_unVToPC z4fZz27^~J;ixcKLZHyHHtx;$!g2e@+^Sutc8cil@bxyCYu-1!6hC<%=zuLUz;fM<} z0nuWY%H7j6KJhk^D8VfENU<2K1H*3yOM)fEBE19?8!kOC#n7oWCLfujH&y2GUwAo- zw+|D{bx1Q1tif2{j3Re5gdF`DHWriOO-*)$siW{*FbFW#a%OFnXIGuXj8-dbA0A=f=opPkg@q_$G3t^S zCov*U^jk^FP!Mo?bBs=sa&mbEN&&}qh1~yaO1Yboh-KtA-h!Q~k}R}I13VFhR1B$j zqGo%4UgDG_uq^ExVfv9d9{o4>GJod?;pGmgc2eN#UIh$szl~VLDntdGZ#~ETGvDpB z$_7=}h5!+3QCc(m=buA;;w>L)Ma%NF=#?AbG*X7%heWx z=dE?zE{P#3gLD%=WZaj6)VTV__9Y@$fj%Zn#m7P>BDD$kPQ4ZwoCNso%C+aRtU>7j zo5Xa_oS|GFCNKu0VXkHgn#1fNr-%5yv%_2(PWked9)Glbjbpzp0j|8mV6vfU$Ie`98h8Vd zx|`M$U6>_ZT%msXr| z_rxT}SC(0eEqjMYsi2s%kxRr_HzUjXyi{xr^-_hM!%Z%9R+#HV1WLOxlU$NOu>Kw} zIO#EBiHu>YHpH%xaW1r1IlZ<(pn}4^l4pOrCLt~4?KWc6uN@E{Q*_UrM+N>iFY1BL z?14+np#&|8zzCuhE1?1HI<})7@PX9{K5%A&(?bz|GPA;8POWihs6)3TG$KvXj@dQR z-~;y^kzw=ffmZMIsn1k+EzW8fE85(`B-gnAlnZU> z{KHtAua33&qxu~C?%Bn^df9!9RZ6r{Lnle-nZ$8z>U{fcjT+V(-gW1l{O{u@nW-wcaF7Q;sfOX12HH zRF@d97QIceg4VDab-8cyH5(=E<^a)t)Gpf;+UsWs3nOh=-qwvLs4R#f5JiB-U|9}h zB!DuC*Dlt1?XeQ?c;`MYy>1HDVotBL5be+vu>&t|5wwE)rkiXVz6+%lohZThdBN68 zuL$%^%2>HdNof|6HXW1Xd9tDunZhVwWKvMDzcJ00`UtH!;>o2;EOpzIf`G_)yE9-v zG%L|6!{u>av+ebcU>oqTHU@~F$66X5MkT46_L5x_!6Yd<3`j-L9s`u>Z`O&k`|aFb zC&-EwD6nvjb10@^2(~qyyfCDr|06yNE(*KlWi2N-N48psslG zdmBWZ9@WIU6pSaj)8%e*oHgEK!sLcDl778D5Dvi97*wDcDc4wwBUa)r#sDfM74PcW z6!9Z6-6Ub8QsvI(42^P)i``WY&(G3HV@f(CN{w$jV-lwkj8dFiy}&;?@D5&en_Dii zQ7|?HNancBkCm9K8m1CxD}@$8YelOUW9okPiHJ*ZDb<$>j)G0_I0TYKf&CI-tryz;Z7kHG&SDIzjiP!hzIZ5&+t(G&i1M z%9^ijHC&iqp}PhWWD^(_f!BEX(of}pLS;j}9&^Yi94K!;G|qlBt96XE%y(NZC#9Tc zm2r70LN`sgtv<><<1>Uxb98Zm!%MShaZHgIldGuA@LO@-+{N}q-oEb#`04NXP)@JS zW_zz)WqI+FZCmK<*#ajcXa*>k(#2TIQm4!GNR3F`xHZc5r+_N$+`nu>ol=NWgccHQ zd9)g{vKY{gTs1d?-es5Z#5IyB7AS`S%4dQdw%Od=?3^F}4gx|Iuo6d{T3NyZv7cG5 z(WKVWO=I>oCb?^D8kF$({6(HySs+x}4aOPc(mqIT_+7#@V5zsv58d&@{N(*V>F6WZ zw+3m)bqXYav>cn`M$2ba3pfq%hS_AxfjI z!XO+?d*~HKCF6R(tU;?j7(-#mYqoCV^y&&nmlqi+mHK#R(&LW=o!n`FQ4V)$}-g;bnY?^2$Y`%Q~<;YeTiolk8^bK z7zf7hxb6k1*A9qs(eIen-0{8NEA&m1u0tSLpHgaC-G<>Fe89iuf8uh07kxHv^= z?WO@KK#T(qm}_?srKyTSEAe1B?hmvgF@~vno$=ZbwV=$C3v-<9Mbtv~3YkqRu4?a^ zgnK8dBvyE8ae>)(myuExg{5axv?#uF+fHt8Ofc8$^7j``b8gj5$m{50Jk@^_<9W)t zxdv2;zd!#?zI5ij{Mv&b;jMe$a$SIIXtH%Cju#Mq={>LGryn*fP7R@qn~$Y&9JFny z!t_v?o{@g0GnW>Xt3Rt0HBpEtX1@C}B2W_z0fZ>mrsw`ZDcVWI_w3or>$h#^o0n$! zi{sDHtX7?RQV{wTTUsd+Yp7_=d+&Z3sWtrBb4Tf=DHR>iN@6NO$oK5t%Ym_RF84b8 z<%tu_M{S0~GWkTMd{#_>1{p+!`4yoK=pvaoPC_gm5MbyHv!HyM9xqq9QP*w` zw6WB}koO-v$js0XpE`1cBTEZ3D>d(lDQD<4bdr>NrY3mj{yTYWZjR4BcZ{)0h1ED_ zW@w1--MyDRjRr@TmiYYX6D-FO^|0jAAD%e4xU0~7YBdw=UJPZr60FD7g!;jX~it`VgiH!>!$Q)v;Xp`{cd8j zw%)$vttbo%BM@0jH%)2BDX9ocYi&Mv;smj=yzaK!h*QgKyUj{3VYwIiEoHvjVdqeT zBsDy8ah6VOIJLUQNV&q>_uS6bp%EUwILq%n^%Q5hqlDEsr4^^F#fH^5rIWb* zTAb2O-0@m!XeDXBwG+ci98)Wg^7MtHeEiWr1Rxc2RTAD%KosP&24DZK_p|-S{u$BP z^XO6;T?)~qkf260cVl7S?3hQhiZZOwNcxG{# zcDu*j&1ru0j)P2AhxqE*^L*;aF}kS`s1i{OaRRYX#EBv`iqyDsCKb0CAxQ*dz!-%| zm0Js$x_~uFES1VQpE>eH07^P!g9>PqE2s)f!1jOS-?DP(FpGctw^T+(z0S|njWBN& zi(1hv2aJ?MDuH)p1;oXC^t8q-FF*hto57yzjRGt9moq7!I=qA}zk&nP6&|{n5G~C? zsGWU^B5GT=p{hMT``ih7iznH=Zy&GUH^sShj^8|Vg1OUYpcH}*XlLza>Lqj4RB;?b z_q(9-AE1kMoGbSAlMit*UgoxP6N|m-O5o=u?S@xS*=(7zS3ji^W@(l4pZo(S&1SZ+_{4&O}W%=@%7nD427Z3XPJW4E<78B z%GS+$FU#pu=P~*a6cOY5q!28D(p*}d=OYjP1Y-y9*>J?ZaX^w3zpxx|OS@F92H__B z@9fDb(8JG!ShwZpd?wkN{m z*GzW2evQcb>;8TXw0odB@I$ZLFiAG9vaI#dHemgL)LI)!<7{e)<7{L7-siR`yc7b~ zPp}p@UY}(8K#BxV>yE{rGa$~R%C3vwlqZZ5P+E|#OWkMj36Yz#kw_Ib1*TFGeIOR7!B$7Fcd0i_1_d zp^^mZ)eVz&bAV{&BqY%J60j=?OCJob1r+Nw-THc2+Z4dc7T5R<99TIq8B{fXW{mg+ zr(&HXC;`E*jPmU(U$5Bz?3|LpdTvlfV9!=mV+bZ2aJY-=#_rzn#)}1r2Lf|-Blx_8 zmw}fD3Wn9M$H;6_&gmW`n{lrn3&{Yo85fgtG}5oDa*+MAGVn4F(W^PNuFp~=el9(I z#!}#%iJ>agDzMUlatX?1Xhn`;Cr4i-Ktit^f`bre4aDZ-U*K;UGv5KperL=Ui;li=5h8ZNttzo?fyc4{PIqWNnYs;nE@me5#8+(QHvg6kSwD zVCNb2!S1`I1vQ5C>Z~YH8G#1@$lLJ89$qL&LLp1lf3MUyX-HxRN)~iPDU1%mwkdzp z#zVu+1%^sNV;GiNjx(-i8wOln`ciR)!S}=)P<4aqO?fGjLLAVK706XyUxoFVBJ;%h z9@wA(my7|j*W+7gee1>Mu3hf^=a%94d7q@zPHnyVu0c9&ux!Gp`-hB;z_~ey5(rd* zxIX2P+kk?x&+W>U244y)E0=;?oyj0*{yAdlOF`By6x`=bb@ipGua+zdovWlG5ZSpa z$eELS>`^Ykz8CFF4uz7TKh=bj7hSYEKxE5$2^g>|>)cB}r6VV9 zw$CHtfedr;eoySo?JXMh+-oCe2$eAgtOFxcR)vqqPyk8c)X~^5Y@2k6O066aQR0mH zY6tGy>tYi&CmnDd;~@adjKkSE*V!OTr94j-bse`~)icYD?O^(%r~+kOTm5v2YtOmC zzCFAn06EElfpmCLD*E<9@|u8i@xu`IY$It;I&g9pN&$3wuyq3NzhjUtn=CixyS;bscCKIKzs6?#W{m?VEu70YA$IUS4eXR%JDn`HWo_f`l*_SJbe>GATjd7-g2JM5o;{LuAsWf#` zH$9HpGvf?*5sV|J+`d|d#WlEh_YDODZuGa`@7e7Jq~_BK>m_86+XsNkBK6!M z7$Dccqpr^J>I%tG16N(i40$d?){nst4WV{S!DQ2Y3^Pidv(oOu)2I6eeW?WpcEFqN zzg~)6`35h@e@FPnGw{r5sMpCqkH=Mjcs>T!Q5m?B4<3^D6)7>+`DCmm3R6v2$NP0*6n) za1B@&qg*W^xsk{4?cMzKa4G9tYHaFOZdFRoPHY*2=7@_kvQNZT%8(>3#=5ZJQt3*$ zOzsN^2E0%bl9k7wbJ9`@oDobn55k6vc<(M-FjNX1p@*w3TRmKNaf3C^gR|l!Kq;7C zfitr{rCxT|+g%s%vgY>y77mWd7;b>wUg|#%+_% zWev2Sy6Q*w6fPGfIQKRCZw5%TM z+~R6w^MwC)plKlTW7>D^a)#Jv0P^d2V6wW4E3mKvOKo?)96&FIUIM#koNL>tyZc`t z$;e;t1qY<~0_W%8|2*LcP%b-nQtN(Z_}dZtS|mv0@=K#baBxrmi)z_?-8gZsYr6-_ ztFYX03=?{Zh*PJYwv5C5`<=~jFT$o1R2wKSj)bh|s$=JzZCP%E7^lm_fc%AvORG1l z#?lnVo6sC`M2-{3^=SgV)Tyi>aPtDJxCq=>=kmUMAKba?`TPF@mKXP*f?4sabA35? z*#(kk=bZ;rExD|55W0Fna3xcItKJsD6InO$fl(Yjo&@S4Z8HZgn zZYvjJ(3fUGZBm;5Y}TxD&BXn9)}(ES02 zn*@OM<>mzB|KoCF2B>b88&+-sa+8%?fZSx|79clSxdq5gR&D`ula*V5++^hzAU9dL r1;|ZSZUJ(Wm0N(^WaSnhH(B|A)tvRd^XmYU00000NkvXXu0mjf3-Jry literal 0 HcmV?d00001 diff --git a/src/images/sauce.png b/src/images/sauce.png new file mode 100644 index 0000000000000000000000000000000000000000..a912f3bb4ecaa7772af297f63eaa6f00d0de1b8b GIT binary patch literal 7198 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 M<<;dHWGo{82U=(r=>Px# literal 0 HcmV?d00001 diff --git a/src/images/side dish.png b/src/images/side dish.png new file mode 100644 index 0000000000000000000000000000000000000000..4277f3472593b8ca22ce5eebf53583a44ae0273d GIT binary patch literal 6102 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 literal 0 HcmV?d00001 diff --git a/src/images/snack.png b/src/images/snack.png new file mode 100644 index 0000000000000000000000000000000000000000..42310ddf678330c9c3c75676d7df109ba1fcb57f GIT binary patch literal 7326 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 Xk}kbHiOOF*00000NkvXXu0mjfY#*$z literal 0 HcmV?d00001 diff --git a/src/images/starter.png b/src/images/starter.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe6063188fd86479d983418b46adfe160d8cd97 GIT binary patch literal 5763 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 B?aTlG literal 0 HcmV?d00001 diff --git a/src/scripts.js b/src/scripts.js index 3b0bd02466..933cc1e087 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -3,6 +3,26 @@ import "./styles.css"; import "./domUpdates.js"; import "./functions.js"; +import './images/antipasti.png' +import './images/antipasto.png' +import './images/appetizer.png' +import './images/breakfast.png' +import './images/brunch.png' +import './images/condiment.png' +import './images/dinner.png' +import './images/dip.png' +import "./images/hor d'oeuvre.png" +import './images/lunch.png' +import './images/main course.png' +import './images/main dish.png' +import './images/morning meal.png' +import './images/salad.png' +import './images/sauce.png' +import './images/side dish.png' +import './images/snack.png' +import './images/spread.png' +import './images/starter.png' + import { createFunction, returnFilteredListName, From ca8e081ee4ef29617cd18fce85efb6be195114ea Mon Sep 17 00:00:00 2001 From: Patrick Eitel Date: Tue, 29 Aug 2023 22:31:55 -0700 Subject: [PATCH 45/73] Add a robust test for returnRecipeDirections function --- test/recipe-test.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/test/recipe-test.js b/test/recipe-test.js index 3fc585bfe4..99f9bb8a41 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -84,10 +84,22 @@ describe("calculate cost of ingredients", () => { }); }); -// describe("Directions for Recipe", () => { -// it("should return the directions for a given recipe", () => { -// const result = returnRecipeDirections(recipeData, 595736); -// expect(result.length).to.equal(6); -// }); -// }); +describe("find directions of a recipe", () => { + + it("should return the directions for a given recipe", () => { + const result = returnRecipeDirections(recipeTestData, 595736); + expect (result[0]).to.equal("In a large mixing bowl, whisk together the dry ingredients (flour, pudding mix, soda and salt). Set aside.In a large mixing bowl of a stand mixer, cream butter for 30 seconds. Gradually add granulated sugar and brown sugar and cream until light and fluffy."); + expect(result.length).to.equal(6); + }); + + it ("should return the directions for another recipe", () => { + const result = returnRecipeDirections(recipeTestData, 678353); + expect (result[0]).to.equal("Season the pork chops with salt and pepper and grill or pan fry over medium high heat until cooked, about 3-5 minutes per side. (If grilling, baste the chops in the maple dijon apple cider sauce as you grill.)Meanwhile, mix the remaining ingredients except the apple slices, bring to a simmer and cook until the sauce thickens, about 2-5 minutes.Grill or saute the apple slices until just tender but still crisp.Toss the pork chops and apple slices in the maple dijon apple cider sauce and enjoy!"); + expect(result.length).to.equal(1); + }); + it ("should return an empty array if no matches", () => { + const result = returnRecipeDirections(recipeTestData, "noMatch"); + expect(result.length).to.equal(0); + }); +}); \ No newline at end of file From fbf4f2c7dc37ebc933b4c5270ee2822e31d38261 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Tue, 29 Aug 2023 22:49:33 -0700 Subject: [PATCH 46/73] Display tag button images --- dist/index.html | 9 +++++---- images/antipasti.png | Bin 0 -> 10267 bytes images/antipasto.png | Bin 0 -> 8416 bytes images/appetizer.png | Bin 0 -> 6656 bytes images/breakfast.png | Bin 0 -> 7979 bytes images/brunch.png | Bin 0 -> 7963 bytes images/condiment.png | Bin 0 -> 7715 bytes images/dinner.png | Bin 0 -> 8648 bytes images/dip.png | Bin 0 -> 6652 bytes images/hor d'oeuvre.png | Bin 0 -> 10329 bytes images/lunch.png | Bin 0 -> 7491 bytes images/main course.png | Bin 0 -> 8285 bytes images/main dish.png | Bin 0 -> 8741 bytes images/morning meal.png | Bin 0 -> 8122 bytes images/salad.png | Bin 0 -> 9861 bytes images/sauce.png | Bin 0 -> 7198 bytes images/side dish.png | Bin 0 -> 6102 bytes images/snack.png | Bin 0 -> 7326 bytes images/spread.png | Bin 0 -> 9685 bytes images/starter.png | Bin 0 -> 5763 bytes images/turing-logo.png | Bin 0 -> 46929 bytes src/domUpdates.js | 2 +- src/styles.css | 9 ++++----- 23 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 images/antipasti.png create mode 100644 images/antipasto.png create mode 100644 images/appetizer.png create mode 100644 images/breakfast.png create mode 100644 images/brunch.png create mode 100644 images/condiment.png create mode 100644 images/dinner.png create mode 100644 images/dip.png create mode 100644 images/hor d'oeuvre.png create mode 100644 images/lunch.png create mode 100644 images/main course.png create mode 100644 images/main dish.png create mode 100644 images/morning meal.png create mode 100644 images/salad.png create mode 100644 images/sauce.png create mode 100644 images/side dish.png create mode 100644 images/snack.png create mode 100644 images/spread.png create mode 100644 images/starter.png create mode 100644 images/turing-logo.png diff --git a/dist/index.html b/dist/index.html index 2946322345..ca6044d8b6 100644 --- a/dist/index.html +++ b/dist/index.html @@ -23,10 +23,11 @@

What's Cookin'

- - - - + + + +
diff --git a/images/antipasti.png b/images/antipasti.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ee8dcbc0dbf9a6d85b6c145f71c5542745ba37 GIT binary patch literal 10267 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 literal 0 HcmV?d00001 diff --git a/images/antipasto.png b/images/antipasto.png new file mode 100644 index 0000000000000000000000000000000000000000..191ffe37346a9a6c9d07387333d6005f0ae57ca2 GIT binary patch literal 8416 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 x7bmXRit0NZz;2QM%*FO*`UHPA0-Dr_O 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 literal 0 HcmV?d00001 diff --git a/images/hor d'oeuvre.png b/images/hor d'oeuvre.png new file mode 100644 index 0000000000000000000000000000000000000000..20bb89d17190ecad6474fac3255173448ba1f4d1 GIT binary patch literal 10329 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 literal 0 HcmV?d00001 diff --git a/images/lunch.png b/images/lunch.png new file mode 100644 index 0000000000000000000000000000000000000000..196e19e4610965f2a8f12856d25cbe3e520d731b GIT binary patch literal 7491 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 N002ovPDHLkV1l43PCftt literal 0 HcmV?d00001 diff --git a/images/main course.png b/images/main course.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d6cf60ffab7abbf4509f46082e806ee44803ae GIT binary patch literal 8285 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 literal 0 HcmV?d00001 diff --git a/images/sauce.png b/images/sauce.png new file mode 100644 index 0000000000000000000000000000000000000000..a912f3bb4ecaa7772af297f63eaa6f00d0de1b8b GIT binary patch literal 7198 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 M<<;dHWGo{82U=(r=>Px# literal 0 HcmV?d00001 diff --git a/images/side dish.png b/images/side dish.png new file mode 100644 index 0000000000000000000000000000000000000000..4277f3472593b8ca22ce5eebf53583a44ae0273d GIT binary patch literal 6102 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 literal 0 HcmV?d00001 diff --git a/images/snack.png b/images/snack.png new file mode 100644 index 0000000000000000000000000000000000000000..42310ddf678330c9c3c75676d7df109ba1fcb57f GIT binary patch literal 7326 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 Xk}kbHiOOF*00000NkvXXu0mjfY#*$z literal 0 HcmV?d00001 diff --git a/images/starter.png b/images/starter.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe6063188fd86479d983418b46adfe160d8cd97 GIT binary patch literal 5763 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 B?aTlG literal 0 HcmV?d00001 diff --git a/images/turing-logo.png b/images/turing-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3d3b509416d661b0e91b654cc9a72fc170dc712b GIT binary patch literal 46929 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 j`~T$&9(?wQMfrr { - tagsHtml += `

${tagEl}

+ tagsHtml += `

${tagEl}

`; }); tagButtons.innerHTML = tagsHtml; diff --git a/src/styles.css b/src/styles.css index 3aa4195bb2..feec6f428f 100644 --- a/src/styles.css +++ b/src/styles.css @@ -172,12 +172,12 @@ ul { overflow: scroll; } -.btn { - height: 20px; - width: 100px; +.tag-btn { + width: 50px; + height: auto; } -.btn:hover { +.tag-btn:hover { transform: scale(1.1); } @@ -200,4 +200,3 @@ p { width: 120px; height: 35px; } - From 8097a3300cf6e7446646aa94c034bbad2a151d5b Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Tue, 29 Aug 2023 22:52:29 -0700 Subject: [PATCH 47/73] Add new font api --- dist/index.html | 9 +++------ src/styles.css | 1 + 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dist/index.html b/dist/index.html index ca6044d8b6..91e148fbec 100644 --- a/dist/index.html +++ b/dist/index.html @@ -4,12 +4,9 @@ - - - + + + What's Cookin'? diff --git a/src/styles.css b/src/styles.css index feec6f428f..a70d359755 100644 --- a/src/styles.css +++ b/src/styles.css @@ -194,6 +194,7 @@ ul { p { text-align: center; + font-size: 12px; } .save-recipe-btn { From 7baf48b67f7030f45e5b941e02e2f91a91ac8f64 Mon Sep 17 00:00:00 2001 From: Patrick Eitel Date: Tue, 29 Aug 2023 22:54:29 -0700 Subject: [PATCH 48/73] Finalize recipe tests --- test/recipe-test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/recipe-test.js b/test/recipe-test.js index 99f9bb8a41..804a76645f 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -31,7 +31,7 @@ describe("filter list based on tag", () => { expect(result.length).to.equal(1); }); - it("should return an empty array if no matches", () => { + it("should return an empty array if no matches are found", () => { const result = returnFilteredTag(recipeTestData, "second breakfeast"); expect(result.length).to.equal(0); }); @@ -98,7 +98,7 @@ describe("find directions of a recipe", () => { expect(result.length).to.equal(1); }); - it ("should return an empty array if no matches", () => { + it ("should return an empty array if no matches are found", () => { const result = returnRecipeDirections(recipeTestData, "noMatch"); expect(result.length).to.equal(0); }); From d1bca156e67a48c0b9371e2e254eb3d1eb0bfac8 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Tue, 29 Aug 2023 23:09:38 -0700 Subject: [PATCH 49/73] Update input styling --- dist/index.html | 6 +++--- src/styles.css | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/dist/index.html b/dist/index.html index 91e148fbec..a08322753d 100644 --- a/dist/index.html +++ b/dist/index.html @@ -6,7 +6,7 @@ - + What's Cookin'? @@ -16,8 +16,8 @@

What's Cookin'

diff --git a/src/styles.css b/src/styles.css index 8cba3fc074..8e37d92271 100644 --- a/src/styles.css +++ b/src/styles.css @@ -70,7 +70,9 @@ input:hover { display: flex; flex-direction: column; background-color:white; - border: 2px solid black; + margin: 10px; + /* border: 2px solid black; */ + filter: drop-shadow(0 0 0.1rem black); align-items: center; border-radius: 35px; } @@ -102,7 +104,20 @@ img:hover { .view-saved { height: 50px; - width: 200px; + width: 240px; + border: none; + font-size: 16px; + background-color: #DFE5EF; + border-radius: 25px; + margin-bottom: 20px; +} + +.view-saved:hover { + background-color: #B3BFD5; +} + +.view-saved:active { + background-color: #A7B1C9; } button:hover { @@ -211,6 +226,7 @@ ul { padding: 20px; border-radius: 35px; border: none; + margin-top: 15px; } p { @@ -219,6 +235,18 @@ p { } .save-recipe-btn { - width: 120px; - height: 35px; + width: 100px; + height: 40px; + margin: 16px; + background-color: #B1C7D2; + border: none; + border-radius: 25px; +} + +.save-recipe-btn:hover { + background-color: #BED0DA; +} + +.save-recipe-btn:active { + background-color: #8FAEBE; } From a008467d39f6343a186ea3dc9ca8890a7fa697f5 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Tue, 29 Aug 2023 23:54:10 -0700 Subject: [PATCH 52/73] Change 'View Saved' to 'View Saved Recipes' --- src/scripts.js | 20 +++++++++++--------- src/styles.css | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/scripts.js b/src/scripts.js index 933cc1e087..beb4566fdd 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -80,15 +80,15 @@ Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( createRandomUser(usersData); savedRecipesBtn.addEventListener("click", () => { - if (savedRecipesBtn.innerText === "View Saved") { - console.log(currentUser.recipesToCook); - console.log(currentUser); + if (savedRecipesBtn.innerText === "View Saved Recipes") { + // console.log(currentUser.recipesToCook); + // console.log(currentUser); displayRecipes(currentUser.recipesToCook, "Remove Recipe"); savedRecipesBtn.innerText = "View All"; displayTags(currentUser.recipesToCook); } else { displayRecipes(recipeData, "Save Recipe"); - savedRecipesBtn.innerText = "View Saved"; + savedRecipesBtn.innerText = "View Saved Recipes"; displayTags(recipeData); } }); @@ -96,10 +96,12 @@ Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( recipeDisplay.addEventListener("click", (event) => { let clickedId = event.target.parentNode.firstChild.id; if (event.target.innerText === "Save Recipe") { - event.target.innerText = "Saved"; + event.target.innerText = "Saved!"; + event.target.style.backgroundColor = '#718A98' saveRecipe(recipeData, currentUser.recipesToCook, clickedId); - } else if (event.target.innerText === "Saved") { + } else if (event.target.innerText === "Saved!") { event.target.innerText = "Save Recipe"; + event.target.style.backgroundColor = '#B1C7D2' deleteRecipe(currentUser.recipesToCook, clickedId); } else if (event.target.innerText === "Remove Recipe") { deleteRecipe(currentUser.recipesToCook, clickedId); @@ -109,7 +111,7 @@ Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( }); inputName.addEventListener("keydown", (event) => { - if (savedRecipesBtn.innerText === "View Saved") { + if (savedRecipesBtn.innerText === "View Saved Recipes") { const userInput = getUserInput(".input-name"); const recipeIdsByName = findRecipeByName(userInput, recipeData); displayRecipes(recipeIdsByName, "Save Recipe"); @@ -124,7 +126,7 @@ Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( }); inputIngredient.addEventListener("keydown", (event) => { - if (savedRecipesBtn.innerText === "View Saved") { + if (savedRecipesBtn.innerText === "View Saved Recipes") { const userInput = getUserInput(".input-ingredient"); const recipeIdsByIngredient = findRecipeByIngredient( userInput, @@ -146,7 +148,7 @@ Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( tagButtons.addEventListener("click", (event) => { let tagClicked; tagClicked = event.target.id; - if (savedRecipesBtn.innerText === "View Saved") { + if (savedRecipesBtn.innerText === "View Saved Recipes") { const filteredRecipeIDByTag = returnFilteredTag(recipeData, tagClicked); displayRecipes(filteredRecipeIDByTag, "Save Recipe"); } else { diff --git a/src/styles.css b/src/styles.css index 8e37d92271..7a230316d8 100644 --- a/src/styles.css +++ b/src/styles.css @@ -235,7 +235,7 @@ p { } .save-recipe-btn { - width: 100px; + width: 130px; height: 40px; margin: 16px; background-color: #B1C7D2; From 63435e375e1b76d0a13831b2373d83fe0dbfd69c Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 00:13:48 -0700 Subject: [PATCH 53/73] Add height to recipe card --- src/domUpdates.js | 4 ++-- src/styles.css | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/domUpdates.js b/src/domUpdates.js index 4775ee4c2b..95b1d9ba89 100644 --- a/src/domUpdates.js +++ b/src/domUpdates.js @@ -4,7 +4,7 @@ const recipeDisplay = document.querySelector(".recipes"); const tagButtons = document.querySelector(".tag-buttons"); export function displayRecipes(array, innerText) { - let recipeHTML = ""; + let recipeHTML = ``; array.forEach((recipeEl) => { recipeHTML += `
${recipeEl.name}
-
`; +
`; }); recipeDisplay.innerHTML = recipeHTML; } diff --git a/src/styles.css b/src/styles.css index 7a230316d8..acac2674f8 100644 --- a/src/styles.css +++ b/src/styles.css @@ -57,7 +57,7 @@ input:hover { display: flex; flex-wrap: wrap; gap: 15px; - align-items: center; + /* align-items: center; */ justify-content: center; height: 750px; width: 80%; @@ -70,6 +70,7 @@ input:hover { display: flex; flex-direction: column; background-color:white; + height: 350px; margin: 10px; /* border: 2px solid black; */ filter: drop-shadow(0 0 0.1rem black); @@ -80,7 +81,7 @@ input:hover { .title-recipe { width: 250px; height: 50px; - overflow: scroll; + /* overflow: scroll; */ text-align: center; display: flex; justify-content: center; From 23c8adfbbfee434f359f4478bffa6472e65e9f3f Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 00:36:14 -0700 Subject: [PATCH 54/73] Update modal styling --- dist/index.html | 10 +++++++--- src/styles.css | 15 ++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/dist/index.html b/dist/index.html index 730a6fc4e1..6efbbc05d4 100644 --- a/dist/index.html +++ b/dist/index.html @@ -76,16 +76,20 @@ + diff --git a/src/styles.css b/src/styles.css index acac2674f8..21d8665064 100644 --- a/src/styles.css +++ b/src/styles.css @@ -153,7 +153,7 @@ button:hover { width: 90vw; opacity: 0.95; height: 60vh; - text-align: center; + /* text-align: center; */ display: grid; place-items: center; position: relative; @@ -170,6 +170,7 @@ button:hover { height: 50px; width: 50px; } + .close-btn:hover { transform: scale(1.3); } @@ -177,6 +178,8 @@ button:hover { .modal-container { display: flex; justify-content: space-between; + border-radius: 25px; + padding-top: 10px; } .modal-title-directions { @@ -251,3 +254,13 @@ p { .save-recipe-btn:active { background-color: #8FAEBE; } + +.modal-tags, +.modal-title { + text-align: center; +} + +.modal-ingredients, +.modal-ingredients-list { + text-align: start; +} \ No newline at end of file From 0138ce2c1b9c776520813ec925aaea0d1f56f611 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 09:04:25 -0700 Subject: [PATCH 55/73] Update recipe recipe card styling --- src/scripts.js | 8 ++++---- src/styles.css | 32 +++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/scripts.js b/src/scripts.js index beb4566fdd..393421537a 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -96,12 +96,12 @@ Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( recipeDisplay.addEventListener("click", (event) => { let clickedId = event.target.parentNode.firstChild.id; if (event.target.innerText === "Save Recipe") { - event.target.innerText = "Saved!"; - event.target.style.backgroundColor = '#718A98' + event.target.innerText = "✓ Saved"; + event.target.style.backgroundColor = '#89ce94' saveRecipe(recipeData, currentUser.recipesToCook, clickedId); - } else if (event.target.innerText === "Saved!") { + } else if (event.target.innerText === "✓ Saved") { event.target.innerText = "Save Recipe"; - event.target.style.backgroundColor = '#B1C7D2' + event.target.style.backgroundColor = '#e5e7e9' deleteRecipe(currentUser.recipesToCook, clickedId); } else if (event.target.innerText === "Remove Recipe") { deleteRecipe(currentUser.recipesToCook, clickedId); diff --git a/src/styles.css b/src/styles.css index 21d8665064..4c77baa530 100644 --- a/src/styles.css +++ b/src/styles.css @@ -6,7 +6,7 @@ } body { -background-color: hsl(204deg, 67%, 85%) +background-color: #bfdef2; } main { @@ -70,12 +70,12 @@ input:hover { display: flex; flex-direction: column; background-color:white; - height: 350px; + height: 330px; margin: 10px; /* border: 2px solid black; */ filter: drop-shadow(0 0 0.1rem black); align-items: center; - border-radius: 35px; + border-radius: 25px; } .title-recipe { @@ -108,17 +108,17 @@ img:hover { width: 240px; border: none; font-size: 16px; - background-color: #DFE5EF; + background-color: #ae99c8; border-radius: 25px; margin-bottom: 20px; } .view-saved:hover { - background-color: #B3BFD5; + background-color: #b39fcb; } .view-saved:active { - background-color: #A7B1C9; + background-color: #a68fc3; } button:hover { @@ -179,7 +179,8 @@ button:hover { display: flex; justify-content: space-between; border-radius: 25px; - padding-top: 10px; + padding-top: 60px; + padding-bottom: 40px; } .modal-title-directions { @@ -241,18 +242,22 @@ p { .save-recipe-btn { width: 130px; height: 40px; - margin: 16px; - background-color: #B1C7D2; + margin: 5px; + background-color: #e5e7e9; border: none; border-radius: 25px; } .save-recipe-btn:hover { - background-color: #BED0DA; + background-color: #e8eaec; } .save-recipe-btn:active { - background-color: #8FAEBE; + background-color: #e8eaec; +} + +.modal-title { + font-size: 1.6rem; } .modal-tags, @@ -263,4 +268,9 @@ p { .modal-ingredients, .modal-ingredients-list { text-align: start; + margin-top: 20px; +} + +.modal-directions-list { + margin-right: 30px; } \ No newline at end of file From 5d3c105d1ac43983aae34b4485d375b92aeda4f7 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 10:20:15 -0700 Subject: [PATCH 56/73] Update button styling --- src/styles.css | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/styles.css b/src/styles.css index 4c77baa530..905e095381 100644 --- a/src/styles.css +++ b/src/styles.css @@ -111,6 +111,8 @@ img:hover { background-color: #ae99c8; border-radius: 25px; margin-bottom: 20px; + /* border: solid transparent; */ + box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17); } .view-saved:hover { @@ -240,12 +242,13 @@ p { } .save-recipe-btn { - width: 130px; + width: 120px; height: 40px; margin: 5px; background-color: #e5e7e9; border: none; border-radius: 25px; + box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17); } .save-recipe-btn:hover { @@ -273,4 +276,5 @@ p { .modal-directions-list { margin-right: 30px; -} \ No newline at end of file +} + From 6d352b70db9fc0a0223d8b46c73d80e42e92ded7 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 10:30:14 -0700 Subject: [PATCH 57/73] Add box shadow to recipe card --- src/styles.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/styles.css b/src/styles.css index 905e095381..0708fb6572 100644 --- a/src/styles.css +++ b/src/styles.css @@ -74,6 +74,7 @@ input:hover { margin: 10px; /* border: 2px solid black; */ filter: drop-shadow(0 0 0.1rem black); + box-shadow:inset 0 -0.6em 0 -0.40em rgba(0,0,0,0.17); align-items: center; border-radius: 25px; } @@ -97,6 +98,7 @@ img { height: 200px; width: 250px; border-radius: 15px; + margin: 2px; } img:hover { From cf54f28ac25928a9250d1be125df8bc880884c19 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 10:43:01 -0700 Subject: [PATCH 58/73] Add box shadow to modal --- src/styles.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/styles.css b/src/styles.css index 0708fb6572..c43c909239 100644 --- a/src/styles.css +++ b/src/styles.css @@ -185,6 +185,7 @@ button:hover { border-radius: 25px; padding-top: 60px; padding-bottom: 40px; + box-shadow:inset 0 -1em 0 -0.45em rgba(0,0,0,0.17); } .modal-title-directions { From 94ba9da01b310c907fbffaa41d6a6a25952d2798 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 10:44:03 -0700 Subject: [PATCH 59/73] Update close button hover styling --- src/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/styles.css b/src/styles.css index c43c909239..aef50bc8a9 100644 --- a/src/styles.css +++ b/src/styles.css @@ -176,7 +176,8 @@ button:hover { } .close-btn:hover { - transform: scale(1.3); + transform: scale(1.2); + color: red; } .modal-container { From 784956e8d0f60e51e1b40bf8d508201fd3bdb8c7 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 12:32:03 -0700 Subject: [PATCH 60/73] Add scripts.js --- src/scripts.js | 191 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) diff --git a/src/scripts.js b/src/scripts.js index e69de29bb2..3b0bd02466 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -0,0 +1,191 @@ +// +import "./styles.css"; +import "./domUpdates.js"; +import "./functions.js"; + +import { + createFunction, + returnFilteredListName, + returnIngredientNames, + returnFilteredTag, + returnRecipeCost, + returnRecipeDirections, + returnRecipeTitle, + returnRecipeTags, + returnRecipeImgUrl, + returnListOfUniqueTags, + returnFilteredRecipeArrayByTagID, + findRecipeByIngredient, + findRecipeByName, + getUserInput, + saveRecipe, + deleteRecipe, + createRandomUser, +} from "/src/functions.js"; + +import { displayRecipes } from "./domUpdates.js"; +import { displayTags } from "./domUpdates.js"; +import { fetchIngredients, fetchRecipes, fetchUsers } from "./apiCalls"; + +const recipeDisplay = document.querySelector(".recipes"); + +const modal = document.querySelector(".modal"); +const modalContainer = document.querySelector(".modal-container"); +const modalOverlay = document.querySelector(".modal-overlay"); +const modalTitle = document.querySelector(".modal-title"); +const modalTags = document.querySelector(".modal-tags"); +const modalDirections = document.querySelector(".modal-directions-list"); +const modalCost = document.querySelector(".modal-cost"); +const modalIngredients = document.querySelector(".modal-ingredients-list"); +const closeBtn = document.querySelector(".close-btn"); +const tagButtons = document.querySelector(".tag-buttons"); +const inputName = document.querySelector(".input-name"); +const inputIngredient = document.querySelector(".input-ingredient"); +const savedRecipesBtn = document.querySelector(".view-saved"); + +export let currentUser = {}; + +let usersData = null; +let ingredientsData = null; +let recipeData = null; + +Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( + ([usersDataValue, ingredientsDataValue, recipeDataValue]) => { + usersData = usersDataValue; + ingredientsData = ingredientsDataValue; + recipeData = recipeDataValue; + + displayRecipes(recipeData, "Save Recipe"); + displayTags(recipeData); + createRandomUser(usersData); + + savedRecipesBtn.addEventListener("click", () => { + if (savedRecipesBtn.innerText === "View Saved") { + console.log(currentUser.recipesToCook); + console.log(currentUser); + displayRecipes(currentUser.recipesToCook, "Remove Recipe"); + savedRecipesBtn.innerText = "View All"; + displayTags(currentUser.recipesToCook); + } else { + displayRecipes(recipeData, "Save Recipe"); + savedRecipesBtn.innerText = "View Saved"; + displayTags(recipeData); + } + }); + + recipeDisplay.addEventListener("click", (event) => { + let clickedId = event.target.parentNode.firstChild.id; + if (event.target.innerText === "Save Recipe") { + event.target.innerText = "Saved"; + saveRecipe(recipeData, currentUser.recipesToCook, clickedId); + } else if (event.target.innerText === "Saved") { + event.target.innerText = "Save Recipe"; + deleteRecipe(currentUser.recipesToCook, clickedId); + } else if (event.target.innerText === "Remove Recipe") { + deleteRecipe(currentUser.recipesToCook, clickedId); + displayRecipes(currentUser.recipesToCook, "Remove Recipe"); + displayTags(currentUser.recipesToCook); + } + }); + + inputName.addEventListener("keydown", (event) => { + if (savedRecipesBtn.innerText === "View Saved") { + const userInput = getUserInput(".input-name"); + const recipeIdsByName = findRecipeByName(userInput, recipeData); + displayRecipes(recipeIdsByName, "Save Recipe"); + } else { + const userInput = getUserInput(".input-name"); + const recipeIdsByName = findRecipeByName( + userInput, + currentUser.recipesToCook + ); + displayRecipes(recipeIdsByName, "Remove Recipe"); + } + }); + + inputIngredient.addEventListener("keydown", (event) => { + if (savedRecipesBtn.innerText === "View Saved") { + const userInput = getUserInput(".input-ingredient"); + const recipeIdsByIngredient = findRecipeByIngredient( + userInput, + ingredientsData, + recipeData + ); + displayRecipes(recipeIdsByIngredient, "Save Recipe"); + } else { + const userInput = getUserInput(".input-ingredient"); + const recipeIdsByIngredient = findRecipeByIngredient( + userInput, + ingredientsData, + currentUser.recipesToCook + ); + displayRecipes(recipeIdsByIngredient, "Remove Recipe"); + } + }); + + tagButtons.addEventListener("click", (event) => { + let tagClicked; + tagClicked = event.target.id; + if (savedRecipesBtn.innerText === "View Saved") { + const filteredRecipeIDByTag = returnFilteredTag(recipeData, tagClicked); + displayRecipes(filteredRecipeIDByTag, "Save Recipe"); + } else { + const filteredRecipeIDByTag = returnFilteredTag( + currentUser.recipesToCook, + tagClicked + ); + displayRecipes(filteredRecipeIDByTag, "Remove Recipe"); + } + }); + + recipeDisplay.addEventListener("click", (event) => { + let idClicked; + idClicked = event.target.id; + if (idClicked.length === 6) { + const directions = returnRecipeDirections(recipeData, idClicked); + const cost = returnRecipeCost(recipeData, ingredientsData, idClicked); + modalCost.innerText = `Estimated Cost of Ingredients: $${cost}`; + const ingredients = returnIngredientNames( + recipeData, + ingredientsData, + idClicked + ); + const title = returnRecipeTitle(recipeData, idClicked); + modalTitle.innerHTML = title; + + const tags = returnRecipeTags(recipeData, idClicked); + const url = returnRecipeImgUrl(recipeData, idClicked); + + let directionsHtml = ""; + directions.forEach((directionsEl, index) => { + let stepNumber = index + 1; + directionsHtml += `
  • Step ${stepNumber}: ${directionsEl}
  • `; + }); + modalDirections.innerHTML = directionsHtml; + + let ingredientsHtml = ""; + ingredients.forEach((ingredientEl) => { + ingredientsHtml += `
  • ${ingredientEl}
  • `; + }); + modalIngredients.innerHTML = ingredientsHtml; + + let tagsHtml = ""; + tags.forEach((tagsEl) => { + tagsHtml += `
  • ${tagsEl}
  • `; + }); + modalTags.innerHTML = tagsHtml; + + modalOverlay.classList.add("open-modal"); + + modalContainer.style.backgroundImage = `linear-gradient( + rgba(15, 15, 15, 0.7), + rgba(15, 15, 15, 0.7) + ), url(${url})`; + } + }); + + closeBtn.addEventListener("click", function () { + modalOverlay.classList.remove("open-modal"); + }); + } +); \ No newline at end of file From ec596372eb780978e346b12b25f3f0af1f61a0aa Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 12:32:35 -0700 Subject: [PATCH 61/73] Add functions.js --- src/functions.js | 222 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) diff --git a/src/functions.js b/src/functions.js index e69de29bb2..7c641269fa 100644 --- a/src/functions.js +++ b/src/functions.js @@ -0,0 +1,222 @@ +import { currentUser } from "./scripts.js"; + +function createFunction(array) { + return array; +} + +function returnFilteredTag(array, tag) { + const filteredRecipe = array.filter((recipeEl) => { + return recipeEl.tags.includes(tag); + }); + if (filteredRecipe) { + return filteredRecipe.map((recipeEl) => { + return recipeEl; + }); + } else { + return []; + } +} + +function returnRecipeCost(arrayRecipe, arrayIngredients, recipeID) { + const filteredRecipe = arrayRecipe.find((recipeEl) => { + return recipeEl.id === parseInt(recipeID); + }); + if (filteredRecipe) { + const ingredientsArr = filteredRecipe.ingredients; + let totalCost = 0; + + ingredientsArr.forEach((ingredientEl) => { + const matchingIngredient = arrayIngredients.find((ingredientsObjEl) => { + return ingredientEl.id === ingredientsObjEl.id; + }); + if (matchingIngredient) { + totalCost += + (ingredientEl.quantity.amount * + matchingIngredient.estimatedCostInCents) / + 100; + } + }); + return Math.round(totalCost); + } +} + +function returnIngredientNames(arrayRecipe, arrayIngredients, recipeID) { + const filteredRecipe = arrayRecipe.find((recipeEl) => { + return recipeEl.id === parseInt(recipeID); + }); + if (filteredRecipe) { + const ingredientsArr = filteredRecipe.ingredients; + return ingredientsArr.map((ingredientEl) => { + const matchingIngredient = arrayIngredients.find((ingredientsObjEl) => { + return ingredientEl.id === ingredientsObjEl.id; + }); + if (matchingIngredient) { + return matchingIngredient.name; + } + }); + } + return []; +} +function returnRecipeDirections(array, recipeID) { + const filteredRecipe = array.find((recipeEl) => { + return recipeEl.id === parseInt(recipeID); + //recipeEl.id was a number + //recipeId was a string + // write a test case for different data types. + }); + + if (filteredRecipe) { + return filteredRecipe.instructions.map((instructionsObj) => { + return instructionsObj.instruction; + }); + } else { + return []; + } +} + +function returnFilteredListName(array, name) { + return array + .filter((recipeEl) => { + return ( + recipeEl.name.includes(name) || + recipeEl.name.toLowerCase().includes(name.toLowerCase()) + ); + }) + .map((filteredRecipeEl) => { + return filteredRecipeEl; + }); +} + +function returnRecipeTitle(array, recipeID) { + return array + .filter((recipeEl) => { + return recipeEl.id === parseInt(recipeID); + }) + .map((oneRecipeEl) => { + return oneRecipeEl.name; + }); +} + +function returnRecipeTags(array, recipeID) { + return array + .filter((recipeEl) => { + return recipeEl.id === parseInt(recipeID); + }) + .flatMap((recipeEl) => { + return recipeEl.tags; + }); +} + +function returnRecipeImgUrl(array, recipeID) { + return array + .filter((recipeEl) => { + return recipeEl.id === parseInt(recipeID); + }) + .map((filteredRecipeEl) => { + return filteredRecipeEl.image; + }); +} + +function returnListOfUniqueTags(array) { + return array.reduce((acc, curr) => { + curr.tags.forEach((tagEl) => { + if (!acc.includes(tagEl)) { + acc.push(tagEl); + } + }); + return acc; + }, []); +} + +function returnFilteredRecipeArrayByTagID(arrayTagsID, arrayRecipe) { + return arrayRecipe.filter((arrayRecipeEl) => { + return arrayTagsID.some((idEl) => { + return idEl === arrayRecipeEl.id; + }); + }); +} + +function findRecipeByName(userInput, recipeData) { + const storedRecipeIds = recipeData + .filter((recipe) => { + const recipeName = recipe.name.toLowerCase(); + return recipeName.includes(userInput); + }) + .map((recipe) => recipe); + return storedRecipeIds; +} + +function findRecipeByIngredient(userInput, ingredientsData, recipeData) { + const storedIngredientIds = ingredientsData + .filter( + (ingredient) => ingredient.name && ingredient.name.includes(userInput) + ) + .map((ingredient) => ingredient.id); + + const recipesWithMatch = recipeData.filter((recipe) => { + return recipe.ingredients.some((ingredient) => + storedIngredientIds.includes(ingredient.id) + ); + }); + const recipeIdsWithMatch = recipesWithMatch.map((recipe) => recipe); + return recipeIdsWithMatch; +} + +function getUserInput(inputType) { + const userInput = document.querySelector(inputType).value; + return userInput.toLowerCase(); +} + +function saveRecipe(dataArray, savedArray, clickedId) { + const savedRecipe = dataArray.find((recipeEl) => { + return recipeEl.id === parseInt(clickedId); + }); + if (!savedArray.includes(savedRecipe)) { + savedArray.push(savedRecipe); + return savedArray; + } +} + +function deleteRecipe(savedArray, clickedId) { + const recipeIndex = savedArray.findIndex((savedRecipeEl) => { + return savedRecipeEl.id === parseInt(clickedId); + }); + if (recipeIndex !== -1) { + savedArray.splice(recipeIndex, 1); + } + return savedArray; +} + +function createRandomUser(array) { + const randIndex = Math.floor(Math.random() * array.length); + + const randomUser = array.find((userEl) => { + return userEl.id == randIndex; + }); + currentUser.name = randomUser.name; + currentUser.id = randomUser.id; + currentUser.recipesToCook = []; + console.log(currentUser); + + return currentUser; +} + +export { + createFunction, + returnFilteredListName, + returnIngredientNames, + returnFilteredTag, + returnRecipeCost, + returnRecipeDirections, + returnRecipeTitle, + returnRecipeTags, + returnRecipeImgUrl, + returnListOfUniqueTags, + returnFilteredRecipeArrayByTagID, + findRecipeByIngredient, + findRecipeByName, + getUserInput, + saveRecipe, + deleteRecipe, + createRandomUser, +}; \ No newline at end of file From f5c32bd4288a252962f59dc5786adce74b346fae Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 12:32:54 -0700 Subject: [PATCH 62/73] Add domUpdates.js --- src/domUpdates.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/domUpdates.js b/src/domUpdates.js index e69de29bb2..db140a9fd0 100644 --- a/src/domUpdates.js +++ b/src/domUpdates.js @@ -0,0 +1,29 @@ +import { returnListOfUniqueTags } from "../src/functions.js"; + +const recipeDisplay = document.querySelector(".recipes"); +const tagButtons = document.querySelector(".tag-buttons"); + +export function displayRecipes(array, innerText) { + let recipeHTML = ""; + array.forEach((recipeEl) => { + recipeHTML += `
    ${recipeEl.name}
    + recipe-img + +
    `; + }); + recipeDisplay.innerHTML = recipeHTML; +} + +export function displayTags(array) { + const tagsArray = returnListOfUniqueTags(array); + let tagsHtml = ""; + tagsArray.forEach((tagEl) => { + tagsHtml += `

    ${tagEl}

    + `; + }); + tagButtons.innerHTML = tagsHtml; +} \ No newline at end of file From 06566b2d0feea928ad9be08e50a9f3ef8d6be757 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 12:38:53 -0700 Subject: [PATCH 63/73] Add recipe-test.js --- test/recipe-test.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/recipe-test.js b/test/recipe-test.js index ed49693f5c..99f9bb8a41 100644 --- a/test/recipe-test.js +++ b/test/recipe-test.js @@ -8,9 +8,8 @@ import { returnFilteredTag, returnRecipeCost, returnRecipeDirections, -} from "../src/functions.js"; +} from "../src/functions.js" //from functions - // const ingredientsData = require("../src/data/ingredients.js"); import ingredientsTestData from "../src/data/ingredients-test-data.js"; @@ -32,7 +31,7 @@ describe("filter list based on tag", () => { expect(result.length).to.equal(1); }); - it("should return an empty array if no matches are found", () => { + it("should return an empty array if no matches", () => { const result = returnFilteredTag(recipeTestData, "second breakfeast"); expect(result.length).to.equal(0); }); @@ -99,7 +98,7 @@ describe("find directions of a recipe", () => { expect(result.length).to.equal(1); }); - it ("should return an empty array if no matches are found", () => { + it ("should return an empty array if no matches", () => { const result = returnRecipeDirections(recipeTestData, "noMatch"); expect(result.length).to.equal(0); }); From 94432b92d7bba5a02d83b8a95e67c65c77199c8a Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 12:44:21 -0700 Subject: [PATCH 64/73] Fix document error --- src/functions.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/functions.js b/src/functions.js index 7c641269fa..300c8f766f 100644 --- a/src/functions.js +++ b/src/functions.js @@ -1,5 +1,3 @@ -import { currentUser } from "./scripts.js"; - function createFunction(array) { return array; } From 01fc00c54fb6dabab509ee191a3ab06308318b01 Mon Sep 17 00:00:00 2001 From: Johann Dee Date: Wed, 30 Aug 2023 13:26:45 -0700 Subject: [PATCH 65/73] Move createRandomUser to scripts --- src/functions.js | 15 --------------- src/scripts.js | 17 +++++++++++++++-- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/functions.js b/src/functions.js index 300c8f766f..6bdee5b00a 100644 --- a/src/functions.js +++ b/src/functions.js @@ -185,20 +185,6 @@ function deleteRecipe(savedArray, clickedId) { return savedArray; } -function createRandomUser(array) { - const randIndex = Math.floor(Math.random() * array.length); - - const randomUser = array.find((userEl) => { - return userEl.id == randIndex; - }); - currentUser.name = randomUser.name; - currentUser.id = randomUser.id; - currentUser.recipesToCook = []; - console.log(currentUser); - - return currentUser; -} - export { createFunction, returnFilteredListName, @@ -216,5 +202,4 @@ export { getUserInput, saveRecipe, deleteRecipe, - createRandomUser, }; \ No newline at end of file diff --git a/src/scripts.js b/src/scripts.js index 393421537a..fa0be2f34b 100644 --- a/src/scripts.js +++ b/src/scripts.js @@ -40,7 +40,6 @@ import { getUserInput, saveRecipe, deleteRecipe, - createRandomUser, } from "/src/functions.js"; import { displayRecipes } from "./domUpdates.js"; @@ -63,12 +62,26 @@ const inputName = document.querySelector(".input-name"); const inputIngredient = document.querySelector(".input-ingredient"); const savedRecipesBtn = document.querySelector(".view-saved"); -export let currentUser = {}; +let currentUser = {}; let usersData = null; let ingredientsData = null; let recipeData = null; +function createRandomUser(array) { + const randIndex = Math.floor(Math.random() * array.length); + + const randomUser = array.find((userEl) => { + return userEl.id == randIndex; + }); + currentUser.name = randomUser.name; + currentUser.id = randomUser.id; + currentUser.recipesToCook = []; + console.log(currentUser); + + return currentUser; +} + Promise.all([fetchUsers, fetchIngredients, fetchRecipes]).then( ([usersDataValue, ingredientsDataValue, recipeDataValue]) => { usersData = usersDataValue; From a8e0ae96bc66c454bac21967b9be6b5b07a79d2f Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Wed, 30 Aug 2023 13:45:24 -0700 Subject: [PATCH 66/73] changes --- src/styles.css | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/styles.css b/src/styles.css index aef50bc8a9..c0c6c21697 100644 --- a/src/styles.css +++ b/src/styles.css @@ -2,11 +2,11 @@ /* border: 2px solid green; */ margin: 0; padding: 0; - font-family: 'Manrope', sans-serif; + font-family: "Manrope", sans-serif; } body { -background-color: #bfdef2; + background-color: #bfdef2; } main { @@ -22,7 +22,7 @@ h1 { align-items: center; justify-content: center; font-size: 60px; - font-family: 'Cedarville Cursive', cursive; + font-family: "Cedarville Cursive", cursive; font-weight: bolder; } @@ -36,7 +36,7 @@ h1 { input { font-size: 20px; - background-color: #EEEEEE; + background-color: #eeeeee; border: none; border-radius: 25px; width: 400px; @@ -44,12 +44,12 @@ input { } input::placeholder { - font-family: 'Cedarville Cursive', cursive; + font-family: "Cedarville Cursive", cursive; font-size: 22px; } input:hover { - background-color: #DDDDDD; + background-color: #dddddd; cursor: pointer; } @@ -69,12 +69,12 @@ input:hover { .recipe-card { display: flex; flex-direction: column; - background-color:white; + background-color: white; height: 330px; margin: 10px; /* border: 2px solid black; */ filter: drop-shadow(0 0 0.1rem black); - box-shadow:inset 0 -0.6em 0 -0.40em rgba(0,0,0,0.17); + box-shadow: inset 0 -0.6em 0 -0.4em rgba(0, 0, 0, 0.17); align-items: center; border-radius: 25px; } @@ -114,7 +114,7 @@ img:hover { border-radius: 25px; margin-bottom: 20px; /* border: solid transparent; */ - box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17); + box-shadow: inset 0 -0.6em 0 -0.35em rgba(0, 0, 0, 0.17); } .view-saved:hover { @@ -186,7 +186,7 @@ button:hover { border-radius: 25px; padding-top: 60px; padding-bottom: 40px; - box-shadow:inset 0 -1em 0 -0.45em rgba(0,0,0,0.17); + box-shadow: inset 0 -1em 0 -0.45em rgba(0, 0, 0, 0.17); } .modal-title-directions { @@ -252,7 +252,7 @@ p { background-color: #e5e7e9; border: none; border-radius: 25px; - box-shadow:inset 0 -0.6em 0 -0.35em rgba(0,0,0,0.17); + box-shadow: inset 0 -0.6em 0 -0.35em rgba(0, 0, 0, 0.17); } .save-recipe-btn:hover { @@ -281,4 +281,3 @@ p { .modal-directions-list { margin-right: 30px; } - From fa75b9b3cef2db4012f22f1c724576f622eeee96 Mon Sep 17 00:00:00 2001 From: Nicole Rue Date: Wed, 30 Aug 2023 14:21:42 -0700 Subject: [PATCH 67/73] add some css and clean up some commented out lines of code --- dist/index.html | 6 +- index.html | 0 src/scripts.js | 48 ++++----- src/styles.css | 233 +++++++++++++++++++++++++++----------------- test/recipe-test.js | 77 ++++++++++----- 5 files changed, 224 insertions(+), 140 deletions(-) delete mode 100644 index.html diff --git a/dist/index.html b/dist/index.html index d4ffac871d..60e36bc19d 100644 --- a/dist/index.html +++ b/dist/index.html @@ -9,7 +9,9 @@ - + + + What's Cookin'? @@ -84,7 +86,7 @@
    - recipe-img +
    - recipe-img
    - recipe-img
    - recipe-img
    @@ -69,11 +50,9 @@

    What's Cookin'