mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-22 15:07:41 +08:00
962d36323b
* add mock data * add helpers * page objects * updated specs * remove PENDING_REWARITE * formatting
55 lines
1.2 KiB
TypeScript
55 lines
1.2 KiB
TypeScript
/**
|
|
* Debug replay status factory.
|
|
*
|
|
* The Replay page polls /api/debug_replay/status every 1s via SWR.
|
|
* The no-session state shows an empty state; the active state
|
|
* renders the live camera image + debug toggles + objects/messages
|
|
* tabs. Used by replay.spec.ts.
|
|
*/
|
|
|
|
export type DebugReplayStatus = {
|
|
active: boolean;
|
|
replay_camera: string | null;
|
|
source_camera: string | null;
|
|
start_time: number | null;
|
|
end_time: number | null;
|
|
live_ready: boolean;
|
|
};
|
|
|
|
export function noSessionStatus(): DebugReplayStatus {
|
|
return {
|
|
active: false,
|
|
replay_camera: null,
|
|
source_camera: null,
|
|
start_time: null,
|
|
end_time: null,
|
|
live_ready: false,
|
|
};
|
|
}
|
|
|
|
export function activeSessionStatus(
|
|
opts: {
|
|
camera?: string;
|
|
sourceCamera?: string;
|
|
startTime?: number;
|
|
endTime?: number;
|
|
liveReady?: boolean;
|
|
} = {},
|
|
): DebugReplayStatus {
|
|
const {
|
|
camera = "front_door",
|
|
sourceCamera = "front_door",
|
|
startTime = Date.now() / 1000 - 3600,
|
|
endTime = Date.now() / 1000 - 1800,
|
|
liveReady = true,
|
|
} = opts;
|
|
return {
|
|
active: true,
|
|
replay_camera: camera,
|
|
source_camera: sourceCamera,
|
|
start_time: startTime,
|
|
end_time: endTime,
|
|
live_ready: liveReady,
|
|
};
|
|
}
|