More detail pane tweaks (#20681)

* More detail pane tweaks

* remove unneeded check

* add ability to submit frames to frigate+

* rename object lifecycle to tracking details

* add object mask creation to lifecycle item menu

* change tracking details icon
This commit is contained in:
Josh Hawkins
2025-10-26 13:12:20 -05:00
committed by GitHub
parent 43706eb48d
commit 5715ed62ad
18 changed files with 224 additions and 117 deletions
@@ -1,7 +1,7 @@
import { Recording } from "@/types/record";
import { DynamicPlayback } from "@/types/playback";
import { PreviewController } from "../PreviewPlayer";
import { TimeRange, ObjectLifecycleSequence } from "@/types/timeline";
import { TimeRange, TrackingDetailsSequence } from "@/types/timeline";
import { calculateInpointOffset } from "@/utils/videoUtil";
type PlayerMode = "playback" | "scrubbing";
@@ -12,7 +12,7 @@ export class DynamicVideoController {
private playerController: HTMLVideoElement;
private previewController: PreviewController;
private setNoRecording: (noRecs: boolean) => void;
private setFocusedItem: (timeline: ObjectLifecycleSequence) => void;
private setFocusedItem: (timeline: TrackingDetailsSequence) => void;
private playerMode: PlayerMode = "playback";
// playback
@@ -29,7 +29,7 @@ export class DynamicVideoController {
annotationOffset: number,
defaultMode: PlayerMode,
setNoRecording: (noRecs: boolean) => void,
setFocusedItem: (timeline: ObjectLifecycleSequence) => void,
setFocusedItem: (timeline: TrackingDetailsSequence) => void,
) {
this.camera = camera;
this.playerController = playerController;
@@ -132,7 +132,7 @@ export class DynamicVideoController {
});
}
seekToTimelineItem(timeline: ObjectLifecycleSequence) {
seekToTimelineItem(timeline: TrackingDetailsSequence) {
this.playerController.pause();
this.seekToTimestamp(timeline.timestamp + this.annotationOffset);
this.setFocusedItem(timeline);