Skip to content

Commit

Permalink
Allow specifying group
Browse files Browse the repository at this point in the history
  • Loading branch information
NickM-27 committed Jun 4, 2024
1 parent 70abf0a commit c40d878
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 4 deletions.
11 changes: 8 additions & 3 deletions web/src/components/card/AnimatedEventCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,12 @@ import { baseUrl } from "@/api/baseUrl";

type AnimatedEventCardProps = {
event: ReviewSegment;
selectedGroup?: string;
};
export function AnimatedEventCard({ event }: AnimatedEventCardProps) {
export function AnimatedEventCard({
event,
selectedGroup,
}: AnimatedEventCardProps) {
const { data: config } = useSWR<FrigateConfig>("config");

const currentHour = useMemo(() => isCurrentHour(event.start_time), [event]);
Expand Down Expand Up @@ -53,7 +57,8 @@ export function AnimatedEventCard({ event }: AnimatedEventCardProps) {

const navigate = useNavigate();
const onOpenReview = useCallback(() => {
navigate("review", {
const url = selectedGroup ? `review?group=${selectedGroup}` : "review";
navigate(url, {
state: {
severity: event.severity,
recording: {
Expand All @@ -64,7 +69,7 @@ export function AnimatedEventCard({ event }: AnimatedEventCardProps) {
},
});
axios.post(`reviews/viewed`, { ids: [event.id] });
}, [navigate, event]);
}, [navigate, selectedGroup, event]);

// image behavior

Expand Down
13 changes: 13 additions & 0 deletions web/src/pages/Events.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,19 @@ export default function Events() {
const [reviewFilter, setReviewFilter, reviewSearchParams] =
useApiFilter<ReviewFilter>();

useSearchEffect("group", (reviewGroup) => {
if (config && reviewGroup) {
const group = config.camera_groups[reviewGroup];

if (group) {
setReviewFilter({
...reviewFilter,
cameras: group.cameras,
});
}
}
});

const onUpdateFilter = useCallback(
(newFilter: ReviewFilter) => {
setReviewFilter(newFilter);
Expand Down
8 changes: 7 additions & 1 deletion web/src/views/live/LiveDashboardView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,13 @@ export default function LiveDashboardView({
<TooltipProvider>
<div className="flex items-center gap-2 px-1">
{events.map((event) => {
return <AnimatedEventCard key={event.id} event={event} />;
return (
<AnimatedEventCard
key={event.id}
event={event}
selectedGroup={cameraGroup}
/>
);
})}
</div>
</TooltipProvider>
Expand Down

0 comments on commit c40d878

Please sign in to comment.