From 8f3457aa662aa0f7f3ed4f3d803c9d207671a5a4 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Tue, 30 Jan 2024 10:08:23 -0700 Subject: [PATCH] simplify and fix layout system for timeline --- web/src/pages/History.tsx | 2 +- web/src/views/history/DesktopTimelineView.tsx | 174 +++++++++--------- 2 files changed, 89 insertions(+), 87 deletions(-) diff --git a/web/src/pages/History.tsx b/web/src/pages/History.tsx index f2be21c68..5bfff0426 100644 --- a/web/src/pages/History.tsx +++ b/web/src/pages/History.tsx @@ -268,7 +268,7 @@ function TimelineViewer({ return ( onClose()}> - + {timelineData && playback && ( -
+
+
-
- {timelineStack.playbackItems.map((timeline) => { - const isInitiallySelected = - initialPlayback.range.start == timeline.range.start; - const isSelected = - timeline.range.start == selectedPlayback.range.start; - const graphData = timelineGraphData[timeline.range.start]; +
+
+ {timelineStack.playbackItems.map((timeline) => { + const isInitiallySelected = + initialPlayback.range.start == timeline.range.start; + const isSelected = + timeline.range.start == selectedPlayback.range.start; + const graphData = timelineGraphData[timeline.range.start]; - return ( -
- {isSelected ? ( -
- + {isSelected ? ( +
+ { + controllerRef.current?.scrubToTimestamp( + data.time.getTime() / 1000 + ); + setTimelineTime(data.time.getTime() / 1000); + }} + timechangedHandler={(data) => { + controllerRef.current?.seekToTimestamp( + data.time.getTime() / 1000, + true + ); + }} + /> + {isSelected && graphData && ( +
+ { - controllerRef.current?.scrubToTimestamp( - data.time.getTime() / 1000 - ); - setTimelineTime(data.time.getTime() / 1000); - }} - timechangedHandler={(data) => { - controllerRef.current?.seekToTimestamp( - data.time.getTime() / 1000, - true - ); + ]} + objects={graphData.objects} + start={graphData.motion[0].x.getTime()} + end={graphData.motion.at(-1)!!.x.getTime()} + /> +
+ )} +
+ ) : ( + { + setSelectedPlayback(timeline); + + let startTs; + if (timeline.timelineItems.length > 0) { + startTs = selectedPlayback.timelineItems[0].timestamp; + } else { + startTs = timeline.range.start; + } + + controllerRef.current?.seekToTimestamp(startTs, true); }} /> - {isSelected && graphData && ( -
- -
- )} -
- ) : ( - { - setSelectedPlayback(timeline); - - let startTs; - if (timeline.timelineItems.length > 0) { - startTs = selectedPlayback.timelineItems[0].timestamp; - } else { - startTs = timeline.range.start; - } - - controllerRef.current?.seekToTimestamp(startTs, true); - }} - /> - )} -
- ); - })} + )} +
+ ); + })} +
);