|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
|
|
const trackButton = document.getElementById('trackButton'); |
|
|
const generateButton = document.getElementById('generateButton'); |
|
|
const trackingNumberInput = document.getElementById('trackingNumber'); |
|
|
const trackingResults = document.getElementById('trackingResults'); |
|
|
const generatedNumber = document.getElementById('generatedNumber'); |
|
|
const newTrackingNumber = document.getElementById('newTrackingNumber'); |
|
|
const copyButton = document.getElementById('copyButton'); |
|
|
|
|
|
|
|
|
const sampleTrackingData = { |
|
|
number: '123456789012', |
|
|
status: 'In Transit', |
|
|
origin: 'New York, NY', |
|
|
destination: 'Los Angeles, CA', |
|
|
delivery: 'May 15, 2023', |
|
|
weight: '5.2 lbs' |
|
|
}; |
|
|
|
|
|
|
|
|
function generateTrackingNumber() { |
|
|
let number = ''; |
|
|
for (let i = 0; i < 12; i++) { |
|
|
number += Math.floor(Math.random() * 10); |
|
|
} |
|
|
return number; |
|
|
} |
|
|
|
|
|
|
|
|
trackButton.addEventListener('click', function() { |
|
|
const trackingNum = trackingNumberInput.value.trim(); |
|
|
|
|
|
if (!trackingNum) { |
|
|
alert('Please enter a tracking number'); |
|
|
return; |
|
|
} |
|
|
|
|
|
|
|
|
if (!/^\d{12}$/.test(trackingNum)) { |
|
|
alert('Invalid tracking number format. Please enter 12 digits.'); |
|
|
return; |
|
|
} |
|
|
|
|
|
|
|
|
generatedNumber.classList.add('hidden'); |
|
|
|
|
|
|
|
|
document.getElementById('trackingNumDisplay').textContent = trackingNum; |
|
|
document.getElementById('shipmentStatus').textContent = sampleTrackingData.status; |
|
|
document.getElementById('shipmentOrigin').textContent = sampleTrackingData.origin; |
|
|
document.getElementById('shipmentDestination').textContent = sampleTrackingData.destination; |
|
|
document.getElementById('shipmentDelivery').textContent = sampleTrackingData.delivery; |
|
|
document.getElementById('shipmentWeight').textContent = sampleTrackingData.weight; |
|
|
|
|
|
trackingResults.classList.remove('hidden'); |
|
|
}); |
|
|
|
|
|
|
|
|
generateButton.addEventListener('click', function() { |
|
|
|
|
|
trackingResults.classList.add('hidden'); |
|
|
|
|
|
|
|
|
const newNum = generateTrackingNumber(); |
|
|
newTrackingNumber.textContent = newNum; |
|
|
generatedNumber.classList.remove('hidden'); |
|
|
}); |
|
|
|
|
|
|
|
|
copyButton.addEventListener('click', function() { |
|
|
const numToCopy = newTrackingNumber.textContent; |
|
|
navigator.clipboard.writeText(numToCopy).then(() => { |
|
|
|
|
|
const icon = copyButton.querySelector('svg'); |
|
|
icon.setAttribute('data-feather', 'check'); |
|
|
feather.replace(); |
|
|
|
|
|
setTimeout(() => { |
|
|
icon.setAttribute('data-feather', 'copy'); |
|
|
feather.replace(); |
|
|
}, 2000); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
trackingNumberInput.addEventListener('keypress', function(e) { |
|
|
if (e.key === 'Enter') { |
|
|
trackButton.click(); |
|
|
} |
|
|
}); |
|
|
}); |