File size: 3,515 Bytes
9456640 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
document.addEventListener('DOMContentLoaded', function() {
// DOM Elements
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');
// Sample tracking data
const sampleTrackingData = {
number: '123456789012',
status: 'In Transit',
origin: 'New York, NY',
destination: 'Los Angeles, CA',
delivery: 'May 15, 2023',
weight: '5.2 lbs'
};
// Generate random tracking number
function generateTrackingNumber() {
let number = '';
for (let i = 0; i < 12; i++) {
number += Math.floor(Math.random() * 10);
}
return number;
}
// Track shipment
trackButton.addEventListener('click', function() {
const trackingNum = trackingNumberInput.value.trim();
if (!trackingNum) {
alert('Please enter a tracking number');
return;
}
// Validate format (12 digits)
if (!/^\d{12}$/.test(trackingNum)) {
alert('Invalid tracking number format. Please enter 12 digits.');
return;
}
// Hide generate section if visible
generatedNumber.classList.add('hidden');
// Show tracking results with sample data
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');
});
// Generate tracking number
generateButton.addEventListener('click', function() {
// Hide tracking results if visible
trackingResults.classList.add('hidden');
// Generate and display new number
const newNum = generateTrackingNumber();
newTrackingNumber.textContent = newNum;
generatedNumber.classList.remove('hidden');
});
// Copy tracking number
copyButton.addEventListener('click', function() {
const numToCopy = newTrackingNumber.textContent;
navigator.clipboard.writeText(numToCopy).then(() => {
// Change icon temporarily to indicate success
const icon = copyButton.querySelector('svg');
icon.setAttribute('data-feather', 'check');
feather.replace();
setTimeout(() => {
icon.setAttribute('data-feather', 'copy');
feather.replace();
}, 2000);
});
});
// Allow pressing Enter in tracking input
trackingNumberInput.addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
trackButton.click();
}
});
}); |