diff --git a/frontend/src/components/dashboard/FleetDashboardShell.jsx b/frontend/src/components/dashboard/FleetDashboardShell.jsx index 48c3373..40b764c 100644 --- a/frontend/src/components/dashboard/FleetDashboardShell.jsx +++ b/frontend/src/components/dashboard/FleetDashboardShell.jsx @@ -566,10 +566,17 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page }, [serviceRecords, selectedTask?.id]); const selectedTaskWorkOrders = useMemo(() => { if (!selectedTask) return []; - // Only open work orders in the dropdown — closed ones cannot receive new tasks. + // Keep dropdown focused on open work orders, but preserve the task's already assigned + // work order even when it is closed so the reference remains visible/editable in task details. // Cross-crane sharing allowed: no vehicle filter. + const selectedWorkOrderId = String(selectedTask.work_order || ''); return [...workOrders] - .filter((order) => String(order.status || '').toLowerCase() !== 'closed') + .filter((order) => { + const orderId = String(order.id || ''); + const isClosed = String(order.status || '').toLowerCase() === 'closed'; + if (!isClosed) return true; + return selectedWorkOrderId && orderId === selectedWorkOrderId; + }) .sort((a, b) => String(b.date || '').localeCompare(String(a.date || ''))); }, [selectedTask, workOrders]); @@ -614,7 +621,7 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page await updateWorkOrder(workOrder.id, changes); showToast('Nalog je uspješno ažuriran.', 'success'); await fetchFleetDashboardData({ silent: true }); - await fetchTasks(); + await fetchTasks({ force: true }); } catch (error) { showToast(error?.message || 'Ažuriranje naloga nije uspjelo.', 'error'); }