/* global window, React */ // ============================================================ // Confirm modal — choose fleet/carrier to confirm trip with // ============================================================ const { useState: useConfirmState } = React; function ConfirmModal({ trip, onCancel, onConfirm }) { const recommended = trip.fleetOptions.find(o => o.recommended); const [pick, setPick] = useConfirmState(recommended ? trip.fleetOptions.indexOf(recommended) : 0); const fleetPillKind = { private: 'green', dedicated: 'amber', market: 'blue', spot: 'red', }; return (
e.stopPropagation()}>
Confirm trip · {trip.id}
{trip.route.from} → {trip.route.to}
Confirming will fire status CONFIRMED, send load instructions to WMS pick queue, and trigger {' '} {trip.fleetOptions[pick]?.kind === 'private' ? DAE for driver assignment. : tender to {trip.fleetOptions[pick]?.name || 'carrier'}.}
Choose fleet · carrier Agent recommends the green-flagged option
{trip.fleetOptions.map((opt, i) => { const isSelected = pick === i; const isDisabled = opt.unavailable; return (
!isDisabled && setPick(i)} >
{ { private: 'Private', dedicated: 'Dedicated', market: 'Market', spot: 'Spot' }[opt.kind] }
{opt.name}
{opt.meta.map(([k, v]) => `${k}: ${v}`).join(' · ')}
{opt.note && (
{opt.note.text}
)}
{opt.recommended && RECOMMENDED}
); })}
{/* Agent rationale */}
TP Agent:{trip.fleetSummary}
); } Object.assign(window, { ConfirmModal });