private void SpawnRecipes(bool active)
    {
        ClearRecipesOnScreen();
        List <Recipe> recipes = active ? RecipeManager.Instance.ActiveRecipes.Select(r => r.Recipe).ToList() : RecipeManager.Instance.InactiveRecipes;

        foreach (Recipe recipe in recipes)
        {
            var obj = Instantiate(recipePrefab, container).transform;
            UI.ChildText(obj, "Name", recipe.recipeName);
            UI.ChildText(obj, "EstimatedCost", "Estimated cost: <b>" + recipe.Cost + "$</b>");
            BulletPoint.BulletPoint list = obj.Find("List").GetComponent <BulletPoint.BulletPoint> ();
            for (int i = 0; i < recipe.ingredients.Count; i++)
            {
                list.AddBulletPoint(recipe.ingredients[i].ingredientName + " <i><color=#FFB8B2>x" + recipe.ingredientAmount[i] + "</color></i>");
            }
            Button button = obj.Find("Button").GetComponent <Button>();
            if (active)
            {
                TMP_InputField priceField = obj.Find("Price").GetComponent <TMP_InputField>();
                priceField.placeholder.GetComponent <TextMeshProUGUI>().text = "Price: " + RecipeManager.Instance.ActiveRecipes.Find(r => r.Recipe == recipe).Price.ToString() + "$";
                priceField.onEndEdit.AddListener((string cost) => EditPrice(recipe, cost));
                UI.ChildText(button.transform, 0, "Remove");
                button.onClick.AddListener(() =>
                {
                    RecipeManager.Instance.DeleteActiveRecipe(recipe);
                    Destroy(obj.gameObject);
                });
            }
            else
            {
                button.onClick
                .AddListener(() =>
                {
                    float price = 0;
                    try
                    {
                        price = float.Parse(obj.Find("Price").GetComponent <TMPro.TMP_InputField>().text);
                    }
                    catch (System.Exception)
                    {
                        UI.Instance.OpenErrorScreen("The entered price is invalid");
                        return;
                    }
                    RecipeManager.ActiveRecipe addRecipe = new RecipeManager.ActiveRecipe(recipe, price);
                    RecipeManager.Instance.AddActiveRecipe(addRecipe);
                    Destroy(obj.gameObject);
                });
            }
        }
    }
    private void EditPrice(Recipe recipe, string newCost)
    {
        RecipeManager.ActiveRecipe ar = RecipeManager.Instance.ActiveRecipes.Find(r => r.Recipe == recipe);
        float price = 0;

        try
        {
            price = float.Parse(newCost);
        }
        catch (Exception e)
        {
            Debug.LogError(e.Message);
            UI.Instance.OpenErrorScreen("The new price entered is invalid.");
            return;
        }
        if (price <= 0)
        {
            UI.Instance.OpenErrorScreen("The new price entered is invalid.");
            return;
        }
        ar.Price = float.Parse(newCost);
        UI.Instance.OpenSuccessScreen("Price updated successfuly!");
    }