Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -210,10 +210,10 @@ def modal_js():
|
|
210 |
cartItemsContainer.innerHTML += `
|
211 |
<div style="border: 1px solid #ddd; padding: 10px; margin-bottom: 10px; border-radius: 8px;">
|
212 |
<h3>${item.name}</h3>
|
213 |
-
<p>Quantity: ${item.quantity}
|
214 |
<p>Extras: ${extrasList || 'None'}</p>
|
215 |
<p>Special Instructions: ${item.instructions || 'None'}</p>
|
216 |
-
<p>Total Cost:
|
217 |
<button onclick="removeFromCart(${index})" style="color: red;">Remove</button>
|
218 |
</div>
|
219 |
`;
|
@@ -234,8 +234,21 @@ def modal_js():
|
|
234 |
openCartModal();
|
235 |
}
|
236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
function updateCartTotalCost() {
|
238 |
const totalCostElement = document.getElementById('cart-total-cost');
|
|
|
239 |
totalCostElement.innerText = `Total Cart Cost: $${totalCartCost.toFixed(2)}`;
|
240 |
}
|
241 |
|
|
|
210 |
cartItemsContainer.innerHTML += `
|
211 |
<div style="border: 1px solid #ddd; padding: 10px; margin-bottom: 10px; border-radius: 8px;">
|
212 |
<h3>${item.name}</h3>
|
213 |
+
<p>Quantity: <input type="number" value="${item.quantity}" min="1" style="width: 50px;" onchange="updateCartItem(${index}, 'item', this.value)" /></p>
|
214 |
<p>Extras: ${extrasList || 'None'}</p>
|
215 |
<p>Special Instructions: ${item.instructions || 'None'}</p>
|
216 |
+
<p>Total Cost: $<span id="item-${index}-total">${item.totalCost.toFixed(2)}</span></p>
|
217 |
<button onclick="removeFromCart(${index})" style="color: red;">Remove</button>
|
218 |
</div>
|
219 |
`;
|
|
|
234 |
openCartModal();
|
235 |
}
|
236 |
|
237 |
+
function updateCartItem(index, type, value) {
|
238 |
+
if (type === 'item') {
|
239 |
+
cart[index].quantity = parseInt(value);
|
240 |
+
}
|
241 |
+
const item = cart[index];
|
242 |
+
const price = item.price;
|
243 |
+
const extrasCost = item.extras.reduce((total, extra) => total + (extra.price * extra.quantity), 0);
|
244 |
+
item.totalCost = (price * item.quantity) + extrasCost;
|
245 |
+
document.getElementById(`item-${index}-total`).innerText = item.totalCost.toFixed(2);
|
246 |
+
updateCartTotalCost(); // Update total cost displayed
|
247 |
+
}
|
248 |
+
|
249 |
function updateCartTotalCost() {
|
250 |
const totalCostElement = document.getElementById('cart-total-cost');
|
251 |
+
totalCartCost = cart.reduce((total, item) => total + item.totalCost, 0);
|
252 |
totalCostElement.innerText = `Total Cart Cost: $${totalCartCost.toFixed(2)}`;
|
253 |
}
|
254 |
|