-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
125 lines (124 loc) · 4.65 KB
/
Copy pathscript.js
File metadata and controls
125 lines (124 loc) · 4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
let total = 0;
let cartItems = [];
let espcard = document.getElementById("espresso-card");
let cappuccino = document.getElementById("cappuccino-card");
let coldbrew = document.getElementById("coldbrew-card");
let totalDisplay = document.getElementById("total-bill");
let cartlist = document.getElementById("cart-list");
let button = document.getElementById("order-btn");
let reset = document.getElementById("clear-btn");
const priceList = {
"Espresso": 3.50,
"Cappuccino": 4.50,
"Cold Brew": 5.00
};
function addToCart(productName, price) {
total += price;
totalDisplay.textContent = "Total: $" + total.toFixed(2);
cartItems.push(productName);
let newItem = document.createElement("li");
newItem.style.display = "flex";
newItem.style.justifyContent = "space-between";
newItem.style.marginBottom = "20px";
let textItem = document.createElement("span");
textItem.textContent = productName;
newItem.appendChild(textItem);
let deleteBtn = document.createElement("button");
deleteBtn.textContent = "Remove";
deleteBtn.style.background = "#e74c3c";
deleteBtn.style.color = "white";
deleteBtn.style.border = "none";
deleteBtn.style.borderRadius = "5px";
deleteBtn.style.cursor = "pointer";
deleteBtn.style.marginLeft = "5px";
deleteBtn.style.padding = "10px 10px";
deleteBtn.onclick = function () {
newItem.remove();
let index = cartItems.indexOf(productName);
if (index > -1) {
cartItems.splice(index, 1);
}
total = total - price;
totalDisplay.textContent = "Total: $" + total.toFixed(2);
saveCart();
}
newItem.appendChild(deleteBtn);
cartlist.style.listStyle = "none";
cartlist.appendChild(newItem);
saveCart();
}
espcard.addEventListener("click", function () {
addToCart("Espresso", 3.50);
espcard.style.backgroundColor = "#dff9fb";
})
cappuccino.addEventListener("click", function () {
addToCart("Cappuccino", 4.50);
cappuccino.style.backgroundColor = "#dff9fb";
})
coldbrew.addEventListener("click", function () {
addToCart("Cold Brew", 5.00);
coldbrew.style.backgroundColor = "#dff9fb";
})
button.addEventListener("click", function () {
button.textContent = "Order Placed!";
button.style.backgroundColor = "#27ae60";
button.style.color = "white";
totalDisplay.textContent = "Total: $" + total.toFixed(2);
})
reset.addEventListener("click", function () {
total = 0;
cartItems = [];
totalDisplay.textContent = "Total: $" + total.toFixed(2);
localStorage.removeItem("total");
localStorage.removeItem("cartItems");
cartlist.innerHTML = "";
})
function saveCart() {
localStorage.setItem("total", total);
localStorage.setItem("cartItems", JSON.stringify(cartItems));
}
function loadCart() {
let savedTotal = localStorage.getItem("total");
let savedItems = localStorage.getItem("cartItems");
if (savedTotal) {
total = parseFloat(savedTotal);
totalDisplay.textContent = "Total: $" + total.toFixed(2);
}
if (savedItems) {
cartItems = JSON.parse(savedItems);
for (let i = 0; i < cartItems.length; i++) {
let item = cartItems[i];
let newItem = document.createElement("li");
let textSpan = document.createElement("span");
let itemPrice = priceList[item];
newItem.style.display = "flex";
newItem.style.justifyContent = "space-between";
newItem.style.marginBottom = "20px";
textSpan.textContent = item;
newItem.appendChild(textSpan);
let deleteBtn = document.createElement("button");
deleteBtn.textContent = "Remove";
deleteBtn.style.background = "#e74c3c";
deleteBtn.style.color = "white";
deleteBtn.style.border = "none";
deleteBtn.style.borderRadius = "5px";
deleteBtn.style.cursor = "pointer";
deleteBtn.style.marginLeft = "5px";
deleteBtn.style.padding = "10px 10px";
deleteBtn.onclick = function () {
newItem.remove();
let index = cartItems.indexOf(item);
if (index > -1) {
cartItems.splice(index, 1);
}
total = total - itemPrice;
totalDisplay.textContent = "Total: $" + total.toFixed(2);
saveCart();
}
newItem.appendChild(deleteBtn);
cartlist.appendChild(newItem);
cartlist.style.listStyle = "none";
}
}
}
loadCart();