in public/content.js [229:272]
function createOrUpdateModal(operation, amount, transactionData, styles = {}, isCustom = false, customMessage = '') {
let modal = document.getElementById('resVaultModal');
const modalContent = generateModalContent(operation, amount, styles, isCustom, customMessage);
if (!modal) {
// Create the modal if it doesn't exist
modal = document.createElement('div');
modal.id = 'resVaultModal';
modal.style.cssText = `
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1000;
display: block;
`;
modal.innerHTML = modalContent;
document.body.appendChild(modal);
// Attach a single event listener to the modal for event delegation
modal.addEventListener('click', (event) => {
if (event.target.id === 'resVaultModalClose') {
modal.style.display = 'none';
} else if (event.target.id === 'resVaultModalSubmit') {
handleTransactionSubmit(modal.transactionData); // Use modal.transactionData
modal.style.display = 'none';
}
});
} else {
// Update the modal content if it already exists
modal.innerHTML = modalContent;
modal.style.display = 'block'; // Ensure the modal is visible again
}
// Update transactionData on the modal element
modal.transactionData = transactionData;
// Apply user styles if any
applyStylesToModal(modal, styles);
return modal;
}