Explorar o código

Orders now automatically update ingredients

Lee Morgan %!s(int64=6) %!d(string=hai) anos
pai
achega
f6189ffdba

+ 4 - 1
views/dashboardPage/Merchant.js

@@ -128,14 +128,17 @@ class Merchant{
         quantity: new quantity
     }
     remove = set true if removing
+    isOrder = set true if this is coming from an order
     */
-    editIngredients(ingredients, remove = false){
+    editIngredients(ingredients, remove = false, isOrder = false){
         for(let i = 0; i < ingredients.length; i++){
             let isNew = true;
             for(let j = 0; j < merchant.ingredients.length; j++){
                 if(merchant.ingredients[j].ingredient === ingredients[i].ingredient){
                     if(remove){
                         merchant.ingredients.splice(j, 1);
+                    }else if(!remove && isOrder){
+                        merchant.ingredients[j].quantity += ingredients[i].quantity;
                     }else{
                         merchant.ingredients[j].quantity = ingredients[i].quantity;
                     }

+ 3 - 4
views/dashboardPage/components/components.js

@@ -289,8 +289,8 @@ let newOrderComp = {
                     )
 
                     merchant.editOrders([order]);
+                    merchant.editIngredients(order.ingredients, false, true);
                     banner.createNotification("New order created");
-                    // updateInventory(newOrder.ingredients);
                 }
             })
             .catch((err)=>{
@@ -374,8 +374,8 @@ let orderDetailsComp = {
             grandTotal += price;
 
             ingredient.children[0].innerText = order.ingredients[i].ingredient.name;
-            ingredient.children[1].innerText = `$${(order.ingredients[i].price / 100).toFixed(2)}`;
-            ingredient.children[2].innerText = price.toFixed(2);
+            ingredient.children[1].innerText = `${order.ingredients[i].quantity} x $${(order.ingredients[i].price / 100).toFixed(2)}`;
+            ingredient.children[2].innerText = `$${price.toFixed(2)}`;
 
             ingredientList.appendChild(ingredient);
         }
@@ -400,7 +400,6 @@ let orderDetailsComp = {
                 }
             })
             .catch((err)=>{
-                console.log(err);
                 banner.createError("Something went wrong, try refreshing the page");
             });
     }

+ 2 - 3
views/dashboardPage/orders.js

@@ -28,11 +28,10 @@ window.ordersStrandObj = {
                         }
                         merchant.editOrders(newOrders);
 
-                        isFetched = true;
+                        this.isFetched = true;
                     }
                 })
                 .catch((err)=>{
-                    console.log(err);
                     banner.createError("Unable to retrieve your orders at the moment");
                 });
         }
@@ -58,7 +57,7 @@ window.ordersStrandObj = {
             row.children[0].innerText = merchant.orders[i].name;
             row.children[1].innerText = `${merchant.orders[i].ingredients.length} items`;
             row.children[2].innerText = new Date(merchant.orders[i].date).toLocaleDateString("en-US");
-            row.children[3].innerText = (totalCost / 100).toFixed(2);
+            row.children[3].innerText = `$${(totalCost / 100).toFixed(2)}`;
             row.order = merchant.orders[i];
             row.onclick = ()=>{orderDetailsComp.display(merchant.orders[i])};