|
document.addEventListener('DOMContentLoaded', () => { |
|
|
|
const workerUrl = 'https://form-handler-worker.aiagents.workers.dev/'; |
|
|
|
|
|
const submissionForm = document.getElementById('vessel-exchange-form'); |
|
const lookupForm = document.getElementById('deal-lookup-form'); |
|
const adminForm = document.getElementById('admin-action-form'); |
|
|
|
|
|
const submissionModal = document.getElementById('submission-modal'); |
|
const dealModal = document.getElementById('deal-modal'); |
|
const showSubmissionButton = document.getElementById('show-submission-button'); |
|
const submissionModalCloseButton = document.getElementById('submission-modal-close-button'); |
|
const dealModalCloseButton = document.getElementById('modal-close-button'); |
|
|
|
|
|
|
|
|
|
showSubmissionButton.addEventListener('click', () => { |
|
submissionModal.classList.remove('hidden'); |
|
}); |
|
|
|
|
|
submissionModalCloseButton.addEventListener('click', () => closeModal(submissionModal)); |
|
submissionModal.addEventListener('click', (event) => { |
|
if (event.target === submissionModal) closeModal(submissionModal); |
|
}); |
|
|
|
|
|
if (submissionForm) { |
|
submissionForm.addEventListener('submit', handleFormSubmit); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
async function handleFormSubmit(event) { |
|
event.preventDefault(); |
|
const submitButton = document.getElementById('submit-button'); |
|
const statusMessage = document.getElementById('status-message'); |
|
|
|
submitButton.disabled = true; |
|
showStatus(statusMessage, 'Submitting...'); |
|
|
|
try { |
|
const formData = new FormData(submissionForm); |
|
const response = await fetch(workerUrl, { method: 'POST', body: formData }); |
|
const result = await response.json(); |
|
if (!response.ok) throw new Error(result.error || `Server responded with status ${response.status}`); |
|
|
|
showSuccess(statusMessage, `Success! Your Deal ID is: ${result.deal_id}`); |
|
submissionForm.reset(); |
|
|
|
|
|
setTimeout(() => closeModal(submissionModal), 2000); |
|
|
|
} catch (error) { |
|
showError(statusMessage, error.message); |
|
} finally { |
|
submitButton.disabled = false; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
function closeModal(modalElement) { |
|
modalElement.classList.add('hidden'); |
|
} |
|
|
|
function showStatus(element, message) { |
|
element.className = 'status'; |
|
element.textContent = message; |
|
element.style.display = 'block'; |
|
} |
|
|
|
function showSuccess(element, message) { |
|
element.className = 'status success'; |
|
element.innerHTML = `<strong>${message}</strong>`; |
|
element.style.display = 'block'; |
|
} |
|
|
|
function showError(element, message) { |
|
element.className = 'status error'; |
|
element.innerHTML = `<strong>Error:</strong> ${message}`; |
|
element.style.display = 'block'; |
|
} |
|
|
|
|
|
function openModal(dealData) { |
|
|
|
dealModal.classList.remove('hidden'); |
|
} |
|
}); |