mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-03-10 10:33:11 +03:00
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* debug replay implementation * fix masks after dev rebase * fix squash merge issues * fix * fix * fix * no need to write debug replay camera to config * camera and filter button and dropdown * add filters * add ability to edit motion and object config for debug replay * add debug draw overlay to debug replay * add guard to prevent crash when camera is no longer in camera_states * fix overflow due to radix absolutely positioned elements * increase number of messages * ensure deep_merge replaces existing list values when override is true * add back button * add debug replay to explore and review menus * clean up * clean up * update instructions to prevent exposing exception info * fix typing * refactor output logic * refactor with helper function * move init to function for consistency
26 lines
794 B
TypeScript
26 lines
794 B
TypeScript
import { useContext } from "react";
|
|
import { AuthContext } from "@/context/auth-context";
|
|
import useSWR from "swr";
|
|
import { FrigateConfig } from "@/types/frigateConfig";
|
|
import { isReplayCamera } from "@/utils/cameraUtil";
|
|
|
|
export function useAllowedCameras() {
|
|
const { auth } = useContext(AuthContext);
|
|
const { data: config } = useSWR<FrigateConfig>("config", {
|
|
revalidateOnFocus: false,
|
|
});
|
|
|
|
if (
|
|
auth.user?.role === "viewer" ||
|
|
auth.user?.role === "admin" ||
|
|
!auth.isAuthenticated // anonymous internal port
|
|
) {
|
|
// return all cameras, excluding replay cameras
|
|
return config?.cameras
|
|
? Object.keys(config.cameras).filter((name) => !isReplayCamera(name))
|
|
: [];
|
|
}
|
|
|
|
return (auth.allowedCameras || []).filter((name) => !isReplayCamera(name));
|
|
}
|