mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-09 04:35:25 +03:00
Add reviews to frontend
This commit is contained in:
parent
849f343b25
commit
e34670fedc
@ -1,5 +1,6 @@
|
|||||||
"""Maintain review segments in db."""
|
"""Maintain review segments in db."""
|
||||||
|
|
||||||
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
@ -138,7 +139,12 @@ class ReviewSegmentMaintainer(threading.Thread):
|
|||||||
|
|
||||||
def end_segment(self, segment: PendingReviewSegment) -> None:
|
def end_segment(self, segment: PendingReviewSegment) -> None:
|
||||||
"""End segment."""
|
"""End segment."""
|
||||||
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, segment.end())
|
seg_data = segment.end()
|
||||||
|
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, seg_data)
|
||||||
|
self.requestor.send_data(
|
||||||
|
"reviews",
|
||||||
|
json.dumps({"type": "end", "review": {k.name: v for k, v in seg_data.items()}}),
|
||||||
|
)
|
||||||
self.active_review_segments[segment.camera] = None
|
self.active_review_segments[segment.camera] = None
|
||||||
|
|
||||||
def update_existing_segment(
|
def update_existing_segment(
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import {
|
|||||||
import { produce, Draft } from "immer";
|
import { produce, Draft } from "immer";
|
||||||
import useWebSocket, { ReadyState } from "react-use-websocket";
|
import useWebSocket, { ReadyState } from "react-use-websocket";
|
||||||
import { FrigateConfig } from "@/types/frigateConfig";
|
import { FrigateConfig } from "@/types/frigateConfig";
|
||||||
import { FrigateEvent, ToggleableSetting } from "@/types/ws";
|
import { FrigateEvent, FrigateReview, ToggleableSetting } from "@/types/ws";
|
||||||
import { FrigateStats } from "@/types/stats";
|
import { FrigateStats } from "@/types/stats";
|
||||||
|
|
||||||
type ReducerState = {
|
type ReducerState = {
|
||||||
@ -218,7 +218,14 @@ export function useRestart(): {
|
|||||||
export function useFrigateEvents(): { payload: FrigateEvent } {
|
export function useFrigateEvents(): { payload: FrigateEvent } {
|
||||||
const {
|
const {
|
||||||
value: { payload },
|
value: { payload },
|
||||||
} = useWs(`events`, "");
|
} = useWs("events", "");
|
||||||
|
return { payload };
|
||||||
|
}
|
||||||
|
|
||||||
|
export function useFrigateReviews(): { payload: FrigateReview } {
|
||||||
|
const {
|
||||||
|
value: { payload },
|
||||||
|
} = useWs("reviews", "");
|
||||||
return { payload };
|
return { payload };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
import { ReviewSegment } from "./review";
|
||||||
|
|
||||||
type FrigateObjectState = {
|
type FrigateObjectState = {
|
||||||
id: string;
|
id: string;
|
||||||
camera: string;
|
camera: string;
|
||||||
@ -27,6 +29,11 @@ type FrigateObjectState = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export interface FrigateReview {
|
||||||
|
type: "new" | "update" | "end";
|
||||||
|
review: ReviewSegment;
|
||||||
|
}
|
||||||
|
|
||||||
export interface FrigateEvent {
|
export interface FrigateEvent {
|
||||||
type: "new" | "update" | "end";
|
type: "new" | "update" | "end";
|
||||||
before: FrigateObjectState;
|
before: FrigateObjectState;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user