Camera groups (#10223)

* Add camera group config

* Add saving of camera group selection

* Implement camera groups in config and live view

* Fix warnings

* Add tooltips to camera group items on desktop

* Add camera groups to the filters for events

* Fix tooltips and group selection

* Cleanup
This commit is contained in:
Nicolas Mowen
2024-03-04 16:18:30 -07:00
committed by GitHub
parent 38e76666e7
commit b4b2162ada
11 changed files with 247 additions and 40 deletions

View File

@@ -7,17 +7,26 @@ import useSWR from "swr";
function Live() {
const { data: config } = useSWR<FrigateConfig>("config");
const [selectedCameraName, setSelectedCameraName] = useOverlayState("camera");
const [cameraGroup] = useOverlayState("cameraGroup");
const cameras = useMemo(() => {
if (!config) {
return [];
}
if (cameraGroup) {
const group = config.camera_groups[cameraGroup];
return Object.values(config.cameras)
.filter((conf) => conf.enabled && group.cameras.includes(conf.name))
.sort((aConf, bConf) => aConf.ui.order - bConf.ui.order);
}
return Object.values(config.cameras)
.filter((conf) => conf.ui.dashboard && conf.enabled)
.sort((aConf, bConf) => aConf.ui.order - bConf.ui.order);
}, [config]);
}, [config, cameraGroup]);
const selectedCamera = useMemo(
() => cameras.find((cam) => cam.name == selectedCameraName),