diff --git a/apps/api/src/controllers/dispatch/911-calls/calls-911-controller.ts b/apps/api/src/controllers/dispatch/911-calls/calls-911-controller.ts index 36d5da414..645f77dc8 100644 --- a/apps/api/src/controllers/dispatch/911-calls/calls-911-controller.ts +++ b/apps/api/src/controllers/dispatch/911-calls/calls-911-controller.ts @@ -307,6 +307,7 @@ export class Calls911Controller { typeId: data.type, extraFields: data.extraFields || undefined, status: (data.status as WhitelistStatus | null) || undefined, + gtaMapPositionId: data.gtaMapPosition === null ? null : undefined, }, }); diff --git a/apps/client/src/components/dispatch/map/calls/render-active-map-calls.tsx b/apps/client/src/components/dispatch/map/calls/render-active-map-calls.tsx index 8ae2ba188..64c483337 100644 --- a/apps/client/src/components/dispatch/map/calls/render-active-map-calls.tsx +++ b/apps/client/src/components/dispatch/map/calls/render-active-map-calls.tsx @@ -55,15 +55,19 @@ export function RenderActiveCalls() { const latLng = e.target._latlng; const data = { ...call, + gtaMapPosition: null, + gtaMapPositionId: null, position: { id: call.positionId ?? "", ...latLng }, }; - handleCallStateUpdate(call.id, { ...data }); + handleCallStateUpdate(call.id, data); const { json } = await execute({ path: `/911-calls/${call.id}`, method: "PUT", data: { + gtaMapPosition: null, + gtaMapPositionId: null, position: data.position, }, }); @@ -107,9 +111,10 @@ export function RenderActiveCalls() { <> {!hiddenItems[MapItem.CALLS] && callsWithPosition.map((call) => { - const callGtaPosition = call.gtaMapPosition - ? convertToMap(call.gtaMapPosition.x, call.gtaMapPosition.y, map) - : null; + const callGtaPosition = + call.gtaMapPosition && call.gtaMapPositionId + ? convertToMap(call.gtaMapPosition.x, call.gtaMapPosition.y, map) + : null; const callPosition = call.position as { lat: number; lng: number }; const position = callGtaPosition ?? callPosition; @@ -118,15 +123,12 @@ export function RenderActiveCalls() { eventHandlers={{ moveend: (e) => handleMoveEnd(e, call), }} - // must be managed by in-game updates - draggable={!call.gtaMapPosition} + draggable key={call.id} position={position} icon={CALL_ICON} > - {!call.gtaMapPosition ? ( - {t("dragToMoveCallBlip")} - ) : null} + {t("dragToMoveCallBlip")}