// Serialized MES Chassis Traveler Client let liveTravelers = []; async function loadTravelers() { try { const res = await fetch('/api/travelers'); if (!res.ok) throw new Error("Failed to load travelers"); liveTravelers = await res.json(); renderTravelersList(); } catch (err) { console.error("Travelers Loading Error:", err); } } function renderTravelersList() { const container = document.getElementById('travelers-list-container'); if (!container) return; container.innerHTML = ''; liveTravelers.forEach(t => { const div = document.createElement('div'); div.style.cssText = 'background:#0b0f17; padding:0.75rem; border-radius:6px; font-size:0.75rem; display:flex; justify-content:space-between; align-items:center; margin-bottom:0.5rem;'; let badge = ' In Progress (Stage ' + t.current_stage + '/6)'; if (t.status === 'passed') { badge = ' PASSED (Stage 6/6)'; } else if (t.status === 'quarantine') { badge = ' Quarantined'; } div.innerHTML = `
${t.serial_number}
${t.model_variant} • Tech: ${t.technician_name}
${t.notes || ''}
${badge}
`; container.appendChild(div); }); } async function advanceTravelerStage(serial, nextStage) { if (nextStage > 6) { if (!confirm(`Mark chassis [${serial}] as COMPLETE & PASSED?`)) return; } const status = nextStage >= 6 ? 'passed' : 'in_progress'; try { await fetch(`/api/travelers/${serial}/stage`, { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ stage: Math.min(nextStage, 6), status }) }); await loadTravelers(); } catch (err) { console.error("Error advancing traveler:", err); } } async function createNewChassisTraveler() { const serial = `NAS-6U-2026-${Math.floor(1000 + Math.random() * 9000)}`; try { await fetch('/api/travelers', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ serial_number: serial, model_variant: "6U 8-Bay Tri-Mode Enterprise", current_stage: 1, status: "in_progress", technician_name: "Lead Hardware Tech", notes: "New production lot traveler initiated" }) }); await loadTravelers(); } catch (err) { console.error("Error creating traveler:", err); } } window.loadTravelers = loadTravelers; window.advanceTravelerStage = advanceTravelerStage; window.createNewChassisTraveler = createNewChassisTraveler;