setting last selected camera from live view

This commit is contained in:
immkg 2024-08-18 18:50:21 +05:30
parent e65bc67dbc
commit a9a9c8fc8d

View File

@ -8,12 +8,15 @@ import { FrigateConfig } from "@/types/frigateConfig";
import LiveBirdseyeView from "@/views/live/LiveBirdseyeView"; import LiveBirdseyeView from "@/views/live/LiveBirdseyeView";
import LiveCameraView from "@/views/live/LiveCameraView"; import LiveCameraView from "@/views/live/LiveCameraView";
import LiveDashboardView from "@/views/live/LiveDashboardView"; import LiveDashboardView from "@/views/live/LiveDashboardView";
import { useGlobalState } from "@/context/global-state-provider";
import { useEffect, useMemo, useRef } from "react"; import { useEffect, useMemo, useRef } from "react";
import useSWR from "swr"; import useSWR from "swr";
function Live() { function Live() {
const { data: config } = useSWR<FrigateConfig>("config"); const { data: config } = useSWR<FrigateConfig>("config");
const { setLastSelectedCamera } = useGlobalState();
// selection // selection
const [selectedCameraName, setSelectedCameraName] = useHashState(); const [selectedCameraName, setSelectedCameraName] = useHashState();
@ -22,6 +25,11 @@ function Live() {
"default" as string, "default" as string,
); );
const handleCameraChange = (camera: string) => {
setLastSelectedCamera(camera);
setSelectedCameraName(camera);
};
useSearchEffect("group", (cameraGroup) => { useSearchEffect("group", (cameraGroup) => {
if (config && cameraGroup) { if (config && cameraGroup) {
const group = config.camera_groups[cameraGroup]; const group = config.camera_groups[cameraGroup];
@ -115,7 +123,7 @@ function Live() {
cameras={cameras} cameras={cameras}
cameraGroup={cameraGroup ?? "default"} cameraGroup={cameraGroup ?? "default"}
includeBirdseye={includesBirdseye} includeBirdseye={includesBirdseye}
onSelectCamera={setSelectedCameraName} onSelectCamera={handleCameraChange}
fullscreen={fullscreen} fullscreen={fullscreen}
toggleFullscreen={toggleFullscreen} toggleFullscreen={toggleFullscreen}
/> />