Skip to content

Commit 8a18c24

Browse files
committed
Stop playback when slider is moved
1 parent 0097c64 commit 8a18c24

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

ui/src/components/Sim/modules/TimelineSlider.tsx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,22 @@ import { type FC, useCallback } from "react";
33

44
export const TimelineSlider: FC = () => {
55
const {
6-
state: { events, currentTime, minTime, maxTime },
6+
state: { events, currentTime, minTime, maxTime, isPlaying },
77
dispatch,
88
} = useSimContext();
99

1010
const handleTimeChange = useCallback(
1111
(event: React.ChangeEvent<HTMLInputElement>) => {
1212
const newTime = parseFloat(event.target.value);
13+
14+
// Pause playback when slider is moved
15+
if (isPlaying) {
16+
dispatch({ type: "SET_TIMELINE_PLAYING", payload: false });
17+
}
18+
1319
dispatch({ type: "SET_TIMELINE_TIME", payload: newTime });
1420
},
15-
[dispatch],
21+
[dispatch, isPlaying],
1622
);
1723

1824
const hasEvents = events.length > 0;
@@ -26,7 +32,8 @@ export const TimelineSlider: FC = () => {
2632
: `${relativeTime.toFixed(1)}s`;
2733
};
2834

29-
const currentPercent = timeRange > 0 ? ((currentTime - minTime) / timeRange) * 100 : 0;
35+
const currentPercent =
36+
timeRange > 0 ? ((currentTime - minTime) / timeRange) * 100 : 0;
3037

3138
return (
3239
<div

0 commit comments

Comments
 (0)