`;
}
// --- PDF Generation ---
function generatePdf() {
if (monitoredTxns.length === 0) return;
const { jsPDF } = window.jspdf;
const doc = new jsPDF('l', 'mm', 'a4'); // Landscape
const blockchain = elements.blockchain.value;
const minVal = elements.minValue.options[elements.minValue.selectedIndex].text;
doc.setFont('helvetica', 'bold');
doc.setFontSize(18);
doc.text(`Crypto Whale Transaction Report: ${blockchain}`, doc.internal.pageSize.getWidth() / 2, 20, { align: 'center' });
doc.setFontSize(11);
doc.setTextColor(100);
doc.text(`Generated on: ${new Date().toLocaleString('en-US')}`, 14, 30);
doc.text(`Minimum Transaction Value: ${minVal}`, 14, 36);
const tableBody = monitoredTxns.map(txn => [
new Date(txn.timestamp).toLocaleString(),
txn.from,
txn.to,
txn.amountCrypto.toFixed(4),
`$${txn.amountUSD.toLocaleString()}`
]);
doc.autoTable({
startY: 45,
head: [['Timestamp', 'From Address', 'To Address', 'Amount (Crypto)', 'Amount (USD)']],
body: tableBody,
theme: 'striped'
});
doc.save(`whale-report-${blockchain.toLowerCase()}.pdf`);
}
initialize();
});
