ok
This commit is contained in:
58
src/App.js
58
src/App.js
@@ -56,6 +56,7 @@ function App() {
|
||||
const [table, setTable] = useState([]);
|
||||
const [totalItemsCount, setTotalItemsCount] = useState(0);
|
||||
const [totalPrice, setTotalPrice] = useState(0);
|
||||
const [lastTransaction, setLastTransaction] = useState(null);
|
||||
const [deviceType, setDeviceType] = useState("");
|
||||
const [shop, setShop] = useState([]);
|
||||
const [shopItems, setShopItems] = useState([]);
|
||||
@@ -77,12 +78,22 @@ function App() {
|
||||
'transaction_failed',
|
||||
];
|
||||
|
||||
const calculateTotalsFromLocalStorage = () => {
|
||||
const { totalCount, totalPrice } = calculateTotals(shopId);
|
||||
setTotalItemsCount(totalCount);
|
||||
setTotalPrice(totalPrice);
|
||||
|
||||
|
||||
// If 'lastTransaction' exists, proceed
|
||||
const lastTransaction = JSON.parse(localStorage.getItem("lastTransaction"));
|
||||
console.log(lastTransaction);
|
||||
|
||||
if (lastTransaction != null) {
|
||||
setLastTransaction(lastTransaction);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
const calculateTotalsFromLocalStorage = () => {
|
||||
const { totalCount, totalPrice } = calculateTotals(shopId);
|
||||
setTotalItemsCount(totalCount);
|
||||
setTotalPrice(totalPrice);
|
||||
};
|
||||
|
||||
calculateTotalsFromLocalStorage();
|
||||
|
||||
@@ -181,12 +192,41 @@ function App() {
|
||||
console.log("transaction notification");
|
||||
// Call `setModal` with content and parameters
|
||||
setModal("transaction_pending", data);
|
||||
|
||||
localStorage.setItem('cart', []);
|
||||
|
||||
calculateTotalsFromLocalStorage();
|
||||
});
|
||||
|
||||
socket.on("transaction_confirmed", async (data) => {
|
||||
console.log("transaction notification" + data);
|
||||
console.log("transaction notification: " + data);
|
||||
setModal("transaction_confirmed", data);
|
||||
|
||||
localStorage.setItem('cart', []);
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
// If 'lastTransaction' exists, proceed
|
||||
const lastTransaction = JSON.parse(localStorage.getItem("lastTransaction"));
|
||||
console.log(lastTransaction);
|
||||
|
||||
if (lastTransaction != null) {
|
||||
setLastTransaction(lastTransaction);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
socket.on("transaction_success", async (data) => {
|
||||
console.log("transaction notification");
|
||||
@@ -228,6 +268,7 @@ function App() {
|
||||
} else {
|
||||
console.log(data)
|
||||
setUser(data.data.user);
|
||||
if(data.data.latestOpenBillTransaction != null) localStorage.setItem('lastTransaction', JSON.stringify(data.data.latestOpenBillTransaction))
|
||||
if (
|
||||
data.data.user.password == "unsetunsetunset" &&
|
||||
localStorage.getItem("settings")
|
||||
@@ -567,6 +608,7 @@ function App() {
|
||||
queue={queue}
|
||||
cartItemsLength={totalItemsCount}
|
||||
totalPrice={totalPrice}
|
||||
lastTransaction={lastTransaction}
|
||||
/>
|
||||
{/* <Footer
|
||||
showTable={true}
|
||||
@@ -607,7 +649,9 @@ function App() {
|
||||
<>
|
||||
<Cart
|
||||
shopId={shopId}
|
||||
shop={shop}
|
||||
table={table}
|
||||
setModal={setModal}
|
||||
sendParam={handleSetParam}
|
||||
socket={socket}
|
||||
totalItemsCount={totalItemsCount}
|
||||
@@ -649,6 +693,7 @@ function App() {
|
||||
element={
|
||||
<>
|
||||
<Transactions
|
||||
shop={shop}
|
||||
shopId={shopId}
|
||||
sendParam={handleSetParam}
|
||||
deviceType={deviceType}
|
||||
@@ -672,6 +717,7 @@ function App() {
|
||||
<Modal
|
||||
user={user}
|
||||
shop={shop}
|
||||
deviceType={deviceType}
|
||||
isOpen={isModalOpen}
|
||||
modalContent={modalContent}
|
||||
handleMoveToTransaction={handleMoveToTransaction}
|
||||
|
||||
Reference in New Issue
Block a user