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