improve no camera view

instead of showing an "add camera" message, show a specific message for empty camera groups when frigate already has cameras added
This commit is contained in:
Josh Hawkins
2026-01-19 08:33:03 -06:00
parent ec5f191187
commit 72eb0352ad
3 changed files with 35 additions and 12 deletions
+22 -11
View File
@@ -447,7 +447,7 @@ export default function LiveDashboardView({
)}
{cameras.length == 0 && !includeBirdseye ? (
<NoCameraView />
<NoCameraView cameraGroup={cameraGroup} />
) : (
<>
{!fullscreen && events && events.length > 0 && (
@@ -666,28 +666,39 @@ export default function LiveDashboardView({
);
}
function NoCameraView() {
function NoCameraView({ cameraGroup }: { cameraGroup?: string }) {
const { t } = useTranslation(["views/live"]);
const { auth } = useContext(AuthContext);
const isAdmin = useIsAdmin();
// Check if this is a restricted user with no cameras in this group
const isDefault = cameraGroup === "default";
const isRestricted = !isAdmin && auth.isAuthenticated;
let type: "default" | "group" | "restricted";
if (isRestricted) {
type = "restricted";
} else if (isDefault) {
type = "default";
} else {
type = "group";
}
return (
<div className="flex size-full items-center justify-center">
<EmptyCard
icon={<BsFillCameraVideoOffFill className="size-8" />}
title={
isRestricted ? t("noCameras.restricted.title") : t("noCameras.title")
title={t(`noCameras.${type}.title`)}
description={t(`noCameras.${type}.description`)}
buttonText={
type !== "restricted" && isDefault
? t(`noCameras.${type}.buttonText`)
: undefined
}
description={
isRestricted
? t("noCameras.restricted.description")
: t("noCameras.description")
link={
type !== "restricted" && isDefault
? "/settings?page=cameraManagement"
: undefined
}
buttonText={!isRestricted ? t("noCameras.buttonText") : undefined}
link={!isRestricted ? "/settings?page=cameraManagement" : undefined}
/>
</div>
);