2025-09-12 14:19:29 +03:00
|
|
|
import { useContext } from "react";
|
|
|
|
|
import { AuthContext } from "@/context/auth-context";
|
|
|
|
|
import useSWR from "swr";
|
|
|
|
|
import { FrigateConfig } from "@/types/frigateConfig";
|
|
|
|
|
|
|
|
|
|
export function useAllowedCameras() {
|
|
|
|
|
const { auth } = useContext(AuthContext);
|
|
|
|
|
const { data: config } = useSWR<FrigateConfig>("config", {
|
|
|
|
|
revalidateOnFocus: false,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (
|
|
|
|
|
auth.user?.role === "viewer" ||
|
|
|
|
|
auth.user?.role === "admin" ||
|
2026-02-27 07:27:31 +03:00
|
|
|
!auth.isAuthenticated // anonymous port 5000
|
2025-09-12 14:19:29 +03:00
|
|
|
) {
|
|
|
|
|
// return all cameras
|
|
|
|
|
return config?.cameras ? Object.keys(config.cameras) : [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return auth.allowedCameras || [];
|
|
|
|
|
}
|