-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlikedProduct.js
86 lines (72 loc) · 2.85 KB
/
likedProduct.js
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
const logo = document.querySelector("#logo")
// console.log(logo)
logo.addEventListener("click", () => {
window.location.assign("index.html")
})
function cancelItemFromLikedProductList(productId) {
db.collection("liked-products").doc(productId).delete()
}
function addProductInCartSection(productId) {
let allProduct = db.collection("products").doc(productId)
allProduct.get()
.then((product) => {
let cartItem = db.collection("cart-items").doc(product.id)
cartItem.get()
.then((doc) => {
if (doc.exists) {
cartItem.update({
quantity: doc.data().quantity + 1
})
} else {
cartItem.set({
id: product.id,
quantity: 1,
...product.data()
})
}
})
})
}
function clickedProductForCartSection() {
const allProducts = document.querySelectorAll(".each-item .addToCart")
allProducts.forEach(product => {
product.addEventListener("click", () => {
// console.log(product.dataset.id)
addProductInCartSection(product.dataset.id)
})
})
}
function getLikedProductFromFireStore() {
db.collection("liked-products").onSnapshot(snapshot => {
let allLikedProductList = ""
snapshot.forEach(doc => {
// // console.log(doc.data().name)
// let likedProduct = document.createElement("div")
// likedProduct.classList.add("each-item")
allLikedProductList += `
<div class="each-item">
<img src="${doc.data().image}"
alt="${doc.data().name}">
<span>${doc.data().name}</span>
<span>$${doc.data().price}</span>
<span class="addToCart" data-id="${doc.id}"><button title="add-to-cart">Add to cart</button></span>
<span class="cancelFromLikedPage" data-id="${doc.id}"><i class="fas fa-times"></i></span>
</div>
`
})
const likedProductList = document.querySelector(".likedProductList .product-list")
likedProductList.innerHTML = allLikedProductList
getCancelProductFromLikedProductList()
clickedProductForCartSection()
})
}
function getCancelProductFromLikedProductList() {
const cancelProducts = document.querySelectorAll(".each-item .cancelFromLikedPage")
cancelProducts.forEach(cancelProduct => {
cancelProduct.addEventListener("click", () => {
console.log(cancelProduct.dataset.id)
cancelItemFromLikedProductList(cancelProduct.dataset.id)
})
})
}
getLikedProductFromFireStore()