]> git repositories - simple-cash-register.git/commitdiff
idk but it worked. main
authorbochard <mail@tenkyuu.dev>
Tue, 11 Mar 2025 11:15:54 +0000 (19:15 +0800)
committerbochard <mail@tenkyuu.dev>
Tue, 11 Mar 2025 11:15:54 +0000 (19:15 +0800)
script.js

index 4aa3c02e531a4eaf41f6689afe12c1a8a5d7c2c5..f7c2b86c438b41aa4dbf5c314fc7637f7b05379d 100644 (file)
--- a/script.js
+++ b/script.js
@@ -1,3 +1,5 @@
+/* file: script.js */
+
 const cash = document.getElementById('cash');
 const purchaseBtn = document.getElementById('purchase-btn');
 const totalPriceIndicator = document.getElementById('total-price');
 const cash = document.getElementById('cash');
 const purchaseBtn = document.getElementById('purchase-btn');
 const totalPriceIndicator = document.getElementById('total-price');
@@ -39,7 +41,6 @@ const productsPrice = {
 
 // ===== CALCULATE THE CHANGE =====
 function calculateChange(amount) {
 
 // ===== CALCULATE THE CHANGE =====
 function calculateChange(amount) {
-  console.log('CID Before:', JSON.stringify(cid));
   let reversedCid = [...cid].reverse();
   let changeToReturn = [];
   let remainingAmount = Math.round(amount * 100);
   let reversedCid = [...cid].reverse();
   let changeToReturn = [];
   let remainingAmount = Math.round(amount * 100);
@@ -47,7 +48,7 @@ function calculateChange(amount) {
   let status = '';
   let totalCashAvailable = Math.round(cid.reduce((sum, [, value]) => sum + value, 0) * 100);
   let cashUsed = 0;
   let status = '';
   let totalCashAvailable = Math.round(cid.reduce((sum, [, value]) => sum + value, 0) * 100);
   let cashUsed = 0;
-  
+
   reversedCid.forEach(([cashName, cashAvailable]) => {
     let amountFromThisCurrency = 0;
     let cashAvailableInCents = Math.round(cashAvailable * 100);
   reversedCid.forEach(([cashName, cashAvailable]) => {
     let amountFromThisCurrency = 0;
     let cashAvailableInCents = Math.round(cashAvailable * 100);
@@ -65,7 +66,7 @@ function calculateChange(amount) {
 
     cashUsed += amountFromThisCurrency;
     tempCid.push([cashName, cashAvailableInCents / 100]);
 
     cashUsed += amountFromThisCurrency;
     tempCid.push([cashName, cashAvailableInCents / 100]);
-  })
+  });
 
   if (remainingAmount > 0) {
     status = 'INSUFFICIENT_FUNDS';
 
   if (remainingAmount > 0) {
     status = 'INSUFFICIENT_FUNDS';
@@ -79,15 +80,6 @@ function calculateChange(amount) {
 
   cid = tempCid.reverse();
   updateChangeDue(status, changeToReturn);
 
   cid = tempCid.reverse();
   updateChangeDue(status, changeToReturn);
-
-  console.log('Total Price:', price);
-  console.log('Cash Given:', cash.value);
-
-  console.log('Remaining Amount:', remainingAmount);
-  console.log('Change to Return:', changeToReturn);
-  console.log('Total Cash Available:', totalCashAvailable);
-  console.log('Cash Used:', cashUsed);
-  console.log('CID After:', JSON.stringify(tempCid));
 }
 
 // ===== CHECK IF CASH IS GREATER THAN THE TOTAL PRICE IN CART =====
 }
 
 // ===== CHECK IF CASH IS GREATER THAN THE TOTAL PRICE IN CART =====
@@ -130,15 +122,19 @@ function resetPriceIndicator() {
 function updateChangeDue(status, arr) {
   let output = `Status: ${status}<br>`;
 
 function updateChangeDue(status, arr) {
   let output = `Status: ${status}<br>`;
 
-  arr.forEach((arr) => {
-    const name = arr[0];
-    const value = arr[1];
-
-    output += `${name}: $${value}<br>`;
-  })
+  if (status === 'OPEN') {
+    arr.forEach(([name, value]) => {
+      output += `${name}: $${value.toFixed(2)}<br>`;
+    });
+  } else if (status === 'CLOSED') {
+    arr.forEach(([name, value]) => {
+      if (value > 0) {
+        output += `${name}: $${value.toFixed(2)}<br>`;
+      }
+    });
+  }
 
   changeDue.innerHTML = output;
 
   changeDue.innerHTML = output;
-  console.log(cid);
 }
 
 // ===== UPDATE THE TOTAL ON PRICE INDICATOR =====
 }
 
 // ===== UPDATE THE TOTAL ON PRICE INDICATOR =====