diff --git a/front/src/modules/timesStops/TimesStopsOutput.tsx b/front/src/modules/timesStops/TimesStopsOutput.tsx index 000939342ca..04701239946 100644 --- a/front/src/modules/timesStops/TimesStopsOutput.tsx +++ b/front/src/modules/timesStops/TimesStopsOutput.tsx @@ -86,10 +86,13 @@ const TimesStopsOutput = ({ const [pinnedState, setPinnedState] = useState<{ edit: PendingEdit; forSchedule: Train['schedule']; + forTrainId: Train['id']; } | null>(null); const optimisticEdit = - pinnedState !== null && pinnedState.forSchedule === selectedTrain.schedule + pinnedState !== null && + pinnedState.forSchedule === selectedTrain.schedule && + pinnedState.forTrainId === selectedTrain.id ? pinnedState.edit : null; @@ -137,7 +140,7 @@ const TimesStopsOutput = ({ const commitEdit = (edit: PendingEdit, updateFn: () => Promise) => { if (isAwaitingSimulation) return; - setPinnedState({ edit, forSchedule: selectedTrain.schedule }); + setPinnedState({ edit, forSchedule: selectedTrain.schedule, forTrainId: selectedTrain.id }); preEditPathItemTimesRef.current = simulatedPathItemTimes; isTrainSimulationPendingRef.current = true; updateFn().catch(() => {