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