function createOrUpdateModal()

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;
}