Files
frigate/web/src/components/config-form/section-configs/birdseye.ts
T

70 lines
1.7 KiB
TypeScript
Raw Normal View History

2026-02-27 09:55:36 -06:00
import type { SectionConfigOverrides } from "./types";
const birdseye: SectionConfigOverrides = {
base: {
sectionDocs: "/configuration/birdseye",
2026-03-29 16:25:40 -05:00
messages: [
{
key: "object-tracking-detect-disabled",
messageKey: "configMessages.birdseye.objectTrackingDetectDisabled",
2026-03-29 16:25:40 -05:00
severity: "info",
condition: (ctx) => {
if (ctx.level !== "camera" || !ctx.fullCameraConfig) return false;
const mode = ctx.formData?.mode;
if (!mode || typeof mode !== "object" || Array.isArray(mode)) {
return false;
}
2026-03-29 16:25:40 -05:00
return (
(mode.objects === true || mode.stationary_objects === true) &&
2026-03-29 16:25:40 -05:00
ctx.fullCameraConfig.detect?.enabled === false
);
},
},
],
2026-02-27 09:55:36 -06:00
restartRequired: [],
fieldOrder: ["enabled", "mode", "order"],
2026-05-18 22:52:40 -05:00
hiddenFields: ["order"],
2026-02-27 09:55:36 -06:00
advancedFields: [],
overrideFields: ["enabled", "mode"],
2026-05-11 01:09:50 +08:00
uiSchema: {
mode: {
continuous: { "ui:size": "xs" },
motion: { "ui:size": "xs" },
objects: { "ui:size": "xs" },
stationary_objects: { "ui:size": "xs" },
2026-05-11 01:09:50 +08:00
},
},
2026-02-27 09:55:36 -06:00
},
global: {
fieldOrder: [
"enabled",
"restream",
"width",
"height",
"quality",
"mode",
"layout",
"inactivity_threshold",
"idle_heartbeat_fps",
],
advancedFields: ["width", "height", "quality", "inactivity_threshold"],
restartRequired: [
"enabled",
"restream",
"width",
"height",
"quality",
"layout.scaling_factor",
"idle_heartbeat_fps",
],
uiSchema: {
mode: {
2026-05-18 22:52:40 -05:00
"ui:after": { render: "BirdseyeCameraReorder" },
2026-02-27 09:55:36 -06:00
},
},
},
};
export default birdseye;