From b01251756842b090b511257d168c087d194c6ad2 Mon Sep 17 00:00:00 2001 From: everythingonblack Date: Thu, 22 May 2025 02:15:12 +0700 Subject: [PATCH] ok --- src/App.js | 46 +++++++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/src/App.js b/src/App.js index 5ba25ae..894a56b 100644 --- a/src/App.js +++ b/src/App.js @@ -109,6 +109,10 @@ function App() { const handleStorageChange = () => { calculateTotalsFromLocalStorage(); + + if (!localStorage.getItem("lastTransaction")) { + setLastTransaction(null); + } }; window.addEventListener("localStorageUpdated", handleStorageChange); @@ -237,24 +241,23 @@ function App() { }); socket.on("transaction_confirmed", async (data) => { - console.log("transaction notification: " + data); + console.log( JSON.stringify(data)); setModal("transaction_confirmed", data); localStorage.setItem('cart', []); - const startTime = Date.now(); // Capture the start time - const timeout = 10000; // 10 seconds timeout in milliseconds + // const startTime = Date.now(); // Capture the start time + // const timeout = 10000; // 10 seconds timeout in milliseconds calculateTotalsFromLocalStorage(); - while (localStorage.getItem("lastTransaction") === null) { - if (Date.now() - startTime > timeout) { - return; // Exit the function and don't proceed further - } - - await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait 1 second - } + // while (localStorage.getItem("lastTransaction") === null) { + // if (Date.now() - startTime > timeout) { + // return; // Exit the function and don't proceed further + // } + // await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait 1 second + // } // If 'lastTransaction' exists, proceed const lastTransaction = JSON.parse(localStorage.getItem("lastTransaction")); @@ -271,17 +274,23 @@ function App() { setModal("transaction_success", data); // If 'lastTransaction' exists, proceed - localStorage.removeItem("lastTransaction"); - - if (lastTransaction != null) { + if (localStorage.getItem("lastTransaction")) { setLastTransaction(null); - console.log('remove last transaction') + localStorage.removeItem("lastTransaction"); + window.dispatchEvent(new Event("localStorageUpdated")); } }); socket.on("transaction_end", async (data) => { console.log("transaction notification"); setModal("transaction_end", data); + + // If 'lastTransaction' exists, proceed + if (localStorage.getItem("lastTransaction")) { + setLastTransaction(null); + localStorage.removeItem("lastTransaction"); + window.dispatchEvent(new Event("localStorageUpdated")); + } }); socket.on("payment_claimed", async (data) => { @@ -290,8 +299,15 @@ function App() { }); socket.on("transaction_failed", async (data) => { - console.log("transaction notification"); + console.log(JSON.stringify(data)); setModal("transaction_failed", data); + + // If 'lastTransaction' exists, proceed + if (localStorage.getItem("lastTransaction")) { + setLastTransaction(null); + localStorage.removeItem("lastTransaction"); + window.dispatchEvent(new Event("localStorageUpdated")); + } });