import React, { useState, useEffect, useRef } from "react"; import { ColorRing } from "react-loader-spinner"; import jsQR from "jsqr"; import QRCode from "qrcode.react"; import styles from "./Transactions.module.css"; import { getImageUrl } from "../helpers/itemHelper"; import { useSearchParams } from "react-router-dom"; import { getTransaction, handleConfirmHasPaid, } from "../helpers/transactionHelpers"; export default function Transaction_pending() { const [searchParams] = useSearchParams(); const [transaction, setTransaction] = useState(null); useEffect(() => { const transactionId = searchParams.get("transactionId") || ""; const fetchData = async () => { try { const fetchedTransaction = await getTransaction(transactionId); setTransaction(fetchedTransaction); console.log(transaction); } catch (error) { console.error("Error fetching transaction:", error); } }; fetchData(); }, [searchParams]); const calculateTotalPrice = (detailedTransactions) => { if (!Array.isArray(detailedTransactions)) return 0; return detailedTransactions.reduce((total, dt) => { if ( dt.Item && typeof dt.Item.price === "number" && typeof dt.qty === "number" ) { return total + dt.Item.price * dt.qty; } return total; }, 0); }; return (