-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcheckout.js
97 lines (79 loc) · 3.44 KB
/
checkout.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
87
88
89
90
91
92
93
94
95
96
97
$(document).ready(function() {
function createCheckoutProductCard(obj) {
// <div class="checkout-card">
// <div>
// <img class="checkout-product-img" src="/assets/default-product.png" />
// </div>
// <div>
// <h4>Product Title</h4>
// <p>x3</p>
// <p>Amount: Rs <span>30000</span></p>
// </div>
// </div>
var card = document.createElement('div');
card.classList.add('checkout-card');
var firstInnerDiv = document.createElement('div');
var productImg = document.createElement('img');
productImg.classList.add('checkout-product-img');
productImg.src = obj.preview;
firstInnerDiv.appendChild(productImg);
var secondInnerDiv = document.createElement('div');
var productName = document.createElement('h4');
productName.innerHTML = obj.name;
var productCount = document.createElement('p');
productCount.innerHTML = 'x'+obj.count;
var amountLabel = document.createElement('span');
amountLabel.innerHTML = 'Amount: Rs ';
var amountSpan = document.createElement('span');
amountSpan.innerHTML = parseInt(obj.count) * parseInt(obj.price);
var productAmount = document.createElement('p');
productAmount.appendChild(amountLabel);
productAmount.appendChild(amountSpan);
secondInnerDiv.appendChild(productName);
secondInnerDiv.appendChild(productCount);
secondInnerDiv.appendChild(productAmount);
card.appendChild(firstInnerDiv);
card.appendChild(secondInnerDiv);
return card;
}
var productList = window.localStorage.getItem('product-list');
productList = productList === null || productList === '' ? [] : productList;
productList = productList.length > 0 ? JSON.parse(productList) : [];
// console.log(productList);
var grandTotal = 0;
for(var i=0; i<productList.length; i++) {
$('#card-list').append(createCheckoutProductCard(productList[i]));
// console.log('Count => ', productList[i].count);
// console.log('Price => ', productList[i].price);
var totalForCurrentProduct = parseFloat(productList[i].count) * parseFloat(productList[i].price);
grandTotal = grandTotal + totalForCurrentProduct;
// console.log('Total For Product '+ i + ' is=> ' + totalForCurrentProduct);
}
$('#item-count').html(productList.length);
$('#total-amount').html(grandTotal);
$('#btn-place-order').click(function() {
var orderItemArr = [];
for(var i=0; i<productList.length; i++) {
var prodObj = {
"id": productList[i].id,
"brand": productList[i].brand,
"name": productList[i].name,
"price": productList[i].price,
"preview": productList[i].preview,
"isAccessory": productList[i].isAccessory
}
orderItemArr.push(prodObj);
}
// console.log(productList);
// console.log(orderItemArr);
var dataObj = {
amount: grandTotal,
products: orderItemArr
}
$.post('https://5d76bf96515d1a0014085cf9.mockapi.io/order', dataObj, function() {
alert('Order Placed Successfully')
localStorage.setItem('product-list', []);
location.assign('./thankyou.html');
})
})
})