diff --git a/web/src/components/player/PreviewPlayer.tsx b/web/src/components/player/PreviewPlayer.tsx
index eb2665e4d..82b9ca8e7 100644
--- a/web/src/components/player/PreviewPlayer.tsx
+++ b/web/src/components/player/PreviewPlayer.tsx
@@ -323,7 +323,7 @@ function PreviewVideoPlayer({
{cameraPreviews && !currentPreview && (
- No Preview Found
+ No Preview Found for {camera.replaceAll("_", " ")}
)}
{firstLoad && }
@@ -536,7 +536,7 @@ function PreviewFramesPlayer({
/>
{previewFrames?.length === 0 && (
- No Preview Found
+ No Preview Found for {camera.replaceAll("_", " ")}
)}
{firstLoad && }
diff --git a/web/src/views/events/RecordingView.tsx b/web/src/views/events/RecordingView.tsx
index e9743eeec..f42e83a17 100644
--- a/web/src/views/events/RecordingView.tsx
+++ b/web/src/views/events/RecordingView.tsx
@@ -196,6 +196,19 @@ export function RecordingView({
updateSelectedSegment,
]);
+ const manuallySetCurrentTime = useCallback(
+ (time: number) => {
+ setCurrentTime(time);
+
+ if (currentTimeRange.after <= time && currentTimeRange.before >= time) {
+ mainControllerRef.current?.seekToTimestamp(time, true);
+ } else {
+ updateSelectedSegment(time, true);
+ }
+ },
+ [currentTimeRange, updateSelectedSegment],
+ );
+
useEffect(() => {
if (!scrubbing) {
if (Math.abs(currentTime - playerTime) > 10) {
@@ -580,6 +593,7 @@ export function RecordingView({
currentTime={currentTime}
exportRange={exportMode == "timeline" ? exportRange : undefined}
setCurrentTime={setCurrentTime}
+ manuallySetCurrentTime={manuallySetCurrentTime}
setScrubbing={setScrubbing}
setExportRange={setExportRange}
/>
@@ -597,6 +611,7 @@ type TimelineProps = {
currentTime: number;
exportRange?: TimeRange;
setCurrentTime: React.Dispatch>;
+ manuallySetCurrentTime: (time: number, force: boolean) => void;
setScrubbing: React.Dispatch>;
setExportRange: (range: TimeRange) => void;
};
@@ -609,6 +624,7 @@ function Timeline({
currentTime,
exportRange,
setCurrentTime,
+ manuallySetCurrentTime,
setScrubbing,
setExportRange,
}: TimelineProps) {
@@ -693,9 +709,10 @@ function Timeline({
event={review}
currentTime={currentTime}
onClick={() => {
- setScrubbing(true);
- setCurrentTime(review.start_time - REVIEW_PADDING);
- setScrubbing(false);
+ manuallySetCurrentTime(
+ review.start_time - REVIEW_PADDING,
+ true,
+ );
}}
/>
);