// WorkOrders.jsx function WorkOrders({ setPage }) { const [filter, setFilter] = React.useState('All'); const filters = ['All', 'Today', 'Pending', 'In Progress', 'Completed', 'Issues']; const filtered = WORK_ORDERS.filter(w => { if (filter === 'All') return true; if (filter === 'Today') return w.date === TODAY; if (filter === 'Pending') return ['Assigned', 'Accepted'].includes(w.status); if (filter === 'In Progress') return ['On the Way', 'Arrived Site', 'Job Started'].includes(w.status); if (filter === 'Completed') return w.status === 'Job Completed'; if (filter === 'Issues') return ['Pending Issue', 'Cancelled'].includes(w.status); return true; }); return (
Work Orders
{filtered.length} of {WORK_ORDERS.length} jobs
{filters.map(f => ( ))}
{filtered.map(w => { const s = STATUS_MAP[w.status]; return ( ); })}
WO IDCustomerLocationCraneJob Date / TimeOperatorStatusUrgency
{w.id}
{w.customer}
{w.contact}
{w.location}
{w.tonnage}
{new Date(w.date).toLocaleDateString('en-MY', {day: '2-digit', month: 'short'})}
{w.start} – {w.end}
{w.operator} {s.label} {w.urgency === 'urgent' ? Urgent : }
); } Object.assign(window, { WorkOrders });